libtase2  2.4.0
TASE.2/ICCP Protocol Source Code Library for C/C++
Loading...
Searching...
No Matches
tase2_client.h File Reference
#include "tase2_common.h"
#include "tase2_endpoint.h"
#include "tls_config.h"
#include "linked_list.h"

Go to the source code of this file.

Data Structures

struct  Tase2_Version
 
struct  Tase2_DataSetEntrySpec
 A data set entry specification. More...
 

Typedefs

typedef struct sTase2_ClientDSTransferSet * Tase2_ClientDSTransferSet
 Client side representation of a DS transfer set.
 
typedef struct sTase2_ClientDataSet * Tase2_ClientDataSet
 Client side representation of a data set.
 
typedef void(* Tase2_DSTransferSetValueHandler) (void *parameter, Tase2_ClientDSTransferSet transferSet, const char *domainName, const char *pointName, Tase2_PointValue pointValue)
 Callback handler that is called for each data point contained in a received DS transfer set.
 
typedef void(* Tase2_DSTransferSetReportHandler) (void *parameter, bool finished, uint32_t seq, Tase2_ClientDSTransferSet transferSet)
 Callback handler that is called whenever a DS transfer set is received.
 
typedef void(* Tase2_InformationMessageHandler) (void *parameter, int32_t infoRef, int32_t localRef, int32_t msgId, int32_t size, uint8_t *messageBuffer)
 Callback handler for information messages (IM transfer set)
 
typedef void(* Tase2_ConnectionClosedHandler) (void *parameter, Tase2_Client connection)
 Callback handler that is called when the server closes the connection.
 
typedef void(* Tase2_Client_StateChangedHandler) (void *parameter, Tase2_Client client, Tase2_ClientState newState)
 Callback handler that is called whenever the client state changes.
 

Enumerations

enum  Tase2_ClientState { TASE2_CLIENT_STATE_IDLE , TASE2_CLIENT_STATE_CONNECTED , TASE2_CLIENT_STATE_CLOSED }
 

Functions

TASE2_API Tase2_ClientDataSet Tase2_Client_getDataSet (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *dataSetName)
 Read the data set directory from the server and create a new Tase2_ClientDataSet instance.
 
TASE2_API bool Tase2_Client_createDataSet (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *dataSetName, LinkedList dataSetElements)
 Request the server to create a new data set.
 
TASE2_API bool Tase2_Client_deleteDataSet (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *dataSetName)
 Delete a data set.
 
TASE2_API const char * Tase2_ClientDataSet_getDomainName (Tase2_ClientDataSet self)
 Get the domain name of the data set.
 
TASE2_API const char * Tase2_ClientDataSet_getDataSetName (Tase2_ClientDataSet self)
 Get the name of the data set.
 
TASE2_API bool Tase2_ClientDataSet_isDeletable (Tase2_ClientDataSet self)
 Check if the data set can be deleted by the client.
 
TASE2_API int Tase2_ClientDataSet_getSize (Tase2_ClientDataSet self)
 Get the size (number of entries) of the data set.
 
TASE2_API Tase2_PointName Tase2_ClientDataSet_getPointName (Tase2_ClientDataSet self, int index)
 Get the Tase2_PointName of the data set entry at the given index.
 
TASE2_API const char * Tase2_ClientDataSet_getPointDomainName (Tase2_ClientDataSet self, int index)
 Get the domain name of the data set entry at the given index.
 
TASE2_API const char * Tase2_ClientDataSet_getPointVariableName (Tase2_ClientDataSet self, int index)
 Get the variable name of the data set entry at the given index.
 
TASE2_API Tase2_PointValue Tase2_ClientDataSet_getPointValue (Tase2_ClientDataSet self, int index)
 Return a copy of the point value for the data set entry with the given index.
 
TASE2_API Tase2_ClientError Tase2_ClientDataSet_read (Tase2_ClientDataSet self, Tase2_Client client)
 read the data set values from the server
 
TASE2_API void Tase2_ClientDataSet_destroy (Tase2_ClientDataSet self)
 Destroy the client data set instance and release all resources.
 
