1
- #include " ntndArrayConverter .h"
1
+ #include " ntndArrayConverterPvxs .h"
2
2
#include < stdio.h>
3
3
#include < string.h>
4
4
#include < iostream>
5
5
using namespace std ;
6
6
7
- NTNDArrayConverter::NTNDArrayConverter (pvxs::Value value) : m_value(value) {
7
+ NTNDArrayConverterPvxs::NTNDArrayConverterPvxs (pvxs::Value value) : m_value(value) {
8
8
m_typeMap = {
9
9
{typeid (int8_t ), NDAttrDataType_t::NDAttrInt8},
10
10
{typeid (uint8_t ), NDAttrDataType_t::NDAttrUInt8},
@@ -45,7 +45,7 @@ NTNDArrayConverter::NTNDArrayConverter (pvxs::Value value) : m_value(value) {
45
45
46
46
}
47
47
48
- NDColorMode_t NTNDArrayConverter ::getColorMode (void )
48
+ NDColorMode_t NTNDArrayConverterPvxs ::getColorMode (void )
49
49
{
50
50
auto attributes = m_value[" attribute" ].as <pvxs::shared_array<const pvxs::Value>>();
51
51
NDColorMode_t colorMode = NDColorMode_t::NDColorModeMono;
@@ -58,7 +58,7 @@ NDColorMode_t NTNDArrayConverter::getColorMode (void)
58
58
return colorMode;
59
59
}
60
60
61
- NTNDArrayInfo_t NTNDArrayConverter ::getInfo (void )
61
+ NTNDArrayInfo_t NTNDArrayConverterPvxs ::getInfo (void )
62
62
{
63
63
NTNDArrayInfo_t info = {0 };
64
64
@@ -174,7 +174,7 @@ NTNDArrayInfo_t NTNDArrayConverter::getInfo (void)
174
174
return info;
175
175
}
176
176
177
- void NTNDArrayConverter ::toArray (NDArray *dest)
177
+ void NTNDArrayConverterPvxs ::toArray (NDArray *dest)
178
178
{
179
179
toValue (dest);
180
180
toDimensions (dest);
@@ -185,7 +185,7 @@ void NTNDArrayConverter::toArray (NDArray *dest)
185
185
dest->uniqueId = m_value[" uniqueId" ].as <int32_t >();
186
186
}
187
187
188
- void NTNDArrayConverter ::fromArray (NDArray *src)
188
+ void NTNDArrayConverterPvxs ::fromArray (NDArray *src)
189
189
{
190
190
fromValue (src);
191
191
fromDimensions (src);
@@ -197,7 +197,7 @@ void NTNDArrayConverter::fromArray (NDArray *src)
197
197
}
198
198
199
199
template <typename arrayType>
200
- void NTNDArrayConverter ::toValue (NDArray *dest)
200
+ void NTNDArrayConverterPvxs ::toValue (NDArray *dest)
201
201
{
202
202
NTNDArrayInfo_t info = getInfo ();
203
203
dest->codec .name = info.codec ;
@@ -213,7 +213,7 @@ void NTNDArrayConverter::toValue (NDArray *dest)
213
213
dest->compressedSize = info.totalBytes ;
214
214
}
215
215
216
- void NTNDArrayConverter ::toValue (NDArray *dest)
216
+ void NTNDArrayConverterPvxs ::toValue (NDArray *dest)
217
217
{
218
218
switch (m_value[" value->" ].type ().code ) {
219
219
case pvxs::TypeCode::Int8A: {toValue<int8_t >(dest); break ;}
@@ -230,7 +230,7 @@ void NTNDArrayConverter::toValue (NDArray *dest)
230
230
}
231
231
}
232
232
233
- void NTNDArrayConverter ::toDimensions (NDArray *dest)
233
+ void NTNDArrayConverterPvxs ::toDimensions (NDArray *dest)
234
234
{
235
235
auto dims = m_value[" dimension" ].as <pvxs::shared_array<const pvxs::Value>>();
236
236
dest->ndims = (int )dims.size ();
@@ -245,7 +245,7 @@ void NTNDArrayConverter::toDimensions (NDArray *dest)
245
245
}
246
246
}
247
247
248
- void NTNDArrayConverter ::toTimeStamp (NDArray *dest)
248
+ void NTNDArrayConverterPvxs ::toTimeStamp (NDArray *dest)
249
249
{
250
250
// NDArray uses EPICS time, pvAccess uses Posix time, need to convert
251
251
dest->epicsTS .secPastEpoch = (epicsUInt32)
@@ -254,7 +254,7 @@ void NTNDArrayConverter::toTimeStamp (NDArray *dest)
254
254
m_value[" timeStamp.nanoseconds" ].as <uint32_t >();
255
255
}
256
256
257
- void NTNDArrayConverter ::toDataTimeStamp (NDArray *dest)
257
+ void NTNDArrayConverterPvxs ::toDataTimeStamp (NDArray *dest)
258
258
{
259
259
// NDArray uses EPICS time, pvAccess uses Posix time, need to convert
260
260
dest->timeStamp = (epicsFloat64)
@@ -264,7 +264,7 @@ void NTNDArrayConverter::toDataTimeStamp (NDArray *dest)
264
264
}
265
265
266
266
template <typename valueType>
267
- void NTNDArrayConverter ::toAttribute (NDArray *dest, pvxs::Value attribute)
267
+ void NTNDArrayConverterPvxs ::toAttribute (NDArray *dest, pvxs::Value attribute)
268
268
{
269
269
auto name = attribute[" name" ].as <std::string>();
270
270
auto desc = attribute[" descriptor" ].as <std::string>();
@@ -277,7 +277,7 @@ void NTNDArrayConverter::toAttribute (NDArray *dest, pvxs::Value attribute)
277
277
dest->pAttributeList ->add (attr);
278
278
}
279
279
280
- void NTNDArrayConverter ::toStringAttribute (NDArray *dest, pvxs::Value attribute)
280
+ void NTNDArrayConverterPvxs ::toStringAttribute (NDArray *dest, pvxs::Value attribute)
281
281
{
282
282
auto name = attribute[" name" ].as <std::string>();
283
283
auto desc = attribute[" descriptor" ].as <std::string>();
@@ -289,7 +289,7 @@ void NTNDArrayConverter::toStringAttribute (NDArray *dest, pvxs::Value attribute
289
289
dest->pAttributeList ->add (attr);
290
290
}
291
291
292
- void NTNDArrayConverter ::toUndefinedAttribute (NDArray *dest, pvxs::Value attribute)
292
+ void NTNDArrayConverterPvxs ::toUndefinedAttribute (NDArray *dest, pvxs::Value attribute)
293
293
{
294
294
auto name = attribute[" name" ].as <std::string>();
295
295
auto desc = attribute[" descriptor" ].as <std::string>();
@@ -300,7 +300,7 @@ void NTNDArrayConverter::toUndefinedAttribute (NDArray *dest, pvxs::Value attrib
300
300
dest->pAttributeList ->add (attr);
301
301
}
302
302
303
- void NTNDArrayConverter ::toAttributes (NDArray *dest)
303
+ void NTNDArrayConverterPvxs ::toAttributes (NDArray *dest)
304
304
{
305
305
auto attributes = m_value[" attribute" ].as <pvxs::shared_array<const pvxs::Value>>();
306
306
for (int i=0 ; i<attributes.size (); i++) {
@@ -325,7 +325,7 @@ void NTNDArrayConverter::toAttributes (NDArray *dest)
325
325
}
326
326
327
327
template <typename dataType>
328
- void NTNDArrayConverter ::fromValue (NDArray *src) {
328
+ void NTNDArrayConverterPvxs ::fromValue (NDArray *src) {
329
329
NDArrayInfo_t arrayInfo;
330
330
src->getInfo (&arrayInfo);
331
331
@@ -344,7 +344,7 @@ void NTNDArrayConverter::fromValue(NDArray *src) {
344
344
m_value[" codec.parameters" ] = (int32_t ) src->dataType ;
345
345
}
346
346
347
- void NTNDArrayConverter ::fromValue (NDArray *src) {
347
+ void NTNDArrayConverterPvxs ::fromValue (NDArray *src) {
348
348
switch (src->dataType ) {
349
349
case NDInt8: {fromValue<int8_t >(src); break ;};
350
350
case NDUInt8: {fromValue<uint8_t >(src); break ;};
@@ -362,7 +362,7 @@ void NTNDArrayConverter::fromValue (NDArray *src) {
362
362
}
363
363
}
364
364
365
- void NTNDArrayConverter ::fromDimensions (NDArray *src) {
365
+ void NTNDArrayConverterPvxs ::fromDimensions (NDArray *src) {
366
366
pvxs::shared_array<pvxs::Value> dims;
367
367
dims.resize (src->ndims );
368
368
@@ -377,7 +377,7 @@ void NTNDArrayConverter::fromDimensions (NDArray *src) {
377
377
m_value[" dimension" ] = dims.freeze ();
378
378
}
379
379
380
- void NTNDArrayConverter ::fromDataTimeStamp (NDArray *src) {
380
+ void NTNDArrayConverterPvxs ::fromDataTimeStamp (NDArray *src) {
381
381
double seconds = floor (src->timeStamp );
382
382
double nanoseconds = (src->timeStamp - seconds)*1e9 ;
383
383
// pvAccess uses Posix time, NDArray uses EPICS time, need to convert
@@ -386,28 +386,28 @@ void NTNDArrayConverter::fromDataTimeStamp (NDArray *src) {
386
386
m_value[" dataTimeStamp.nanoseconds" ] = nanoseconds;
387
387
}
388
388
389
- void NTNDArrayConverter ::fromTimeStamp (NDArray *src) {
389
+ void NTNDArrayConverterPvxs ::fromTimeStamp (NDArray *src) {
390
390
// pvAccess uses Posix time, NDArray uses EPICS time, need to convert
391
391
m_value[" timeStamp.secondsPastEpoch" ] = src->epicsTS .secPastEpoch + POSIX_TIME_AT_EPICS_EPOCH;
392
392
m_value[" timeStamp.nanoseconds" ] = src->epicsTS .nsec ;
393
393
}
394
394
395
395
template <typename valueType>
396
- void NTNDArrayConverter ::fromAttribute (pvxs::Value destValue, NDAttribute *src)
396
+ void NTNDArrayConverterPvxs ::fromAttribute (pvxs::Value destValue, NDAttribute *src)
397
397
{
398
398
valueType value;
399
399
src->getValue (src->getDataType (), (void *)&value);
400
400
destValue[" value" ] = value;
401
401
}
402
402
403
- void NTNDArrayConverter ::fromStringAttribute (pvxs::Value destValue, NDAttribute *src)
403
+ void NTNDArrayConverterPvxs ::fromStringAttribute (pvxs::Value destValue, NDAttribute *src)
404
404
{
405
405
const char *value;
406
406
src->getValue (src->getDataType (), (void *)&value);
407
407
destValue[" value" ] = std::string (value);
408
408
}
409
409
410
- void NTNDArrayConverter ::fromAttributes (NDArray *src)
410
+ void NTNDArrayConverterPvxs ::fromAttributes (NDArray *src)
411
411
{
412
412
NDAttributeList *srcList = src->pAttributeList ;
413
413
NDAttribute *attr = NULL ;
0 commit comments