[svn-r30309] Purpose: Fix bug HDFFR-9920

Description:
    Rearranged the classes to model the relationship of HDF5 objects more
    accurately.  The changes included:
    - moved CommonFG's methods to Group
    - removed CommonFG from Group's base class list
    - removed CommonFG from H5File's base class list and changed
      "public H5Location" to "public Group" in the base class list
    - CommonFG became unused
    - result of the modified partial class diagram:

                                IdComponent
                                     |
                                H5Location
                                /
                        H5Object
                           |
                        /  /  \
                DadaType Group DataSet
                          |
                        H5File
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
This commit is contained in:
Binh-Minh Ribler
2016-08-19 23:34:26 -05:00
parent c8af99f530
commit c78f1ec882
23 changed files with 1541 additions and 1408 deletions

View File

@@ -17,6 +17,7 @@
#ifndef __H5File_H
#define __H5File_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
@@ -26,7 +27,7 @@ namespace H5 {
It inherits from H5Location and CommonFG.
*/
class H5_DLLCPP H5File : public H5Location, public CommonFG {
class H5_DLLCPP H5File : public Group {
public:
// Creates or opens an HDF5 file.
H5File( const char* name, unsigned int flags,
@@ -80,9 +81,6 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
#ifndef DOXYGEN_SHOULD_SKIP_THIS
void reopen(); // obsolete in favor of reOpen()
// Gets the file id
virtual hid_t getLocId() const;
// Creates an H5File using an existing file id. Not recommended
// in applications.
H5File(hid_t existing_id);
@@ -95,6 +93,9 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
// Throw file exception.
virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
// for CommonFG to get the file id.
virtual hid_t getLocId() const;
// Default constructor
H5File();
@@ -125,3 +126,4 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
}
#endif
#endif // __H5File_H