Author: Gilles Filippini <pini@debian.org>
Last-Update: Sun, 1 Jul 2018 21:33:39 +0200
Bug-Debian: https://bugs.debian.org/898567
Description: Fix build against recent Hdf5 lib

--- a/hdf/BufferedHDF2DArray.cpp
+++ b/hdf/BufferedHDF2DArray.cpp
@@ -29,7 +29,7 @@
 
  */
 
-DSLength GetDatasetNDim(H5::Group &parentGroup, std::string datasetName)
+DSLength GetDatasetNDim(H5::CommonFG &parentGroup, std::string datasetName)
 {
     HDFData tmpDataset;
     tmpDataset.InitializeDataset(parentGroup, datasetName);
--- a/hdf/BufferedHDF2DArray.hpp
+++ b/hdf/BufferedHDF2DArray.hpp
@@ -53,7 +53,7 @@ private:
     DSLength rowLength, colLength;
 
 public:
-    BufferedHDF2DArray(H5::Group *_container, std::string _datasetName);
+    BufferedHDF2DArray(H5::CommonFG *_container, std::string _datasetName);
 
     BufferedHDF2DArray();
 
@@ -93,7 +93,7 @@ public:
     void Read(DSLength startX, DSLength endX, DSLength startY, DSLength endY, H5::DataType typeID,
               T *dest);
 
-    void Create(H5::Group *_container, std::string _datasetName, DSLength _rowLength);
+    void Create(H5::CommonFG *_container, std::string _datasetName, DSLength _rowLength);
 
     void TypedCreate(H5::DataSpace &fileSpace, H5::DSetCreatPropList &cparms);
 
@@ -113,7 +113,7 @@ public:
     void Flush(DSLength destRow = static_cast<DSLength>(-1));
 };
 
-DSLength GetDatasetNDim(H5::Group &parentGroup, std::string datasetName);
+DSLength GetDatasetNDim(H5::CommonFG &parentGroup, std::string datasetName);
 
 #define DECLARE_TYPED_WRITE_ROW(T, Pred)                                                       \
     template <>                                                                                \
--- a/hdf/BufferedHDF2DArrayImpl.hpp
+++ b/hdf/BufferedHDF2DArrayImpl.hpp
@@ -7,7 +7,7 @@
 #include <pbdata/utils.hpp>
 
 template <typename T>
-BufferedHDF2DArray<T>::BufferedHDF2DArray(H5::Group *_container, std::string _datasetName)
+BufferedHDF2DArray<T>::BufferedHDF2DArray(H5::CommonFG *_container, std::string _datasetName)
     : HDFData(_container, _datasetName)
 {
 }
@@ -191,7 +191,7 @@ void BufferedHDF2DArray<T>::Read(DSLengt
 }
 
 template <typename T>
