HDF5Creator.hpp

00001 #ifndef __FIBER_HDF5CREATOR_HPP
00002 #define __FIBER_HDF5CREATOR_HPP "Created 27.02.2001 21:42:27 by werner"
00003 
00004 #include <F5/F5R.h>
00005 #include <F5/F5private.h>
00006 #include <field/MemArray.hpp>
00007 #include <field/CreativeArray.hpp>
00008 #include "TypeRegistry.hpp"
00009 
00010 #include <memcore/Loader.hpp>
00011 
00012 namespace Fiber
00013 {
00014 
00018 class   HDF5Creator : public Creator<MemBase>
00019 {
00020 protected:
00021         hid_t   hid;
00022         int     nDimensions;
00023         index_t dims[FIBER_MAX_RANK];
00024 
00025         volatile long loader_cnt;
00026 
00027 public:
00032         string  path_info;
00033 
00034         RefPtr<LoaderProgress> LP;
00035 
00039         HDF5Creator(const RefPtr<LoaderProgress>&BLP, 
00040                     const RefPtr<FiberTypeBase>&MyFiberType, hid_t field_id,
00041                     const WeakPtr<Cache>&theCache = MemCore::Cache::MemCache() );
00042 
00043         ~HDF5Creator();
00044 
00049         override bool release();
00050 
00051         override const type_info&getType();
00052 
00058         override RefPtr<MemBase> create();
00059 };
00060 
00061 
00062 } // namespace Fiber
00063 
00064 
00065 #endif // __FIBER_HDF5CREATOR_HPP
00066