HDF5VLenCreator.hpp

00001 #ifndef __FIBER_HDF5VLENCREATOR_HPP
00002 #define __FIBER_HDF5VLENCREATOR_HPP
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 
00019 class   HDF5VLenCreator : public Creator<MemBase>
00020 {
00021 protected:
00022         hid_t   dataset_id;
00023 
00024 public:
00029         string  path_info;
00030 
00031         RefPtr<LoaderProgress> LP;
00032 
00036         HDF5VLenCreator(const RefPtr<SizeInterface>&SI, const RefPtr<LoaderProgress>&BLP, hid_t field_id, 
00037                         const WeakPtr<Cache>&theCache = MemCore::Cache::MemCache() );
00038 
00039 
00040 static  HDF5VLenCreator*New(const RefPtr<SizeInterface>&SI, const RefPtr<LoaderProgress>&BLP, hid_t base_type_id,
00041                             hid_t field_id, 
00042                             const WeakPtr<Cache>&theCache = MemCore::Cache::MemCache() );
00043 
00044         ~HDF5VLenCreator();
00045 };
00046 
00047 
00048 } // namespace Fiber
00049 
00050 
00051 #endif // __FIBER_HDF5VLENCREATOR_HPP
00052