12 #ifndef CONNECTION_CONNECTION_H 13 #define CONNECTION_CONNECTION_H 15 #ifndef ZFORCECOMMON_H 16 #error Please include "zForceCommon.h" before this file. 17 #endif // ZFORCECOMMON_H 69 uint64_t LastResponseSerialNumber;
141 uint32_t deviceIndex);
153 bool ( * ReceiveDataFrame)(Connection *
self,
DataFrame * dateFrame);
168 bool ( * SendDataFrame)(Connection *
self,
DataFrame * dataFrame);
185 bool ( * SetMessageFilter)(Connection *
self,
Device * device,
203 void ( * ClearMessageFilter)(Connection *
self);
222 bool ( * EnqueueMessage)(Connection *
self,
Device * device,
255 bool ( * Connect)(Connection *
self);
280 bool ( * Disconnect)(Connection *
self);
301 void ( * Timeout)(Connection *
self);
320 void ( * SetTimeout)(Connection *
self,
321 uint64_t relativeTimeoutMilliSeconds);
336 void ( * SignalConnectionEstablished)(Connection *
self);
389 char * protocolString,
390 char * dataFrameType);
392 #endif // CONNECTION_CONNECTION_H Connection Fault.
Definition: Connection.h:26
void zForceMutex
Typecast to underlying (system) type.
Definition: OsAbstractionLayer.h:19
Device * FilterDevice
Which Device the filter is set to.
Definition: Connection.h:67
The main Connection struct.
Definition: Connection.h:56
bool IsConnected
Connected to unit.
Definition: Connection.h:65
Transport struct. This structure represents the base class of all Transport definitions.
Definition: Transport.h:47
Device ** Devices
List of Devices.
Definition: Connection.h:63
MessageType FilterMessageType
Definition: Connection.h:68
Queue * DeviceQueue
Queue to report Device events.
Definition: Connection.h:62
The Queue struct.
Definition: Queue.h:26
uint32_t ErrorCode
Error code if connection error.
Definition: Connection.h:35
The main Message struct.
Definition: Message.h:21
Struct containing the DataFrame information.
Definition: DataFrame.h:27
Queue * ConnectionQueue
Queue to report Connection events.
Definition: Connection.h:61
This structure represents the base class of all protocol definitions.
Definition: Protocol.h:31
MessageType
Enum describing the different message types that exists.
Definition: zForceTypes.h:91
Status changed to Connected.
Definition: Connection.h:24
ConnectionStatus
Connection events.
Definition: Connection.h:22
Main struct.
Definition: zForce.h:29
DeviceType
Enum describing the different device types that exists.
Definition: zForceTypes.h:77
zForce * zForce
Pointer to zForce instance.
Definition: Connection.h:58
Brief Device base class.
Definition: Device.h:24
zForceMutex * MessageFilterMutex
Message Filter Mutex.
Definition: Connection.h:66
DLLEXTERNAL Connection * Connection_New(char *connectionString, char *protocolString, char *dataFrameType)
Create a new Connection.
uint32_t NumberOfDevices
Number of Devices detected.
Definition: Connection.h:64
ConnectionStatus ConnectionStatus
New status of Connection.
Definition: Connection.h:34
Status changed to Disconnected.
Definition: Connection.h:25
Connection messages struct.
Definition: Connection.h:32
Protocol * Protocol
Protocol this Connection uses.
Definition: Connection.h:60
DLLINTERNAL ConnectionMessage * ConnectionMessage_New(ConnectionStatus connectionStatus, uint32_t errorCode)
Internal call used to create a new ConnectionMessage.
void(* Destructor)(ConnectionMessage *self)
Destructor.
Definition: Connection.h:36
Transport * Transport
Transport this Connection uses.
Definition: Connection.h:59