21 #include "common/EpcExternalPartReference.h" 22 #include "resqml2/AbstractRepresentation.h" 23 #include "prodml2_0/DasAcquisition.h" 25 #define CUMULATIVE_LENGTH_DS_NAME "cumulativeLength" 26 #define ELEMENTS_DS_NAME "elements" 37 AbstractHdfProxy(
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath);
39 AbstractHdfProxy(gsoap_resqml2_0_1::_eml20__EpcExternalPartReference* fromGsoap,
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath) :
42 AbstractHdfProxy(gsoap_eml2_1::_eml21__EpcExternalPartReference* fromGsoap,
const std::string & packageDirAbsolutePath,
const std::string & externalFilePath) :
49 void initGsoapProxy(soap* soapContext,
const std::string & guid,
const std::string & title,
const EmlVersion & emlVersion);
58 virtual void open() = 0;
63 virtual bool isOpened()
const = 0;
68 virtual void close() = 0;
74 virtual int getHdfDatatypeInDataset(
const std::string & datasetName)
const = 0;
80 virtual int getHdfDatatypeClassInDataset(
const std::string & datasetName)
const = 0;
94 virtual void writeItemizedListOfList(
const std::string & groupName,
95 const std::string & name,
96 const int & cumulativeLengthDatatype,
97 void * cumulativeLength,
98 const unsigned long long & cumulativeLengthSize,
99 const int & elementsDatatype,
101 const unsigned long long & elementsSize) = 0;
107 virtual unsigned int getDimensionCount(
const std::string & datasetName) = 0;
113 virtual signed long long getElementCount(
const std::string & datasetName) = 0;
119 virtual void setCompressionLevel(
const unsigned int & newCompressionLevel) = 0;
121 virtual void writeArrayNdOfFloatValues(
const std::string & groupName,
122 const std::string & name,
124 unsigned long long * numValuesInEachDimension,
125 const unsigned int & numDimensions) = 0;
136 virtual void writeArrayNdOfDoubleValues(
const std::string & groupName,
137 const std::string & name,
139 unsigned long long * numValuesInEachDimension,
140 const unsigned int & numDimensions) = 0;
151 virtual void writeArrayNdOfCharValues(
const std::string & groupName,
152 const std::string & name,
154 unsigned long long * numValuesInEachDimension,
155 const unsigned int & numDimensions) = 0;
166 virtual void writeArrayNdOfIntValues(
const std::string & groupName,
167 const std::string & name,
169 unsigned long long * numValuesInEachDimension,
170 const unsigned int & numDimensions) = 0;
181 virtual void writeArrayNdOfGSoapULong64Values(
const std::string & groupName,
182 const std::string & name,
183 ULONG64 * ulong64Values,
184 unsigned long long * numValuesInEachDimension,
185 const unsigned int & numDimensions) = 0;
197 virtual void writeArrayNd(
const std::string & groupName,
198 const std::string & name,
199 const int & datatype,
201 unsigned long long * numValuesInEachDimension,
202 const unsigned int & numDimensions) = 0;
213 virtual void createArrayNd(
214 const std::string& groupName,
215 const std::string& name,
216 const int & datatype,
217 unsigned long long* numValuesInEachDimension,
218 const unsigned int& numDimensions
230 virtual void writeArrayNdSlab(
231 const std::string& groupName,
232 const std::string& name,
233 const int & datatype,
235 unsigned long long* numValuesInEachDimension,
236 unsigned long long* offsetValuesInEachDimension,
237 const unsigned int& numDimensions
243 virtual void writeGroupAttributes(
const std::string & groupName,
244 const std::vector<std::string> & attributeNames,
245 const std::vector<std::string> & values) = 0;
250 virtual void writeGroupAttribute(
const std::string & groupName,
251 const std::string & attributeName,
252 const std::vector<std::string> & values) = 0;
257 virtual void writeGroupAttributes(
const std::string & groupName,
258 const std::vector<std::string> & attributeNames,
259 const std::vector<double> & values) = 0;
264 virtual void writeGroupAttributes(
const std::string & groupName,
265 const std::vector<std::string> & attributeNames,
266 const std::vector<int> & values) = 0;
271 virtual void writeDatasetAttributes(
const std::string & datasetName,
272 const std::vector<std::string> & attributeNames,
273 const std::vector<std::string> & values) = 0;
278 virtual void writeDatasetAttribute(
const std::string & datasetName,
279 const std::string & attributeName,
280 const std::vector<std::string> & values) = 0;
285 virtual void writeDatasetAttributes(
const std::string & datasetName,
286 const std::vector<std::string> & attributeNames,
287 const std::vector<double> & values) = 0;
292 virtual void writeDatasetAttributes(
const std::string & datasetName,
293 const std::vector<std::string> & attributeNames,
294 const std::vector<int> & values) = 0;
300 virtual std::string readStringAttribute(
const std::string & obj_name,
301 const std::string & attr_name)
const = 0;
303 virtual std::vector<std::string> readStringArrayAttribute(
const std::string & obj_name,
304 const std::string & attr_name)
const = 0;
310 virtual double readDoubleAttribute(
const std::string & obj_name,
311 const std::string & attr_name)
const = 0;
317 virtual LONG64 readLongAttribute(
const std::string & obj_name,
318 const std::string & attr_name)
const = 0;
325 virtual void readArrayNdOfDoubleValues(
const std::string & datasetName,
double* values) = 0;
335 virtual void readArrayNdOfDoubleValues(
336 const std::string & datasetName,
338 unsigned long long * numValuesInEachDimension,
339 unsigned long long * offsetInEachDimension,
340 const unsigned int & numDimensions
353 virtual void readArrayNdOfDoubleValues(
354 const std::string & datasetName,
356 unsigned long long * blockCountPerDimension,
357 unsigned long long * offsetInEachDimension,
358 unsigned long long * strideInEachDimension,
359 unsigned long long * blockSizeInEachDimension,
360 const unsigned int & numDimensions) = 0;
375 virtual void selectArrayNdOfValues(
376 const std::string & datasetName,
377 unsigned long long * blockCountPerDimension,
378 unsigned long long * offsetInEachDimension,
379 unsigned long long * strideInEachDimension,
380 unsigned long long * blockSizeInEachDimension,
381 const unsigned int & numDimensions,
384 int & filespace) = 0;
393 virtual void readArrayNdOfDoubleValues(
397 unsigned long long slabSize) = 0;
404 virtual void readArrayNdOfFloatValues(
const std::string & datasetName,
float* values) = 0;
414 virtual void readArrayNdOfFloatValues(
415 const std::string & datasetName,
417 unsigned long long * numValuesInEachDimension,
418 unsigned long long * offsetInEachDimension,
419 const unsigned int & numDimensions
425 virtual void readArrayNdOfGSoapLong64Values(
const std::string & datasetName, LONG64* values) = 0;
430 virtual void readArrayNdOfGSoapULong64Values(
const std::string & datasetName, ULONG64* values) = 0;
437 virtual void readArrayNdOfLongValues(
const std::string & datasetName,
long* values) = 0;
447 virtual void readArrayNdOfLongValues(
448 const std::string & datasetName,
450 unsigned long long * numValuesInEachDimension,
451 unsigned long long * offsetInEachDimension,
452 const unsigned int & numDimensions
460 virtual void readArrayNdOfULongValues(
const std::string & datasetName,
unsigned long* values) = 0;
467 virtual void readArrayNdOfIntValues(
const std::string & datasetName,
int* values) = 0;
477 virtual void readArrayNdOfIntValues(
478 const std::string & datasetName,
480 unsigned long long * numValuesInEachDimension,
481 unsigned long long * offsetInEachDimension,
482 const unsigned int & numDimensions
490 virtual void readArrayNdOfUIntValues(
const std::string & datasetName,
unsigned int* values) = 0;
498 virtual void readArrayNdOfShortValues(
const std::string & datasetName,
short* values) = 0;
505 virtual void readArrayNdOfUShortValues(
const std::string & datasetName,
unsigned short* values) = 0;
512 virtual void readArrayNdOfCharValues(
const std::string & datasetName,
char* values) = 0;
518 virtual void readArrayNdOfUCharValues(
const std::string & datasetName,
unsigned char* values) = 0;
524 virtual std::vector<unsigned long long> readArrayDimensions(
const std::string & datasetName) = 0;
529 virtual bool exist(
const std::string & absolutePathInHdfFile)
const = 0;
Definition: EpcExternalPartReference.h:34
void setHdfProxy(COMMON_NS::AbstractHdfProxy *proxy)
Definition: AbstractProperty.cpp:399
Definition: AbstractHdfProxy.h:30
Definition: AbstractHdfProxy.h:28