Transformation Engine API (south side)
Data Client

Data Structures

struct  tek_sa_data_client_capabilities
 capabilities of the data client. These capabilities are applied to the complete data client as well as to each instance (device connection). More...
 
struct  tek_sa_data_client
 The interface of one instance of a data client. More...
 
struct  tek_sa_data_client_plugin
 Interface of the data client plugin. More...
 

Typedefs

typedef void * tek_sa_data_client_handle
 The type of the data client handle. More...
 
typedef TEK_SA_RESULT(* tek_sa_load_plugin_fn) (struct tek_sa_transformation_engine *api, const struct tek_sa_data_client_configuration *plugin_configuration, struct tek_sa_data_client_plugin *plugin, struct tek_sa_configuration *tek_configuration)
 Signature for the load plugin function. More...
 

Enumerations

enum  tek_sa_threading_model { TEK_SA_THREADING_MODEL_SAME_THREAD = 0x0 , TEK_SA_THREADING_MODEL_SEQUENTIAL = 0x1 , TEK_SA_THREADING_MODEL_PARALLEL = 0x2 }
 Describes the threading model of a data client instance of a data client plugin. More...
 

Detailed Description

The module Data Client contains the API a data client has to implement. Optional parts of the interface are marked accordingly.

Structs and definitions which are used in both the transformation engine and the data client API are described in the section Common Definitions .


Data Structure Documentation

◆ tek_sa_data_client_capabilities

struct tek_sa_data_client_capabilities

capabilities of the data client. These capabilities are applied to the complete data client as well as to each instance (device connection).

Remarks
As these capabilities are extended in the specification process it may be necessary to split the capabilities of the data client and the instance into different structs.

Definition at line 1031 of file south_api.h.

Data Fields
uint32_t number_of_inflight_calls Number of uncompleted async api calls. Unlimited number of uncompleted calls are signaled using 0 A blocking client uses 1 to signal that the TEK must wait for each result before requesting the next operation.
Remarks
This information may be dependent on the physical device and therefore available only after the connection was established.
enum tek_sa_threading_model threading_model Requirements for the thread calling any communication function in the data client API.

Typedef Documentation

◆ tek_sa_data_client_handle

The type of the data client handle.

An opaque handle for data client plugins. Internal structure of the data_client implementation of a specific plugin is hidden behind this pointer.

Definition at line 235 of file south_api.h.

◆ tek_sa_load_plugin_fn

typedef TEK_SA_RESULT(* tek_sa_load_plugin_fn) (struct tek_sa_transformation_engine *api, const struct tek_sa_data_client_configuration *plugin_configuration, struct tek_sa_data_client_plugin *plugin, struct tek_sa_configuration *tek_configuration)

Signature for the load plugin function.

The shared library of the data client will export the function 'load_plugin' that fills a struct data_client_plugin.

Parameters
apiThe TEK api.
plugin_configurationAdditional configuration files, e.g. licensing information, for the plugin itself.
pluginThe result of the initialized plugin.
tek_configurationglobal configuration of properties used for data_clients
Returns
Success or failure code.

Definition at line 1846 of file south_api.h.

Enumeration Type Documentation

◆ tek_sa_threading_model

Describes the threading model of a data client instance of a data client plugin.

Enumerator
TEK_SA_THREADING_MODEL_SAME_THREAD 

The same thread must always be used to call the data client instance.

TEK_SA_THREADING_MODEL_SEQUENTIAL 

Only one thread of a thread pool is doing a single call at a time at the data client instance.

TEK_SA_THREADING_MODEL_PARALLEL 

DLL is thread safe, multiple parallel calls are allowed.

Remarks
If the number of parallel tasks in the data client is reached, the API call may return ASYNC_RESULT_RETRY_LATER.

Definition at line 1001 of file south_api.h.