-void BufferedHDF2DArray<T>::Create(H5::Group *_container, std::string _datasetName,
+void BufferedHDF2DArray<T>::Create(H5::CommonFG *_container, std::string _datasetName,
                                    DSLength _rowLength)
 {
     container = _container;
--- a/hdf/BufferedHDFArray.hpp
+++ b/hdf/BufferedHDFArray.hpp
@@ -52,7 +52,7 @@ public:
      */
     BufferedHDFArray(int pBufferSize = 32768);
 
-    BufferedHDFArray(H5::Group *_container, std::string _datasetName);
+    BufferedHDFArray(H5::CommonFG *_container, std::string _datasetName);
 
     ~BufferedHDFArray();
 
@@ -72,7 +72,7 @@ public:
 
     void Create(HDFGroup &parentGroup, std::string _datasetName);
 
-    void Create(H5::Group *_container, std::string _datasetName);
+    void Create(H5::CommonFG *_container, std::string _datasetName);
 
     /*
      * Initialize for reading.
--- a/hdf/BufferedHDFArrayImpl.hpp
+++ b/hdf/BufferedHDFArrayImpl.hpp
@@ -20,7 +20,7 @@ BufferedHDFArray<T>::BufferedHDFArray(in
 }
 
 template <typename T>
-BufferedHDFArray<T>::BufferedHDFArray(H5::Group *_container, std::string _datasetName)
+BufferedHDFArray<T>::BufferedHDFArray(H5::CommonFG *_container, std::string _datasetName)
     : HDFData(_container, _datasetName)
 {
     // no-op
@@ -190,7 +190,7 @@ void BufferedHDFArray<T>::Create(HDFGrou
 }
 
 template <typename T>
-void BufferedHDFArray<T>::Create(H5::Group *_container, std::string _datasetName)
+void BufferedHDFArray<T>::Create(H5::CommonFG *_container, std::string _datasetName)
 {
     //
     // Initialize where the dataset will go.
--- a/hdf/HDFAtom.cpp
+++ b/hdf/HDFAtom.cpp
@@ -1,7 +1,7 @@
 #include <hdf/HDFAtom.hpp>
 
 template <>
-void HDFAtom<std::string>::Create(H5::H5Object &object, const std::string &atomName)
+void HDFAtom<std::string>::Create(H5::H5Location &object, const std::string &atomName)
 {
     H5::StrType strType(0, H5T_VARIABLE);
     hsize_t defaultDims[] = {1};
@@ -11,7 +11,7 @@ void HDFAtom<std::string>::Create(H5::H5
 
 #define DEFINE_TYPED_CREATE_ATOM(T, predtype)                                               \
     template <>                                                                             \
-    void HDFAtom<T>::TypedCreate(H5::H5Object &object, const std::string &atomName,         \
+    void HDFAtom<T>::TypedCreate(H5::H5Location &object, const std::string &atomName,         \
                                  H5::DataSpace &defaultDataSpace)                           \
     {                                                                                       \
         attribute = object.createAttribute(atomName.c_str(), (predtype), defaultDataSpace); \
--- a/hdf/HDFAtom.hpp
+++ b/hdf/HDFAtom.hpp
@@ -26,9 +26,9 @@ public:
         }
     }
 
-    H5::H5Object *GetObject() { return NULL; }
+    H5::H5Location *GetObject() { return NULL; }
 
-    int Initialize(H5::H5Object &object, const std::string &attributeName)
+    int Initialize(H5::H5Location &object, const std::string &attributeName)
     {
         attribute = object.openAttribute(attributeName.c_str());
         isInitialized = true;
@@ -45,7 +45,7 @@ public:
         return Initialize(data.dataset, attributeName);
     }
 
-    int Initialize(H5::Group &object, const std::string &attributeName)
+    int Initialize(H5::H5File &object, const std::string &attributeName)
     {
         try {
             attribute = object.openAttribute(attributeName.c_str());
@@ -71,14 +71,14 @@ public:
     // This handles creation of all non-std::string types.  A specialization
     // for std::strings is provided below.
     //
-    void Create(H5::H5Object &object, const std::string &atomName)
+    void Create(H5::H5Location &object, const std::string &atomName)
     {
         hsize_t defaultDims[] = {1};
         H5::DataSpace defaultDataSpace(1, defaultDims);
         TypedCreate(object, atomName, defaultDataSpace);
     }
 
-    void Create(H5::H5Object &object, const std::string &name, const std::string &value)
+    void Create(H5::H5Location &object, const std::string &name, const std::string &value)
     {
         H5::StrType strType(0, value.size());
         attribute = object.createAttribute(name.c_str(), strType, H5::DataSpace(0, NULL));
@@ -86,7 +86,7 @@ public:
         attribute.write(strType, value.c_str());
     }
 
-    void Create(H5::H5Object &object, const std::string &name, std::vector<int> &vect)
+    void Create(H5::H5Location &object, const std::string &name, std::vector<int> &vect)
     {
         hsize_t length = vect.size();
         H5::ArrayType arrayDataType(H5::PredType::NATIVE_INT, 1, &length);
@@ -95,7 +95,7 @@ public:
         attribute.write(H5::PredType::NATIVE_INT, &((vect)[0]));
     }
 
-    void Create(H5::H5Object &object, const std::string &name, const std::vector<std::string> &vect)
+    void Create(H5::H5Location &object, const std::string &name, const std::vector<std::string> &vect)
     {
         hsize_t length = vect.size();
         H5::StrType strType(0, H5T_VARIABLE);
@@ -104,7 +104,7 @@ public:
         attribute.write(strType, &((vect)[0]));
     }
 
-    void TypedCreate(H5::H5Object &object, const std::string &atomName, H5::DataSpace &dataSpace)
+    void TypedCreate(H5::H5Location &object, const std::string &atomName, H5::DataSpace &dataSpace)
     {
         (void)(object);
         (void)(atomName);
@@ -132,11 +132,11 @@ public:
 //
 
 template <>
-void HDFAtom<std::string>::Create(H5::H5Object &object, const std::string &atomName);
+void HDFAtom<std::string>::Create(H5::H5Location &object, const std::string &atomName);
 
 #define DECLARE_TYPED_CREATE_ATOM(T, predtype)                                      \
     template <>                                                                     \
-    void HDFAtom<T>::TypedCreate(H5::H5Object &object, const std::string &atomName, \
+    void HDFAtom<T>::TypedCreate(H5::H5Location &object, const std::string &atomName, \
                                  H5::DataSpace &defaultDataSpace);
 
 DECLARE_TYPED_CREATE_ATOM(int, H5::PredType::NATIVE_INT)
--- a/hdf/HDFAttributable.cpp
+++ b/hdf/HDFAttributable.cpp
@@ -12,7 +12,7 @@ using namespace H5;
 //
 // whereas HDF5 1.10 has for attr_operator_t
 //
-//   typedef void(* H5::attr_operator_t)(H5Object &loc, const H5std_string attr_name, void *operator_data)
+//   typedef void(* H5::attr_operator_t)(H5Location &loc, const H5std_string attr_name, void *operator_data)
 
 template <typename T>
 void CallStoreAttributeName(T &obj, std::string attrName, void *attrList)
@@ -21,7 +21,7 @@ void CallStoreAttributeName(T &obj, std:
     ((std::vector<std::string> *)attrList)->push_back(std::string(attrName));
 }
 
-void HDFAttributable::StoreAttributeNames(H5Object &thisobject,
+void HDFAttributable::StoreAttributeNames(H5Location &thisobject,
                                           const std::vector<std::string> &attributeNames)
 {
     int nAttr = thisobject.getNumAttrs();
@@ -32,14 +32,14 @@ void HDFAttributable::StoreAttributeName
     thisobject.iterateAttrs(&CallStoreAttributeName, bounds, (void *)&attributeNames);
 }
 
-H5Object *HDFAttributable::GetObject() { return NULL; }
+H5Location *HDFAttributable::GetObject() { return NULL; }
 
 int HDFAttributable::ContainsAttribute(const std::string &attributeName)
 {
     size_t i;
     std::vector<std::string> tmpAttributeNames;
     try {
-        H5Object *obj = GetObject();
+        H5Location *obj = GetObject();
         assert(obj != NULL);
         StoreAttributeNames(*obj, tmpAttributeNames);
         for (i = 0; i < tmpAttributeNames.size(); i++) {
--- a/hdf/HDFAttributable.hpp
+++ b/hdf/HDFAttributable.hpp
@@ -12,10 +12,10 @@ class HDFAttributable
 public:
     std::vector<std::string> attributeNameList;
 
-    void StoreAttributeNames(H5::H5Object &thisobject,
+    void StoreAttributeNames(H5::H5Location &thisobject,
                              const std::vector<std::string> &attributeNames);
 
-    virtual H5::H5Object *GetObject();
+    virtual H5::H5Location *GetObject();
 
     int ContainsAttribute(const std::string &attributeName);
 };
--- a/hdf/HDFData.cpp
+++ b/hdf/HDFData.cpp
@@ -2,9 +2,9 @@
 
 using namespace H5;
 
-H5Object *HDFData::GetObject() { return &dataset; }
+H5Location *HDFData::GetObject() { return &dataset; }
 
-HDFData::HDFData(Group *_container, const std::string &_datasetName)
+HDFData::HDFData(CommonFG *_container, const std::string &_datasetName)
 {
     container = _container;
     datasetName = _datasetName;
@@ -32,7 +32,7 @@ int HDFData::Initialize(HDFGroup &parent
     std::exit(EXIT_FAILURE);
 }
 
-int HDFData::BaseInitializeDataset(Group &hdfFile, const std::string &_datasetName)
+int HDFData::BaseInitializeDataset(CommonFG &hdfFile, const std::string &_datasetName)
 {
     dataset = hdfFile.openDataSet(_datasetName.c_str());
     isInitialized = true;
@@ -45,7 +45,7 @@ int HDFData::InitializeDataset(HDFGroup
     return InitializeDataset(group.group, _datasetName);
 }
 
-int HDFData::InitializeDataset(Group &hdfFile, const std::string &_datasetName)
+int HDFData::InitializeDataset(CommonFG &hdfFile, const std::string &_datasetName)
 {
     try {
         datasetName = _datasetName;
--- a/hdf/HDFData.hpp
+++ b/hdf/HDFData.hpp
@@ -17,13 +17,13 @@ public:
     H5::DataSpace sourceSpace, destSpace;
     H5::DataSpace fullSourceSpace;
     bool fileDataSpaceInitialized;
-    H5::Group *container;
+    H5::CommonFG *container;
     std::string datasetName;
     bool isInitialized;
 
-    H5::H5Object *GetObject();
+    H5::H5Location *GetObject();
 
-    HDFData(H5::Group *_container, const std::string &_datasetName);
+    HDFData(H5::CommonFG *_container, const std::string &_datasetName);
 
     HDFData();
 
@@ -43,11 +43,11 @@ public:
     //
     virtual int Initialize(HDFGroup &parentGroup, const std::string &datasetName);
 
-    int BaseInitializeDataset(H5::Group &hdfFile, const std::string &_datasetName);
+    int BaseInitializeDataset(H5::CommonFG &hdfFile, const std::string &_datasetName);
 
     int InitializeDataset(HDFGroup &group, const std::string &_datasetName);
 
-    int InitializeDataset(H5::Group &hdfFile, const std::string &_datasetName);
+    int InitializeDataset(H5::CommonFG &hdfFile, const std::string &_datasetName);
 
     void Close();
 };
--- a/hdf/HDFGroup.cpp
+++ b/hdf/HDFGroup.cpp
@@ -12,7 +12,7 @@ void HDFGroup::AddGroup(std::string grou
 
 H5Object *HDFGroup::GetObject() { return &group; }
 
-int HDFGroup::Initialize(Group &fg, std::string groupName)
+int HDFGroup::Initialize(CommonFG &fg, std::string groupName)
 {
     try {
         group = fg.openGroup(groupName.c_str());
--- a/hdf/HDFGroup.hpp
+++ b/hdf/HDFGroup.hpp
@@ -25,7 +25,7 @@ public:
 
     H5::H5Object* GetObject();
 
-    int Initialize(H5::Group& fg, std::string groupName);
+    int Initialize(H5::CommonFG& fg, std::string groupName);
 
     int Initialize(HDFGroup& parentGroup, std::string groupName);
 
