11#ifndef SRC_TASE2_CLIENT_TASE2_CLIENT_H_
12#define SRC_TASE2_CLIENT_TASE2_CLIENT_H_
153 const char* domainName,
const char* dataSetName,
154 LinkedList dataSetElements);
216TASE2_API Tase2_PointName
1356TASE2_API
const char*
1362TASE2_API
const char*
struct sTLSConfiguration * TLSConfiguration
Definition tls_config.h:38
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 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 LinkedList Tase2_Client_getVCCDataSets(Tase2_Client self, Tase2_ClientError *err)
Get the list of VCC scope data sets.
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 void Tase2_ClientDSTransferSet_setTLE(Tase2_ClientDSTransferSet self, int32_t tle)
Sets the TLE (Time Limit for Execution) value.
TASE2_API bool Tase2_ClientDSTransferSet_getAllChangesReported(Tase2_ClientDSTransferSet self)
Get the value of the AllChangesReported attribute.
TASE2_API void Tase2_Client_IMTransferSetDisable(Tase2_Client self, Tase2_ClientError *err)
Disable information message transfer set.
TASE2_API int32_t Tase2_ClientDSTransferSet_getBufferTime(Tase2_ClientDSTransferSet self)
Get the buffer time value.
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 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 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 void Tase2_Client_setRemoteApplicationAddress(Tase2_Client self, Tase2_ApplicationAddress remoteAddress)
Sets the remote application endpoint addresses.
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_Client_connect(Tase2_Client self, const char *hostname, const char *apTitle, int aeQualifier)
connect to server and collect basic server information
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_Client_setRemoteApInvocationId(Tase2_Client self, int apInvocationId)
Set remote AP-invocation-ID (for active endpoint)
TASE2_API int32_t Tase2_ClientDSTransferSet_getIntegrityCheck(Tase2_ClientDSTransferSet self)
Get the integrity check interval time.
TASE2_API void Tase2_ClientDSTransferSet_setInterval(Tase2_ClientDSTransferSet self, int32_t interval)
Sets the interval time for transfer set reports.
TASE2_API const char * Tase2_ClientDSTransferSet_getDomain(Tase2_ClientDSTransferSet self)
Get the domain name of the DSTransferSet.
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 void Tase2_ClientDSTransferSet_setCritical(Tase2_ClientDSTransferSet self, bool critical)
Sets the critical flag.
TASE2_API void Tase2_Client_setLocalAeInvocationId(Tase2_Client self, int aeInvocationId)
Set local AE-invocation-ID.
TASE2_API const char * Tase2_ClientDSTransferSet_getDataSetName(Tase2_ClientDSTransferSet self)
Get the name of the data set.
TASE2_API void Tase2_Client_disconnect(Tase2_Client self)
disconnect from the server
TASE2_API void Tase2_ClientDSTransferSet_setRBE(Tase2_ClientDSTransferSet self, bool rbe)
Set the value of the RBE (report by exception) flag.
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 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 serv...
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 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 const char * Tase2_ClientDataSet_getDomainName(Tase2_ClientDataSet self)
Get the domain name of the data set.
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_Client_setTcpPort(Tase2_Client self, int tcpPort)
Change default remote TCP port used by this client.
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.
Definition tase2_client.h:79
TASE2_API const char * Tase2_ClientDSTransferSet_getName(Tase2_ClientDSTransferSet self)
Get the name of the DSTransferSet.
void(* Tase2_ConnectionClosedHandler)(void *parameter, Tase2_Client connection)
Callback handler that is called when the server closes the connection.
Definition tase2_client.h:100
TASE2_API bool Tase2_ClientDSTransferSet_getBlockData(Tase2_ClientDSTransferSet self)
Get the information if blocked data transfer is used.
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 LinkedList Tase2_Client_getDataSetDirectory(Tase2_Client self, const char *domainName, const char *dataSetName, Tase2_ClientError *err)
Read a data set directory.
TASE2_API Tase2_Version Tase2_Client_getServerVersion(Tase2_Client self)
Get the TASE.2 version reported by the server.
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 Tase2_ClientState Tase2_Client_getState(Tase2_Client self)
Get the connection state of the connection.
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 int16_t Tase2_ClientDSTransferSet_getEventCodeDetected(Tase2_ClientDSTransferSet self)
Get the event code detected value from the last received report.
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_Client_connectEx(Tase2_Client self)
Connect to server with default settings from endpoint.
TASE2_API void Tase2_Client_IMTransferSetEnable(Tase2_Client self, Tase2_ClientError *err)
Enable information message transfer set.
TASE2_API int32_t Tase2_ClientDSTransferSet_getTransferSetTimestamp(Tase2_ClientDSTransferSet self)
Get the transfer set timestamp value from the last received report.
TASE2_API LinkedList Tase2_Client_getDomainNames(Tase2_Client self, Tase2_ClientError *err)
Get the list of available domains.
TASE2_API void Tase2_Client_setLocalApTitle(Tase2_Client self, const char *apTitle, int aeQualifier)
Set application endpoint identifier of the local endpoint.
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 int Tase2_ClientDSTransferSet_getDSConditionsRequested(Tase2_ClientDSTransferSet self)
Get the DSConditions to trigger a report transmission.
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 int32_t Tase2_ClientDSTransferSet_getStartTime(Tase2_ClientDSTransferSet self)
Get the start time of report transmission.
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 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 LinkedList Tase2_Client_getDomainVariables(Tase2_Client self, const char *domainName, Tase2_ClientError *err)
Get the list of domain scope variables.
TASE2_API int Tase2_Client_getServerVersionMajor(Tase2_Client self)
Get the major version part of the server version.
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 bool Tase2_ClientDataSet_isDeletable(Tase2_ClientDataSet self)
Check if the data set can be deleted by the client.
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_Client Tase2_Client_create(TLSConfiguration tlsConfig)
Create a new TASE.2 client instance.
TASE2_API void Tase2_Client_setLocalApInvocationId(Tase2_Client self, int apInvocationId)
Set local AP-invocation-ID.
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 dis...
TASE2_API const char * Tase2_DataSetEntrySpec_getItemId(Tase2_DataSetEntrySpec self)
Get the item ID of the data set entry.
struct sTase2_ClientDataSet * Tase2_ClientDataSet
Client side representation of a data set.
Definition tase2_client.h:49
TASE2_API void Tase2_Client_destroy(Tase2_Client self)
Destroy the client instance. Releases all resources.
TASE2_API uint8_t Tase2_ClientDSTransferSet_getDSConditionsDetected(Tase2_ClientDSTransferSet self)
Get the DSConditions Detected value from the last received report.
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 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 int32_t Tase2_ClientDSTransferSet_getInterval(Tase2_ClientDSTransferSet self)
Get the transmission interval of the report.
TASE2_API Tase2_ClientError Tase2_ClientDataSet_read(Tase2_ClientDataSet self, Tase2_Client client)
read the data set values from the server
TASE2_API const char * Tase2_ClientDSTransferSet_getDataSetDomain(Tase2_ClientDSTransferSet self)
Get the domain name of the data set.
TASE2_API void Tase2_ClientDSTransferSet_setAllChangesReported(Tase2_ClientDSTransferSet self, bool allChangesReported)
Enable/disable transmission of all changes.
TASE2_API Tase2_ClientError Tase2_ClientDSTransferSet_readValues(Tase2_ClientDSTransferSet self, Tase2_Client client)
Read the values of the DSTransferSet from the server.
TASE2_API void Tase2_ClientDSTransferSet_destroy(Tase2_ClientDSTransferSet self)
Destroy 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_ClientDataSet_destroy(Tase2_ClientDataSet self)
Destroy the client data set instance and release all resources.
TASE2_API void Tase2_Client_setRemoteAeInvocationId(Tase2_Client self, int aeInvocationId)
Set remote AE-invocation-ID (for active endpoint)
TASE2_API Tase2_Statistics Tase2_Client_getStatistics(Tase2_Client self)
Access some statistical information for the client connection.
TASE2_API LinkedList Tase2_Client_getVCCVariables(Tase2_Client self, Tase2_ClientError *err)
Get the list of VCC scope variables.
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 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 int Tase2_Client_getSupportedFeatures(Tase2_Client self)
Get a bit set value representing the support conformance blocks (CB) of the server.
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_ClientDSTransferSet_writeBlockData(Tase2_ClientDSTransferSet self, Tase2_Client client, bool blockData)
Enables/disables block data transfer (write immediately to server)
TASE2_API void Tase2_DataSetEntrySpec_destroy(Tase2_DataSetEntrySpec self)
Delete a data set entry specification.
TASE2_API const char * Tase2_DataSetEntrySpec_getDomainId(Tase2_DataSetEntrySpec self)
Get the domain ID of the data set entry.
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 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 void Tase2_ClientDSTransferSet_setDataSetName(Tase2_ClientDSTransferSet self, const char *domainId, const char *dataSetId)
Sets the name of the transfer set data set.
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_Endpoint Tase2_Client_getEndpoint(Tase2_Client self)
Get the endpoint instance this client is assigned.
TASE2_API int Tase2_Client_getServerVersionMinor(Tase2_Client self)
Get the minor version part of the server version.
TASE2_API int32_t Tase2_ClientDSTransferSet_getTLE(Tase2_ClientDSTransferSet self)
Get the TLE (Time Limit for Execution) value.
TASE2_API bool Tase2_Client_deleteDataSet(Tase2_Client self, Tase2_ClientError *err, const char *domainName, const char *dataSetName)
Delete a data set.
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 serve...
TASE2_API int Tase2_ClientDataSet_getSize(Tase2_ClientDataSet self)
Get the size (number of entries) of the data set.
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)
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)
Definition tase2_client.h:90
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 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 Tase2_Client Tase2_Client_createEx(Tase2_Endpoint endpoint)
Create a new Tase2_Client instance using an existing endpoint.
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 void Tase2_ClientDSTransferSet_setIntegrityCheck(Tase2_ClientDSTransferSet self, int32_t integrityCheck)
Sets the integrity check interval time.
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 bool Tase2_ClientDSTransferSet_getRBE(Tase2_ClientDSTransferSet self)
Get the value of the RBE (report by exception) flag.
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 Tase2_ClientError Tase2_ClientDSTransferSet_writeValues(Tase2_ClientDSTransferSet self, Tase2_Client client)
Write the buffered values of the DSTransferSet to the server.
TASE2_API void Tase2_ClientDSTransferSet_setDataSet(Tase2_ClientDSTransferSet self, Tase2_ClientDataSet dataSet)
Associate a data set instance with the transfer set.
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)
struct sTase2_ClientDSTransferSet * Tase2_ClientDSTransferSet
Client side representation of a DS transfer set.
Definition tase2_client.h:36
void(* Tase2_Client_StateChangedHandler)(void *parameter, Tase2_Client client, Tase2_ClientState newState)
Callback handler that is called whenever the client state changes.
Definition tase2_client.h:110
Tase2_ClientState
Definition tase2_client.h:40
TASE2_API bool Tase2_ClientDSTransferSet_getStatus(Tase2_ClientDSTransferSet self)
Get status of the transfer set.
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.
Definition tase2_client.h:61
TASE2_API const char * Tase2_ClientDataSet_getDataSetName(Tase2_ClientDataSet self)
Get the name of the data set.
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 Tase2_ClientDataSet Tase2_ClientDSTransferSet_getDataSet(Tase2_ClientDSTransferSet self)
Get Tase2_ClientDataSet instance of the transfer set data set.
TASE2_API bool Tase2_ClientDSTransferSet_getCritical(Tase2_ClientDSTransferSet self)
Get the value of the critical flag.
TASE2_API void Tase2_ClientDSTransferSet_setBlockData(Tase2_ClientDSTransferSet self, bool blockData)
Enables/disables block data transfer.
TASE2_API void Tase2_ClientDSTransferSet_setStartTime(Tase2_ClientDSTransferSet self, int32_t startTime)
Sets the start time of transfer set monitoring.
TASE2_API void Tase2_Client_installIMTransferSetHandler(Tase2_Client self, Tase2_InformationMessageHandler handler, void *parameter)
Install callback handler for information messages (IM transfer set)
@ TASE2_CLIENT_STATE_CONNECTED
Definition tase2_client.h:42
@ TASE2_CLIENT_STATE_IDLE
Definition tase2_client.h:41
@ TASE2_CLIENT_STATE_CLOSED
Definition tase2_client.h:43
Tase2_ClientError
Client side error code.
Definition tase2_common.h:169
Tase2_TagValue
Definition tase2_common.h:293
struct sTase2_Client * Tase2_Client
A TASE.2 client to communicate with a single TASE.2 server.
Definition tase2_endpoint.h:88
struct sTase2_Endpoint * Tase2_Endpoint
A TASE.2 endpoint that can be configured as passive (TCP server) or active (TCP client)
Definition tase2_endpoint.h:32
struct sTase2_PointValue * Tase2_PointValue
A TASE.2 point value with type information.
Definition tase2_common.h:388
A data set entry specification.
Definition tase2_client.h:1331
const char * domainId
Definition tase2_client.h:1335
const char * componentName
Definition tase2_client.h:1350
const char * itemId
Definition tase2_client.h:1340
int32_t arrayIndex
Definition tase2_client.h:1345
P selector (ISO presentation layer address)
Definition tase2_endpoint.h:123
S selector (ISO session layer address)
Definition tase2_endpoint.h:112
Some stack statistics.
Definition tase2_common.h:131
T selector (ISO transport layer address)
Definition tase2_endpoint.h:101
Definition tase2_client.h:28
int32_t major
Definition tase2_client.h:29
int32_t minor
Definition tase2_client.h:30
TASE2_API void Tase2_FreeMemory(void *ptr)
Release memory allocated by the library (intended to be used by API wrappers)