diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2008-05-20 20:24:44 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2008-05-20 20:24:44 (GMT) |
commit | 988e907b113c992cd2878705a5b98b499a4ccf41 (patch) | |
tree | 31b669eff3d8afade2cc50fa621d5559bb4c945c /c++/src/H5IdComponent.h | |
parent | 980d1837908aa700efcf7edc0be62a9fc207c6ed (diff) | |
download | hdf5-988e907b113c992cd2878705a5b98b499a4ccf41.zip hdf5-988e907b113c992cd2878705a5b98b499a4ccf41.tar.gz hdf5-988e907b113c992cd2878705a5b98b499a4ccf41.tar.bz2 |
[svn-r15046] 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.
Also fixed bugzilla 1045: revised Attribute::write and Attribute::read
wrappers to handle memory allocation/deallocation properly. (bugzilla 1045)
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Diffstat (limited to 'c++/src/H5IdComponent.h')
-rw-r--r-- | c++/src/H5IdComponent.h | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h index facdefd..c34b2da 100644 --- a/c++/src/H5IdComponent.h +++ b/c++/src/H5IdComponent.h @@ -44,16 +44,14 @@ class H5_DLLCPP IdComponent { // Assignment operator. IdComponent& operator=( const IdComponent& rhs ); - 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; + // Opens the HDF5 object referenced. + hid_t p_dereference(void* ref); - // Open a referenced HDF5 object. - void dereference(IdComponent& obj, void* ref); + // Gets the identifier of this object. + virtual hid_t getId () const = 0; // Sets the identifier of this object to a new value. - void setId(const hid_t new_id); + virtual void setId(const hid_t new_id) = 0; // Creates an object to hold an HDF5 identifier. IdComponent( const hid_t h5_id ); @@ -61,9 +59,6 @@ class H5_DLLCPP IdComponent { // Copy constructor: makes copy of the original IdComponent object. IdComponent( const IdComponent& original ); - // Gets the value of IdComponent's data member. - virtual hid_t getId () const; - #ifndef DOXYGEN_SHOULD_SKIP_THIS // Pure virtual function for there are various H5*close for the // subclasses. @@ -83,7 +78,6 @@ class H5_DLLCPP IdComponent { protected: #ifndef DOXYGEN_SHOULD_SKIP_THIS - hid_t id; // HDF5 object id // Default constructor. IdComponent(); @@ -91,23 +85,8 @@ class H5_DLLCPP IdComponent { // Gets the name of the file, in which an HDF5 object belongs. H5std_string p_get_file_name() const; - // Gets the id of the H5 file in which the given object is located. - hid_t p_get_file_id(); - - // 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; - void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; // will be removed - -#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; - // Verifies that the given id is valid. - bool p_valid_id(const hid_t obj_id) const; + static bool p_valid_id(const hid_t obj_id); #endif // DOXYGEN_SHOULD_SKIP_THIS |