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 }
00063
00064
00065 #endif // __FIBER_HDF5CREATOR_HPP
00066