summaryrefslogtreecommitdiffstats
path: root/c++/src/H5IdComponent.h
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2008-07-02 14:44:57 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2008-07-02 14:44:57 (GMT)
commitd9533d055c7f306e66e5f972068c77c939d6fc16 (patch)
treeaf5d0f7fc67f008e2f718c6913ab3f7baf777abe /c++/src/H5IdComponent.h
parent0e1432a18f999074e48e455aad6ee61c93f27ed1 (diff)
downloadhdf5-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/H5IdComponent.h')
-rw-r--r--c++/src/H5IdComponent.h33
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