[svn-r12795] Purpose: Fixing bug

Description:
    Wrappers of H5Rcreate had incorrect prototypes.

Solution:
    Added these overloaded functions for H5Rcreate wrapper to IdComponent:
        void reference(void* ref, const char* name, 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;

    Added these overloaded functions for H5Rdereference:
        void dereference(IdComponent& obj, void* ref);
        DataSet(IdComponent& obj, void* ref);
        Group(IdComponent& obj, void* ref);
        DataType(IdComponent& obj, void* ref);

    The incorrect wrappers will be removed after announcing.

Platform tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
    SunOS 5.8 64-bit (sol)
This commit is contained in:
Binh-Minh Ribler
2006-10-22 03:22:30 -05:00
parent 118b1d38fa
commit daa61b5986
13 changed files with 282 additions and 143 deletions

View File

@@ -22,6 +22,7 @@
namespace H5 {
#endif
class DataSpace;
class H5_DLLCPP IdComponent {
public:
// Increment reference counter.
@@ -36,12 +37,20 @@ class H5_DLLCPP IdComponent {
int getCounter(const hid_t obj_id) const;
int getCounter() const;
// Returns an HDF object type, given the object id.
// Returns an HDF5 object type, given the object id.
static H5I_type_t getHDFObjType(const hid_t obj_id);
// Assignment operator
// 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;
// Open a referenced HDF5 object.
void dereference(IdComponent& obj, void* ref);
// Sets the identifier of this object to a new value.
void setId(const hid_t new_id);
@@ -85,7 +94,8 @@ class H5_DLLCPP IdComponent {
hid_t p_get_file_id();
// Creates a reference to an HDF5 object or a dataset region.
void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const;
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
// 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;