libtase2  2.4.0
TASE.2/ICCP Protocol Source Code Library for C/C++
Loading...
Searching...
No Matches
tase2_client.h
Go to the documentation of this file.
1/*
2 * tase2_client.h
3 *
4 * This file is part of libtase2
5 *
6 * Copyright 2017-2019 MZ Automation GmbH
7 *
8 * All rights reserved.
9 */
10
11#ifndef SRC_TASE2_CLIENT_TASE2_CLIENT_H_
12#define SRC_TASE2_CLIENT_TASE2_CLIENT_H_
13
14#include "tase2_common.h"
15#include "tase2_endpoint.h"
16#include "tls_config.h"
17#include "linked_list.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
28typedef struct {
29 int32_t major;
30 int32_t minor;
32
36typedef struct sTase2_ClientDSTransferSet* Tase2_ClientDSTransferSet;
37
45
49typedef struct sTase2_ClientDataSet* Tase2_ClientDataSet;
50
60typedef void
61(*Tase2_DSTransferSetValueHandler) (void* parameter, Tase2_ClientDSTransferSet transferSet, const char* domainName, const char* pointName, Tase2_PointValue pointValue);
62
78typedef void
79(*Tase2_DSTransferSetReportHandler) (void* parameter, bool finished, uint32_t seq, Tase2_ClientDSTransferSet transferSet);
80
89typedef void
90(*Tase2_InformationMessageHandler) (void* parameter, int32_t infoRef, int32_t localRef, int32_t msgId, int32_t size, uint8_t* messageBuffer);
91
92
99typedef void
100(*Tase2_ConnectionClosedHandler) (void* parameter, Tase2_Client connection);
101
109typedef void
110(*Tase2_Client_StateChangedHandler) (void* parameter, Tase2_Client client, Tase2_ClientState newState);
111
112
129TASE2_API Tase2_ClientDataSet
130Tase2_Client_getDataSet(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* dataSetName);
131
151TASE2_API bool
153 const char* domainName, const char* dataSetName,
154 LinkedList /* <char*> */dataSetElements);
155
171TASE2_API bool
172Tase2_Client_deleteDataSet(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* dataSetName);
173
181TASE2_API const char*
183
189TASE2_API const char*
191
197TASE2_API bool
199
205TASE2_API int
207
216TASE2_API Tase2_PointName
218
227TASE2_API const char*
229
238TASE2_API const char*
240
241
250TASE2_API Tase2_PointValue
252
264TASE2_API Tase2_ClientError
266
272TASE2_API void
274
284
296TASE2_API Tase2_ClientError
298
313TASE2_API Tase2_ClientError
315
321TASE2_API const char*
323
329TASE2_API const char*
331
339TASE2_API const char*
341
349TASE2_API const char*
351
359TASE2_API Tase2_ClientDataSet
361
369TASE2_API int32_t
371
382TASE2_API int32_t
384
392TASE2_API int32_t
394
407TASE2_API int32_t
409
417TASE2_API int32_t
419
427TASE2_API int
429
439TASE2_API bool
441
452TASE2_API bool
454
465TASE2_API bool
467
478TASE2_API bool
480
488TASE2_API bool
490
496TASE2_API int16_t
498
507TASE2_API void
508Tase2_ClientDSTransferSet_setDataSetName(Tase2_ClientDSTransferSet self, const char* domainId, const char* dataSetId);
509
516TASE2_API void
518
525TASE2_API void
527
536TASE2_API void
538
545TASE2_API void
547
554TASE2_API void
556
563TASE2_API void
565
572TASE2_API void
574
584TASE2_API void
586
595TASE2_API void
597
604TASE2_API void
606
613TASE2_API void
615
622TASE2_API void
624
638TASE2_API Tase2_ClientError
639Tase2_ClientDSTransferSet_writeDataSetName(Tase2_ClientDSTransferSet self, Tase2_Client client, const char* domainId, const char* dataSetId);
640
653TASE2_API Tase2_ClientError
655
670TASE2_API Tase2_ClientError
672
685TASE2_API Tase2_ClientError
687
700TASE2_API Tase2_ClientError
702
715TASE2_API Tase2_ClientError
717
730TASE2_API Tase2_ClientError
732
748TASE2_API Tase2_ClientError
750
766TASE2_API Tase2_ClientError
768
781TASE2_API Tase2_ClientError
783
796TASE2_API Tase2_ClientError
798
811TASE2_API Tase2_ClientError
813
829TASE2_API uint8_t
831
842TASE2_API int16_t
844
856TASE2_API int32_t
858
869TASE2_API void
871
881TASE2_API Tase2_Client
883
891TASE2_API Tase2_Client
893
901TASE2_API Tase2_Endpoint
903
911TASE2_API void
913
924TASE2_API Tase2_Statistics
926
935TASE2_API void
936Tase2_Client_setIdentity(Tase2_Client self, const char* vendor, const char* model, const char* revision);
937
945TASE2_API void
947
958TASE2_API void
960
968TASE2_API void
970
978TASE2_API void
980
987TASE2_API void
989
996TASE2_API void
997Tase2_Client_setRemoteApplicationAddress(Tase2_Client self, Tase2_ApplicationAddress remoteAddress);
998
1012TASE2_API void
1013Tase2_Client_setRemoteApTitle(Tase2_Client self, const char* apTitle, int aeQualifier);
1014
1029TASE2_API void
1031
1039TASE2_API void
1041
1049TASE2_API void
1051
1063TASE2_API void
1064Tase2_Client_setLocalApTitle(Tase2_Client self, const char* apTitle, int aeQualifier);
1065
1078TASE2_API void
1080
1088TASE2_API void
1090
1098TASE2_API void
1100
1108TASE2_API void
1110
1121TASE2_API Tase2_ClientError
1122Tase2_Client_connect(Tase2_Client self, const char* hostname, const char* apTitle, int aeQualifier);
1123
1134TASE2_API Tase2_ClientError
1136
1146TASE2_API void
1148
1156TASE2_API Tase2_ClientState
1158
1175TASE2_API char*
1177
1185TASE2_API Tase2_Version
1187
1195TASE2_API int
1197
1205TASE2_API int
1207
1215TASE2_API int
1217
1232TASE2_API void
1233Tase2_Client_readPeerIdentity(Tase2_Client self, Tase2_ClientError* err, char** vendor, char** model, char** revision);
1234
1235/***************************************************************
1236 * Functions for server data model discovery
1237 ***************************************************************/
1238
1253TASE2_API LinkedList /* <char*> */
1255
1270TASE2_API LinkedList /* <char*> */
1272
1287TASE2_API LinkedList /* <char*> */
1289
1305TASE2_API LinkedList /* <char*> */
1307
1323TASE2_API LinkedList /* <char*> */
1325
1326
1330typedef struct
1331{
1335 const char* domainId;
1336
1340 const char* itemId;
1341
1345 int32_t arrayIndex;
1346
1350 const char* componentName;
1352
1356TASE2_API const char*
1358
1362TASE2_API const char*
1364
1368TASE2_API void
1370
1390TASE2_API LinkedList /* <Tase2_DataSetEntrySpec> */
1391Tase2_Client_getDataSetDirectory(Tase2_Client self, const char* domainName, const char* dataSetName, Tase2_ClientError* err);
1392
1393
1394
1395/***************************************************************
1396 * Functions for control point handling
1397 ***************************************************************/
1398
1399
1411TASE2_API int
1412Tase2_Client_selectDevice(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName);
1413
1427TASE2_API bool
1428Tase2_Client_setTag(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName, Tase2_TagValue tagValue, const char* reason);
1429
1446TASE2_API Tase2_TagValue
1447Tase2_Client_getTag(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName, bool* isArmed, char* reasonBuf, int reasonBufSize);
1448
1463TASE2_API bool
1464Tase2_Client_sendCommand(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName, int16_t commandValue);
1465
1477TASE2_API bool
1478Tase2_Client_sendDiscreteSetPoint(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName, int16_t setPointValue);
1479
1491TASE2_API bool
1492Tase2_Client_sendRealSetPoint(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* deviceName, float setPointValue);
1493
1494
1495/******************************************************************
1496 * Functions for protection events and indication point handling
1497 ******************************************************************/
1498
1514TASE2_API Tase2_PointValue
1515Tase2_Client_readPointValue(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* pointName);
1516
1532TASE2_API LinkedList /* <Tase2_PointValue> */
1533Tase2_Client_readMultiplePointValues(Tase2_Client self, Tase2_ClientError* err, const char* domainName, LinkedList pointNames);
1534
1548TASE2_API void
1549Tase2_Client_writePointValue(Tase2_Client self, Tase2_ClientError* err, const char* domainName, const char* pointName, Tase2_PointValue value);
1550
1551/******************************************************************
1552 * Functions for information message transfer set handling
1553 ******************************************************************/
1554
1555
1564TASE2_API void
1566
1575TASE2_API void
1577
1584TASE2_API void
1586
1594TASE2_API void
1596
1597#ifdef __cplusplus
1598}
1599#endif
1600
1601#endif /* SRC_TASE2_CLIENT_TASE2_CLIENT_H_ */
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)
TLS API functions.