TASE2_API Tase2_ClientDSTransferSet Tase2_Client_getNextDSTransferSet (Tase2_Client self, const char *domainName, Tase2_ClientError *err)
 Get the next available DS transfer set (GetNextDSTransferSet operation)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_readValues (Tase2_ClientDSTransferSet self, Tase2_Client client)
 Read the values of the DSTransferSet from the server.
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeValues (Tase2_ClientDSTransferSet self, Tase2_Client client)
 Write the buffered values of the DSTransferSet to the server.
 
TASE2_API const char * Tase2_ClientDSTransferSet_getDomain (Tase2_ClientDSTransferSet self)
 Get the domain name of the DSTransferSet.
 
TASE2_API const char * Tase2_ClientDSTransferSet_getName (Tase2_ClientDSTransferSet self)
 Get the name of the DSTransferSet.
 
TASE2_API const char * Tase2_ClientDSTransferSet_getDataSetDomain (Tase2_ClientDSTransferSet self)
 Get the domain name of the data set.
 
TASE2_API const char * Tase2_ClientDSTransferSet_getDataSetName (Tase2_ClientDSTransferSet self)
 Get the name of the data set.
 
TASE2_API Tase2_ClientDataSet Tase2_ClientDSTransferSet_getDataSet (Tase2_ClientDSTransferSet self)
 Get Tase2_ClientDataSet instance of the transfer set data set.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getStartTime (Tase2_ClientDSTransferSet self)
 Get the start time of report transmission.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getInterval (Tase2_ClientDSTransferSet self)
 Get the transmission interval of the report.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getTLE (Tase2_ClientDSTransferSet self)
 Get the TLE (Time Limit for Execution) value.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getBufferTime (Tase2_ClientDSTransferSet self)
 Get the buffer time value.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getIntegrityCheck (Tase2_ClientDSTransferSet self)
 Get the integrity check interval time.
 
TASE2_API int Tase2_ClientDSTransferSet_getDSConditionsRequested (Tase2_ClientDSTransferSet self)
 Get the DSConditions to trigger a report transmission.
 
TASE2_API bool Tase2_ClientDSTransferSet_getBlockData (Tase2_ClientDSTransferSet self)
 Get the information if blocked data transfer is used.
 
TASE2_API bool Tase2_ClientDSTransferSet_getCritical (Tase2_ClientDSTransferSet self)
 Get the value of the critical flag.
 
TASE2_API bool Tase2_ClientDSTransferSet_getRBE (Tase2_ClientDSTransferSet self)
 Get the value of the RBE (report by exception) flag.
 
TASE2_API bool Tase2_ClientDSTransferSet_getAllChangesReported (Tase2_ClientDSTransferSet self)
 Get the value of the AllChangesReported attribute.
 
TASE2_API bool Tase2_ClientDSTransferSet_getStatus (Tase2_ClientDSTransferSet self)
 Get status of the transfer set.
 
TASE2_API int16_t Tase2_ClientDSTransferSet_getEventCodeRequested (Tase2_ClientDSTransferSet self)
 Get the external event code that caused the transmission.
 
TASE2_API void Tase2_ClientDSTransferSet_setDataSetName (Tase2_ClientDSTransferSet self, const char *domainId, const char *dataSetId)
 Sets the name of the transfer set data set.
 
TASE2_API void Tase2_ClientDSTransferSet_setDataSet (Tase2_ClientDSTransferSet self, Tase2_ClientDataSet dataSet)
 Associate a data set instance with the transfer set.
 
TASE2_API void Tase2_ClientDSTransferSet_setStartTime (Tase2_ClientDSTransferSet self, int32_t startTime)
 Sets the start time of transfer set monitoring.
 
TASE2_API void Tase2_ClientDSTransferSet_setInterval (Tase2_ClientDSTransferSet self, int32_t interval)
 Sets the interval time for transfer set reports.
 
TASE2_API void Tase2_ClientDSTransferSet_setTLE (Tase2_ClientDSTransferSet self, int32_t tle)
 Sets the TLE (Time Limit for Execution) value.
 
TASE2_API void Tase2_ClientDSTransferSet_setBufferTime (Tase2_ClientDSTransferSet self, int32_t bufferTime)
 Sets the buffer time (wait time until report is sent)
 
TASE2_API void Tase2_ClientDSTransferSet_setIntegrityCheck (Tase2_ClientDSTransferSet self, int32_t integrityCheck)
 Sets the integrity check interval time.
 
