36 #include "common/AbstractHdfProxy.h" 44 HdfProxy(gsoap_resqml2_0_1::_eml20__EpcExternalPartReference* fromGsoap,
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath) :
47 HdfProxy(gsoap_eml2_1::_eml21__EpcExternalPartReference* fromGsoap,
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath) :
55 HdfProxy(
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath);
64 void readArrayNdOfValues(
const std::string & datasetName,
void* values,
const int & datatype);
76 void readArrayNdOfValues(
77 const std::string & datasetName,
79 unsigned long long * numValuesInEachDimension,
80 unsigned long long * offsetInEachDimension,
81 const unsigned int & numDimensions,
82 const int & datatype);
112 int getHdfDatatypeInDataset(
const std::string & groupName)
const;
118 int getHdfDatatypeClassInDataset(
const std::string & datasetName)
const;
132 void writeItemizedListOfList(
const std::string & groupName,
133 const std::string & name,
134 const int & cumulativeLengthDatatype,
135 void * cumulativeLength,
136 const unsigned long long & cumulativeLengthSize,
137 const int & elementsDatatype,
139 const unsigned long long & elementsSize);
145 unsigned int getDimensionCount(
const std::string & datasetName);
151 signed long long getElementCount(
const std::string & datasetName);
157 void setCompressionLevel(
const unsigned int & newCompressionLevel) {
if (newCompressionLevel > 9) compressionLevel = 9;
else compressionLevel = newCompressionLevel;}
159 void writeArrayNdOfFloatValues(
const std::string & groupName,
160 const std::string & name,
162 unsigned long long * numValuesInEachDimension,
163 const unsigned int & numDimensions);
174 void writeArrayNdOfDoubleValues(
const std::string & groupName,
175 const std::string & name,
177 unsigned long long * numValuesInEachDimension,
178 const unsigned int & numDimensions);
189 void writeArrayNdOfCharValues(
const std::string & groupName,
190 const std::string & name,
192 unsigned long long * numValuesInEachDimension,
193 const unsigned int & numDimensions);
204 void writeArrayNdOfIntValues(
const std::string & groupName,
205 const std::string & name,
207 unsigned long long * numValuesInEachDimension,
208 const unsigned int & numDimensions);
219 void writeArrayNdOfGSoapULong64Values(
const std::string & groupName,
220 const std::string & name,
221 ULONG64 * ulong64Values,
222 unsigned long long * numValuesInEachDimension,
223 const unsigned int & numDimensions);
235 void writeArrayNd(
const std::string & groupName,
236 const std::string & name,
237 const int & datatype,
239 unsigned long long * numValuesInEachDimension,
240 const unsigned int & numDimensions);
252 const std::string& groupName,
253 const std::string& name,
254 const int & datatype,
255 unsigned long long* numValuesInEachDimension,
256 const unsigned int& numDimensions
269 void writeArrayNdSlab(
270 const std::string& groupName,
271 const std::string& name,
272 const int & datatype,
274 unsigned long long* numValuesInEachDimension,
275 unsigned long long* offsetValuesInEachDimension,
276 const unsigned int& numDimensions
282 void writeGroupAttributes(
const std::string & groupName,
283 const std::vector<std::string> & attributeNames,
284 const std::vector<std::string> & values);
289 void writeGroupAttribute(
const std::string & groupName,
290 const std::string & attributeName,
291 const std::vector<std::string> & values);
296 void writeGroupAttributes(
const std::string & groupName,
297 const std::vector<std::string> & attributeNames,
298 const std::vector<double> & values);
303 void writeGroupAttributes(
const std::string & groupName,
304 const std::vector<std::string> & attributeNames,
305 const std::vector<int> & values);
310 void writeDatasetAttributes(
const std::string & datasetName,
311 const std::vector<std::string> & attributeNames,
312 const std::vector<std::string> & values);
317 void writeDatasetAttribute(
const std::string & datasetName,
318 const std::string & attributeName,
319 const std::vector<std::string> & values);
324 void writeDatasetAttributes(
const std::string & datasetName,
325 const std::vector<std::string> & attributeNames,
326 const std::vector<double> & values);
331 void writeDatasetAttributes(
const std::string & datasetName,
332 const std::vector<std::string> & attributeNames,
333 const std::vector<int> & values);
335 std::string readStringAttribute(
const std::string & obj_name,
336 const std::string & attr_name)
const;
338 std::vector<std::string> readStringArrayAttribute(
const std::string & obj_name,
339 const std::string & attr_name)
const;
341 double readDoubleAttribute(
const std::string & obj_name,
342 const std::string & attr_name)
const;
344 LONG64 readLongAttribute(
const std::string & obj_name,
345 const std::string & attr_name)
const;
352 void readArrayNdOfDoubleValues(
const std::string & datasetName,
double* values);
362 void readArrayNdOfDoubleValues(
363 const std::string & datasetName,
365 unsigned long long * numValuesInEachDimension,
366 unsigned long long * offsetInEachDimension,
367 const unsigned int & numDimensions
375 void readArrayNdOfFloatValues(
const std::string & datasetName,
float* values);
385 void readArrayNdOfFloatValues(
386 const std::string & datasetName,
388 unsigned long long * numValuesInEachDimension,
389 unsigned long long * offsetInEachDimension,
390 const unsigned int & numDimensions
396 void readArrayNdOfGSoapLong64Values(
const std::string & datasetName, LONG64* values);
401 void readArrayNdOfGSoapULong64Values(
const std::string & datasetName, ULONG64* values);
408 void readArrayNdOfLongValues(
const std::string & datasetName,
long* values);
418 void readArrayNdOfLongValues(
419 const std::string & datasetName,
421 unsigned long long * numValuesInEachDimension,
422 unsigned long long * offsetInEachDimension,
423 const unsigned int & numDimensions
431 void readArrayNdOfULongValues(
const std::string & datasetName,
unsigned long* values);
438 void readArrayNdOfIntValues(
const std::string & datasetName,
int* values);
448 void readArrayNdOfIntValues(
449 const std::string & datasetName,
451 unsigned long long * numValuesInEachDimension,
452 unsigned long long * offsetInEachDimension,
453 const unsigned int & numDimensions
461 void readArrayNdOfUIntValues(
const std::string & datasetName,
unsigned int* values);
469 void readArrayNdOfShortValues(
const std::string & datasetName,
short* values);
476 void readArrayNdOfUShortValues(
const std::string & datasetName,
unsigned short* values);
483 void readArrayNdOfCharValues(
const std::string & datasetName,
char* values);
489 void readArrayNdOfUCharValues(
const std::string & datasetName,
unsigned char* values);
495 std::vector<unsigned long long> readArrayDimensions(
const std::string & datasetName);
500 bool exist(
const std::string & absolutePathInHdfFile)
const;
507 virtual int openOrCreateRootGroup();
514 int openOrCreateGroupInRootGroup(
const std::string & groupName);
518 unsigned int compressionLevel;
~HdfProxy()
Definition: HdfProxy.h:90
void setCompressionLevel(const unsigned int &newCompressionLevel)
Definition: HdfProxy.h:157
Definition: AbstractHdfProxy.h:43
bool isOpened() const
Definition: HdfProxy.h:101
Definition: HdfProxy.h:40
Definition: AbstractHdfProxy.h:45