This is the container API: it allows to add several types of data to regular data containers or to correlated data containers. More...
#include "libAwtDaHL.h"
Functions | |
HL_API AwtStatus | AWT_HL_DataContainer_Create (AwtDataContainer **ppDataContainer, char *pRelativePath) |
Create a Data Container context. | |
HL_API AwtStatus | AWT_HL_DataContainer_Destroy (AwtDataContainer *pDataContainer) |
Destroy a Data Container or a Correlated Data Container, and release associated resources. | |
HL_API AwtStatus | AWT_HL_DataContainer_Empty (AwtDataContainer *pDataContainer) |
Empty a Data Container or a Correlated Data Container. | |
HL_API AwtStatus | AWT_HL_DataContainer_AddPeriodicDeltas (AwtDataContainer *pDataContainer, char *pDataName, int32_t startTime, int32_t period, AwtDaObject *pFirstValue, AwtDaObject *pNumericDeltasList) |
Add data to the container. | |
HL_API AwtStatus | AWT_HL_DataContainer_AddPeriodicValues (AwtDataContainer *pDataContainer, char *pDataName, int32_t startTime, int32_t period, AwtDaObject *pValuesList) |
Add data to the container. | |
HL_API AwtStatus | AWT_HL_DataContainer_AddTimeStampedDeltas (AwtDataContainer *pDataContainer, char *pDataName, int32_t startTime, AwtDaObject *pTimeDeltasList, AwtDaObject *pNumericStartValue, AwtDaObject *pNumericDeltasList) |
Add data to the container. | |
HL_API AwtStatus | AWT_HL_DataContainer_AddTimeStampedValue (AwtDataContainer *pDataContainer, char *pDataName, int32_t timestamp, AwtDaObject *pValue) |
Add data to the container. | |
HL_API AwtStatus | AWT_HL_DataContainer_AddTimeStampedValues (AwtDataContainer *pDataContainer, char *pDataName, int32_t startTime, AwtDaObject *pTimeDeltasList, AwtDaObject *pValuesList) |
Add data to the container. | |
HL_API AwtStatus | AWT_HL_CorDataContainer_Create (AwtDataContainer **ppDataContainer, const char *pRelativePath, int nbOfProperties, const char *properties[], AwtDaObject *columns[]) |
Create a Correlated Data Container object. | |
HL_API AwtStatus | AWT_HL_CorDataContainer_addRow (AwtDataContainer *pDataContainer, AwtDaObject *values[]) |
Add a row of data into a Correlated Data Container. | |
HL_API AwtStatus | AWT_HL_CorDataContainer_addRows (AwtDataContainer *pDataContainer, AwtDaObject *columns[]) |
Add rows of data into a Correlated Data Container. |
This is the container API: it allows to add several types of data to regular data containers or to correlated data containers.
This API is fully synchronous, but not thread safe on the same object. However, it is safe to use the API into several threads, but not with the same container object.
HL_API AwtStatus AWT_HL_CorDataContainer_addRow | ( | AwtDataContainer * | pDataContainer, | |
AwtDaObject * | values[] | |||
) |
Add a row of data into a Correlated Data Container.
The row is actually an array of values (AwtDaObject string or numbers), it must have the same number of elements than the nbOfProperties of the container. The type of the AwtDaObject must be the same in a whole column. If a AWT_CLASS_DELTASVECTOR object was used when the container was created, the value given for that column will be automatically recomputed and added in the AWT_CLASS_DELTASVECTOR object.
pDataContainer | the container context to add row to, must be valid context | |
values | tab representing the row of the values to add, must be consistent with the correlated data container structure |
HL_API AwtStatus AWT_HL_CorDataContainer_addRows | ( | AwtDataContainer * | pDataContainer, | |
AwtDaObject * | columns[] | |||
) |
Add rows of data into a Correlated Data Container.
The rows are actually an array of columns (AwtDaObject:AWT_CLASS_LIST). The number of columns must be the same than the nbOfProperties of the container. The type of the AwtDaObject values must be the same in a whole column. If a AWT_CLASS_DELTASVECTOR object was used when the container was created, the values given for that column will be automatically recomputed and added in the AWT_CLASS_DELTASVECTOR object.
pDataContainer | the container context to add rows to, must be valid context | |
columns | tab representing the rows of the values to add, must be consistent with the correlated data container structure |
HL_API AwtStatus AWT_HL_CorDataContainer_Create | ( | AwtDataContainer ** | ppDataContainer, | |
const char * | pRelativePath, | |||
int | nbOfProperties, | |||
const char * | properties[], | |||
AwtDaObject * | columns[] | |||
) |
Create a Correlated Data Container object.
The data container object is necessary for sending data messages One data container will be sent as one data message exactly. A Correlated Data Container is characterized by a list of property names, and for each property a column of values. Each column must be an AwtDaObject of type AWT_CLASS_DELTASVECTOR or AWT_CLASS_LIST, and they must have the same number of elements.
ppDataContainer | the pointer to store the AwtDataContainer* context, must be non NULL | |
pRelativePath | path of the data message, relative to the library root path. | |
nbOfProperties | the number of column/properties for this container | |
properties | an array of size nbOfProperties, that specify the name of each column/property | |
columns | an array of AwtDaObject (AWT_CLASS_DELTASVECTOR/AWT_CLASS_LIST). If null , an array of AWT_CLASS_LIST is inferred. |
HL_API AwtStatus AWT_HL_DataContainer_AddPeriodicDeltas | ( | AwtDataContainer * | pDataContainer, | |
char * | pDataName, | |||
int32_t | startTime, | |||
int32_t | period, | |||
AwtDaObject * | pFirstValue, | |||
AwtDaObject * | pNumericDeltasList | |||
) |
Add data to the container.
The timestamping method is explained into AWT-DA Protocol specification
HL_API AwtStatus AWT_HL_DataContainer_AddPeriodicValues | ( | AwtDataContainer * | pDataContainer, | |
char * | pDataName, | |||
int32_t | startTime, | |||
int32_t | period, | |||
AwtDaObject * | pValuesList | |||
) |
Add data to the container.
The timestamping method is explained into AWT-DA Protocol specification
HL_API AwtStatus AWT_HL_DataContainer_AddTimeStampedDeltas | ( | AwtDataContainer * | pDataContainer, | |
char * | pDataName, | |||
int32_t | startTime, | |||
AwtDaObject * | pTimeDeltasList, | |||
AwtDaObject * | pNumericStartValue, | |||
AwtDaObject * | pNumericDeltasList | |||
) |
Add data to the container.
The timestamping method is explained into AWT-DA Protocol specification
HL_API AwtStatus AWT_HL_DataContainer_AddTimeStampedValue | ( | AwtDataContainer * | pDataContainer, | |
char * | pDataName, | |||
int32_t | timestamp, | |||
AwtDaObject * | pValue | |||
) |
Add data to the container.
The timestamping method is explained into AWT-DA Protocol specification
HL_API AwtStatus AWT_HL_DataContainer_AddTimeStampedValues | ( | AwtDataContainer * | pDataContainer, | |
char * | pDataName, | |||
int32_t | startTime, | |||
AwtDaObject * | pTimeDeltasList, | |||
AwtDaObject * | pValuesList | |||
) |
Add data to the container.
The timestamping method is explained into AWT-DA Protocol specification
HL_API AwtStatus AWT_HL_DataContainer_Create | ( | AwtDataContainer ** | ppDataContainer, | |
char * | pRelativePath | |||
) |
Create a Data Container context.
The data container context is necessary for sending data messages One data container will be sent as one data message exactly.
ppDataContainer | the pointer to store the AwtDataContainer* context, must be non NULL | |
pRelativePath | path of the data message, relative to the library root path. |
HL_API AwtStatus AWT_HL_DataContainer_Destroy | ( | AwtDataContainer * | pDataContainer | ) |
Destroy a Data Container or a Correlated Data Container, and release associated resources.
A Data Container must not be destroyed if it has been added to a Data Manager that has not been flushed.
pDataContainer | the container to destroy |
HL_API AwtStatus AWT_HL_DataContainer_Empty | ( | AwtDataContainer * | pDataContainer | ) |
Empty a Data Container or a Correlated Data Container.
The Data Container itself is still valid and may be used again to hold data and to be added to a Data Manager.
Emptying a container has different meaning depending on container type:
pDataContainer | the container to empty |