TASE2_API void Tase2_ClientDSTransferSet_setDSConditionsRequested (Tase2_ClientDSTransferSet self, int dsConditionsRequested)
 Sets the trigger conditions for reports (DS conditions (DS transfer sets))
 
TASE2_API void Tase2_ClientDSTransferSet_setBlockData (Tase2_ClientDSTransferSet self, bool blockData)
 Enables/disables block data transfer.
 
TASE2_API void Tase2_ClientDSTransferSet_setCritical (Tase2_ClientDSTransferSet self, bool critical)
 Sets the critical flag.
 
TASE2_API void Tase2_ClientDSTransferSet_setRBE (Tase2_ClientDSTransferSet self, bool rbe)
 Set the value of the RBE (report by exception) flag.
 
TASE2_API void Tase2_ClientDSTransferSet_setAllChangesReported (Tase2_ClientDSTransferSet self, bool allChangesReported)
 Enable/disable transmission of all changes.
 
TASE2_API void Tase2_ClientDSTransferSet_setStatus (Tase2_ClientDSTransferSet self, bool status)
 Enable/disable the status of condition monitoring (and report transmission)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeDataSetName (Tase2_ClientDSTransferSet self, Tase2_Client client, const char *domainId, const char *dataSetId)
 Write the name of the transfer set data set (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeStartTime (Tase2_ClientDSTransferSet self, Tase2_Client client, int32_t startTime)
 Sets the start time of transfer set monitoring (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeInterval (Tase2_ClientDSTransferSet self, Tase2_Client client, int32_t interval)
 Sets the interval time for transfer set reports (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeTLE (Tase2_ClientDSTransferSet self, Tase2_Client client, int32_t tle)
 Sets the TLE (Time Limit for Execution) value (write immediately to server).
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeBufferTime (Tase2_ClientDSTransferSet self, Tase2_Client client, int32_t bufferTime)
 Sets the buffer time (wait time until report is sent) (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeIntegrityCheck (Tase2_ClientDSTransferSet self, Tase2_Client client, int32_t integrityCheck)
 Sets the integrity check interval time (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeDSConditionsRequested (Tase2_ClientDSTransferSet self, Tase2_Client client, int dsConditionsRequested)
 Sets the trigger conditions for reports (DS conditions (DS transfer sets)) (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeBlockData (Tase2_ClientDSTransferSet self, Tase2_Client client, bool blockData)
 Enables/disables block data transfer (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeCritical (Tase2_ClientDSTransferSet self, Tase2_Client client, bool critical)
 Set the value of the critical flag (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeRBE (Tase2_ClientDSTransferSet self, Tase2_Client client, bool rbe)
 Write the value of the RBE (report by exception) flag (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeAllChangesReported (Tase2_ClientDSTransferSet self, Tase2_Client client, bool allChangesReported)
 Enable/disable transmission of all changes (write immediately to server)
 
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_writeStatus (Tase2_ClientDSTransferSet self, Tase2_Client client, bool status)
 Enable/disable the status of condition monitoring and report transmission (write immediately to server)
 
TASE2_API uint8_t Tase2_ClientDSTransferSet_getDSConditionsDetected (Tase2_ClientDSTransferSet self)
 Get the DSConditions Detected value from the last received report.
 
TASE2_API int16_t Tase2_ClientDSTransferSet_getEventCodeDetected (Tase2_ClientDSTransferSet self)
 Get the event code detected value from the last received report.
 
TASE2_API int32_t Tase2_ClientDSTransferSet_getTransferSetTimestamp (Tase2_ClientDSTransferSet self)
 Get the transfer set timestamp value from the last received report.
 
TASE2_API void Tase2_ClientDSTransferSet_destroy (Tase2_ClientDSTransferSet self)
 Destroy transfer set.
 
TASE2_API Tase2_Client Tase2_Client_create (TLSConfiguration tlsConfig)
 Create a new TASE.2 client instance.
 
TASE2_API Tase2_Client Tase2_Client_createEx (Tase2_Endpoint endpoint)
 Create a new Tase2_Client instance using an existing endpoint.
 
TASE2_API Tase2_Endpoint Tase2_Client_getEndpoint (Tase2_Client self)
 Get the endpoint instance this client is assigned.
 
TASE2_API void Tase2_Client_destroy (Tase2_Client self)
 Destroy the client instance. Releases all resources.
 
TASE2_API Tase2_Statistics Tase2_Client_getStatistics (Tase2_Client self)
 Access some statistical information for the client connection.
 
TASE2_API void Tase2_Client_setIdentity (Tase2_Client self, const char *vendor, const char *model, const char *revision)
 Set own identity for the identity service.
 
TASE2_API void Tase2_Client_installDSTransferSetValueHandler (Tase2_Client self, Tase2_DSTransferSetValueHandler handler, void *parameter)
 Install the callback handler to get data points from received transfer set reports.
 
TASE2_API void Tase2_Client_installDSTransferSetReportHandler (Tase2_Client self, Tase2_DSTransferSetReportHandler handler, void *parameter)
 Install the callback handler for received transfer set reports.
 
TASE2_API void Tase2_Client_installConnectionClosedHandler (Tase2_Client self, Tase2_ConnectionClosedHandler handler, void *parameter)
 Install a handler function that will be called when the connection is lost.
 
TASE2_API void Tase2_Client_installStateChangedHandler (Tase2_Client self, Tase2_Client_StateChangedHandler handler, void *parameter)
 Install a handler that is called whenever the client state changes (e.g. client gets connected or disconnected)
 
TASE2_API void Tase2_Client_setTcpPort (Tase2_Client self, int tcpPort)
 Change default remote TCP port used by this client.
 
TASE2_API void Tase2_Client_setRemoteApplicationAddress (Tase2_Client self, Tase2_ApplicationAddress remoteAddress)
 Sets the remote application endpoint addresses.
 
TASE2_API void Tase2_Client_setRemoteApTitle (Tase2_Client self, const char *apTitle, int aeQualifier)
 Set application endpoint identifier of remote endpoint (AP-title and AE-qualifier)
 
TASE2_API void Tase2_Client_setRemoteAddresses (Tase2_Client self, Tase2_PSelector pSelector, Tase2_SSelector sSelector, Tase2_TSelector tSelector)
 set remote addresses for the lower layers
 
TASE2_API void Tase2_Client_setRemoteApInvocationId (Tase2_Client self, int apInvocationId)
 Set remote AP-invocation-ID (for active endpoint)
 
TASE2_API void Tase2_Client_setRemoteAeInvocationId (Tase2_Client self, int aeInvocationId)
 Set remote AE-invocation-ID (for active endpoint)
 
TASE2_API void Tase2_Client_setLocalApTitle (Tase2_Client self, const char *apTitle, int aeQualifier)
 Set application endpoint identifier of the local endpoint.
 
TASE2_API void Tase2_Client_setLocalAddresses (Tase2_Client self, Tase2_PSelector pSelector, Tase2_SSelector sSelector, Tase2_TSelector tSelector)
 set local addresses for the lower layers
 
TASE2_API void Tase2_Client_setLocalApInvocationId (Tase2_Client self, int apInvocationId)
 Set local AP-invocation-ID.
 
TASE2_API void Tase2_Client_setLocalAeInvocationId (Tase2_Client self, int aeInvocationId)
 Set local AE-invocation-ID.
 
TASE2_API void Tase2_Client_setMaxOutstandingCalls (Tase2_Client self, int calling, int called)
 Set the maximum number outstanding calls allowed for this connection.
 
TASE2_API Tase2_ClientError Tase2_Client_connect (Tase2_Client self, const char *hostname, const char *apTitle, int aeQualifier)
 connect to server and collect basic server information
 
TASE2_API Tase2_ClientError Tase2_Client_connectEx (Tase2_Client self)
 Connect to server with default settings from endpoint.
 
TASE2_API void Tase2_Client_disconnect (Tase2_Client self)
 disconnect from the server
 
TASE2_API Tase2_ClientState Tase2_Client_getState (Tase2_Client self)
 Get the connection state of the connection.
 
TASE2_API char * Tase2_Client_getBilateralTableId (Tase2_Client self, Tase2_ClientError *err, const char *domainName)
 return the bilateral table ID associated with a TASE.2 domain
 
TASE2_API Tase2_Version Tase2_Client_getServerVersion (Tase2_Client self)
 Get the TASE.2 version reported by the server.
 
TASE2_API int Tase2_Client_getServerVersionMajor (Tase2_Client self)
 Get the major version part of the server version.
 
TASE2_API int Tase2_Client_getServerVersionMinor (Tase2_Client self)
 Get the minor version part of the server version.
 
TASE2_API int Tase2_Client_getSupportedFeatures (Tase2_Client self)
 Get a bit set value representing the support conformance blocks (CB) of the server.
 
TASE2_API void Tase2_Client_readPeerIdentity (Tase2_Client self, Tase2_ClientError *err, char **vendor, char **model, char **revision)
 Get the identity of the peer.
 
TASE2_API LinkedList Tase2_Client_getVCCVariables (Tase2_Client self, Tase2_ClientError *err)
 Get the list of VCC scope variables.
 
TASE2_API LinkedList Tase2_Client_getVCCDataSets (Tase2_Client self, Tase2_ClientError *err)
 Get the list of VCC scope data sets.
 
TASE2_API LinkedList Tase2_Client_getDomainNames (Tase2_Client self, Tase2_ClientError *err)
 Get the list of available domains.
 
TASE2_API LinkedList Tase2_Client_getDomainVariables (Tase2_Client self, const char *domainName, Tase2_ClientError *err)
 Get the list of domain scope variables.
 
TASE2_API LinkedList Tase2_Client_getDomainDataSets (Tase2_Client self, const char *domainName, Tase2_ClientError *err)
 Get the list of domain scope data sets.
 
TASE2_API const char * Tase2_DataSetEntrySpec_getDomainId (Tase2_DataSetEntrySpec self)
 Get the domain ID of the data set entry.
 
TASE2_API const char * Tase2_DataSetEntrySpec_getItemId (Tase2_DataSetEntrySpec self)
 Get the item ID of the data set entry.
 
TASE2_API void Tase2_DataSetEntrySpec_destroy (Tase2_DataSetEntrySpec self)
 Delete a data set entry specification.
 
TASE2_API LinkedList Tase2_Client_getDataSetDirectory (Tase2_Client self, const char *domainName, const char *dataSetName, Tase2_ClientError *err)
 Read a data set directory.
 
TASE2_API int Tase2_Client_selectDevice (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName)
 Select a device (command or setpoint) for SBO control mode.
 
TASE2_API bool Tase2_Client_setTag (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName, Tase2_TagValue tagValue, const char *reason)
 Set tag operation. Set a tag value and a reason message for a device (control point).
 
TASE2_API Tase2_TagValue Tase2_Client_getTag (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName, bool *isArmed, char *reasonBuf, int reasonBufSize)
 Read the tag.
 
TASE2_API bool Tase2_Client_sendCommand (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName, int16_t commandValue)
 Send a command to a device.
 
TASE2_API bool Tase2_Client_sendDiscreteSetPoint (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName, int16_t setPointValue)
 Send a discrete set point to a device.
 
TASE2_API bool Tase2_Client_sendRealSetPoint (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *deviceName, float setPointValue)
 Send a "real" (float) set point to a device.
 
TASE2_API Tase2_PointValue Tase2_Client_readPointValue (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *pointName)
 Read a data point (indication point or protection equipment) from the server.
 
TASE2_API LinkedList Tase2_Client_readMultiplePointValues (Tase2_Client self, Tase2_ClientError *err, const char *domainName, LinkedList pointNames)
 Read multiple data points from the server.
 
TASE2_API void Tase2_Client_writePointValue (Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *pointName, Tase2_PointValue value)
 Write a data point (indication point or protection equipment) value to the server.
 
TASE2_API void Tase2_Client_IMTransferSetEnable (Tase2_Client self, Tase2_ClientError *err)
 Enable information message transfer set.
 
TASE2_API void Tase2_Client_IMTransferSetDisable (Tase2_Client self, Tase2_ClientError *err)
 Disable information message transfer set.
 
TASE2_API void Tase2_Client_installIMTransferSetHandler (Tase2_Client self, Tase2_InformationMessageHandler handler, void *parameter)
 Install callback handler for information messages (IM transfer set)
 
TASE2_API void Tase2_FreeMemory (void *ptr)
 Release memory allocated by the library (intended to be used by API wrappers)
 

Function Documentation

◆ Tase2_FreeMemory()

TASE2_API void Tase2_FreeMemory ( void * ptr)

Release memory allocated by the library (intended to be used by API wrappers)

Parameters
pointerto the allocated memory