00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef _CommonFG_H
00022 #define _CommonFG_H
00023 
00024 #ifndef H5_NO_NAMESPACE
00025 namespace H5 {
00026 #endif
00027 
00028 class Group;
00029 class H5File;
00030 class ArrayType;
00031 class VarLenType;
00032 class H5_DLLCPP CommonFG {
00033    public:
00034         
00035         
00036         Group createGroup(const char* name, size_t size_hint = 0) const;
00037         Group createGroup(const H5std_string& name, size_t size_hint = 0) const;
00038 
00039         
00040         
00041         Group openGroup(const char* name) const;
00042         Group openGroup(const H5std_string& name) const;
00043 
00044         
00045         DataSet createDataSet(const char* name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
00046         DataSet createDataSet(const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
00047 
00048         
00049         DataSet openDataSet(const char* name) const;
00050         DataSet openDataSet(const H5std_string& name) const;
00051 
00052         
00053         H5std_string getComment(const char* name, size_t bufsize=256) const;
00054         H5std_string getComment(const H5std_string& name, size_t bufsize=256) const;
00055 
00056         
00057         void removeComment(const char* name) const;
00058         void removeComment(const H5std_string& name) const;
00059 
00060         
00061         void setComment(const char* name, const char* comment) const;
00062         void setComment(const H5std_string& name, const H5std_string& comment) const;
00063 
00064         
00065         H5std_string getLinkval(const char* link_name, size_t size=0) const;
00066         H5std_string getLinkval(const H5std_string& link_name, size_t size=0) const;
00067 
00068         
00069         hsize_t getNumObjs() const;
00070 
00071         
00072         
00073         ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
00074         H5std_string getObjnameByIdx(hsize_t idx) const;
00075 
00076 #ifndef H5_NO_DEPRECATED_SYMBOLS
00077         
00078         
00079         H5G_obj_t getObjTypeByIdx(hsize_t idx) const;
00080         H5G_obj_t getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const;
00081 
00082         
00083         
00084         void getObjinfo(const char* name, hbool_t follow_link, H5G_stat_t& statbuf) const;
00085         void getObjinfo(const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
00086         void getObjinfo(const char* name, H5G_stat_t& statbuf) const;
00087         void getObjinfo(const H5std_string& name, H5G_stat_t& statbuf) const;
00088 
00089         
00090         
00091         int iterateElems(const char* name, int *idx, H5G_iterate_t op, void *op_data);
00092         int iterateElems(const H5std_string& name, int *idx, H5G_iterate_t op, void *op_data);
00093 #endif 
00094 
00095         
00096         
00097         void link(H5L_type_t link_type, const char* curr_name, const char* new_name) const;
00098         void link(H5L_type_t link_type, const H5std_string& curr_name, const H5std_string& new_name) const;
00099 
00100         
00101         void unlink(const char* name) const;
00102         void unlink(const H5std_string& name) const;
00103 
00104         
00105         void mount(const char* name, H5File& child, PropList& plist) const;
00106         void mount(const H5std_string& name, H5File& child, PropList& plist) const;
00107 
00108         
00109         void unmount(const char* name) const;
00110         void unmount(const H5std_string& name) const;
00111 
00112         
00113         void move(const char* src, const char* dst) const;
00114         void move(const H5std_string& src, const H5std_string& dst) const;
00115 
00116         
00117         DataType openDataType(const char* name) const;
00118         DataType openDataType(const H5std_string& name) const;
00119 
00120         
00121         ArrayType openArrayType(const char* name) const;
00122         ArrayType openArrayType(const H5std_string& name) const;
00123 
00124         
00125         CompType openCompType(const char* name) const;
00126         CompType openCompType(const H5std_string& name) const;
00127 
00128         
00129         EnumType openEnumType(const char* name) const;
00130         EnumType openEnumType(const H5std_string& name) const;
00131 
00132         
00133         IntType openIntType(const char* name) const;
00134         IntType openIntType(const H5std_string& name) const;
00135 
00136         
00137         FloatType openFloatType(const char* name) const;
00138         FloatType openFloatType(const H5std_string& name) const;
00139 
00140         
00141         StrType openStrType(const char* name) const;
00142         StrType openStrType(const H5std_string& name) const;
00143 
00144         
00145         VarLenType openVarLenType(const char* name) const;
00146         VarLenType openVarLenType(const H5std_string& name) const;
00147 
00148 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00149 
00150 
00151         virtual hid_t getLocId() const = 0;
00152 
00153 #endif // DOXYGEN_SHOULD_SKIP_THIS
00154 
00156         virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const = 0;
00157 
00158         
00159         CommonFG();
00160 
00161         
00162         virtual ~CommonFG();
00163 
00164 }; 
00165 
00166 #ifndef H5_NO_NAMESPACE
00167 }
00168 #endif
00169 #endif
00170