diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2008-07-02 14:44:57 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2008-07-02 14:44:57 (GMT) |
commit | d9533d055c7f306e66e5f972068c77c939d6fc16 (patch) | |
tree | af5d0f7fc67f008e2f718c6913ab3f7baf777abe /c++/src/H5File.h | |
parent | 0e1432a18f999074e48e455aad6ee61c93f27ed1 (diff) | |
download | hdf5-d9533d055c7f306e66e5f972068c77c939d6fc16.zip hdf5-d9533d055c7f306e66e5f972068c77c939d6fc16.tar.gz hdf5-d9533d055c7f306e66e5f972068c77c939d6fc16.tar.bz2 |
[svn-r15308] Purpose: Fixed bugs
Description:
The class hierarchy was revised to address the problem reported in
bugzilla #1068. Classes AbstractDS and Attribute are moved out of
H5Object. Class Attribute now multiply inherits from IdComponent and
AbstractDs and class DataSet from H5Object and AbstractDs.
In addition, data member IdComponent::id was moved into subclasses:
Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Diffstat (limited to 'c++/src/H5File.h')
-rw-r--r-- | c++/src/H5File.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/c++/src/H5File.h b/c++/src/H5File.h index b239efe..92b1e20 100644 --- a/c++/src/H5File.h +++ b/c++/src/H5File.h @@ -89,11 +89,10 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG { // Creates a reference to a named HDF5 object or to a dataset region // in this object. - void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete - - // Creates a reference to a named Hdf5 object in this object. - void* Reference(const char* name) const; // will be obsolete - void* Reference(const H5std_string& name) const; // will be obsolete + void reference(void* ref, const char* name, const DataSpace& dataspace, + H5R_type_t ref_type = H5R_DATASET_REGION) const; + void reference(void* ref, const char* name) const; + void reference(void* ref, const H5std_string& name) const; // Returns this class name virtual H5std_string fromClass () const { return("H5File"); } @@ -110,14 +109,35 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG { // Copy constructor: makes a copy of the original H5File object. H5File(const H5File& original); + // Gets/Sets the HDF5 file id. + virtual hid_t getId() const; + virtual void setId(const hid_t new_id); + // H5File destructor. virtual ~H5File(); private: + hid_t id; // HDF5 file id + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + // This function is private and contains common code between the // constructors taking a string or a char* void p_get_file( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ); + // Creates a reference to an HDF5 object or a dataset region. + void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const; + +#ifndef H5_NO_DEPRECATED_SYMBOLS + // Retrieves the type of object that an object reference points to. + H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const; +#endif /* H5_NO_DEPRECATED_SYMBOLS */ + + // Retrieves a dataspace with the region pointed to selected. + hid_t p_get_region(void *ref, H5R_type_t ref_type) const; + +#endif // DOXYGEN_SHOULD_SKIP_THIS + }; #ifndef H5_NO_NAMESPACE } |