10 #ifndef PROTOCOL_PROTOCOL_H
11 #define PROTOCOL_PROTOCOL_H 1
13 #ifndef ZFORCECOMMON_H
14 #error Please include "zForceCommon.h" before this file.
117 uint32_t totalNumberOfDevices,
bool HasTotalNumberOfDevices,
118 uint32_t coreDevices,
bool HasCoreDevices,
119 uint32_t airDevices,
bool HasAirDevices,
120 uint32_t plusDevices,
bool HasPlusDevices,
121 uint32_t lightingDevices,
bool HasLightingDevices);
145 DataFrame * ( * CreateResolutionRequest) (Protocol * self, Device * device, MessageAction action,
146 uint32_t x,
bool hasX,
147 uint32_t y,
bool hasY,
148 uint32_t z,
bool hasZ);
171 uint32_t lowerBoundX, uint32_t upperBoundX,
bool xIsValid,
172 uint32_t lowerBoundY, uint32_t upperBoundY,
bool yIsValid);
193 bool xIsReversed,
bool yIsReversed);
251 bool areTouchesMerged);
290 uint8_t * identifier, uint32_t bufferSize);
312 bool continuousMode, uint32_t numberOfMessages);
417 bool maximumSizeEnabled, uint32_t maximumSize,
418 bool minimumSizeEnabled, uint32_t minimumSize);
438 uint32_t numberOfTrackedObjects);
461 uint32_t offsetX,
bool offsetXIsValid,
462 uint32_t offsetY,
bool offsetYIsValid);
485 uint32_t sizeX,
bool sizeXIsValid,
486 uint32_t sizeY,
bool sizeYIsValid);
511 uint32_t clickOnTouchTime,
bool clickOnTouchTimeIsValid,
512 uint32_t clickOnTouchRadius,
bool clickOnTouchRadiusIsValid);
535 bool enabled,
bool enabledIsValid,
536 uint32_t time,
bool timeIsValid);
567 bool enabled,
bool enabledIsValid,
569 uint32_t leftOuter,
bool leftIsValid,
571 uint32_t rightOuter,
bool rightIsValid,
573 uint32_t topOuter,
bool topIsValid,
574 uint32_t bottomInner,
575 uint32_t bottomOuter,
bool bottomIsValid);
605 uint32_t doubleClickPreventionTime,
606 bool doubleClickPreventionTimeIsValid,
607 uint32_t doubleClickPreventionRadius,
608 bool doubleClickPreventionRadiusIsValid);
DLLEXTERNAL Protocol * Protocol_GetInstance(Connection *connection, char *protocolString, char *dataFrameType)
This is the Protocol factory function.
DLLEXTERNAL bool Protocol_AddProtocol(ProtocolEntry *protocolEntry)
Add a new protocol to the list of those available.
DLLINTERNAL bool Protocol_Initialize(void)
Initialize the Protocol module.
DLLINTERNAL void Protocol_Uninitialize(void)
Unitialize the Protocol module.
The main Connection struct.
Definition: Connection.h:66
Struct containing the DataFrame information.
Definition: DataFrame.h:25
Device base class.
Definition: Device.h:26
This structure represents the base class of all protocol definitions.
Definition: Protocol.h:28
uint64_t NotificationSerialNumber
Definition: Protocol.h:45
Protocol * Base
The immediate base class of this Protocol class.
Definition: Protocol.h:30
bool(* Connect)(Protocol *self)
Perform protocol specific processing upon connection.
Definition: Protocol.h:67
void(* DestroyPrivateDeviceData)(Protocol *self, void *privateDeviceData)
Protocol Specific method to destroy any potential Protocol Specific Data stored in a Device;.
Definition: Protocol.h:51
zForce * zForce
A pointer to the global zForce instance.
Definition: Protocol.h:54
void(* Destructor)(Protocol *self)
The destructor for this class.
Definition: Protocol.h:48
uint64_t ResponseSerialNumber
Definition: Protocol.h:39
bool(* Disconnect)(Protocol *self)
Perform protocol specific processing upon disconnection.
Definition: Protocol.h:80
bool(* DecodeDataFrame)(Protocol *self, DataFrame *dataFrame)
Give a data frame to Protocol for processing.
Definition: Protocol.h:94
Connection * Connection
Each Protocol is linked to one connection.
Definition: Protocol.h:33
Main struct.
Definition: zForce.h:29
TouchModes
Enum describing what touch mode a device can be in.
Definition: zForceTypes.h:191
struct ProtocolEntry ProtocolEntry
Definition: zForceTypes.h:34
MessageAction
Enum describing the action of a message.
Definition: zForceTypes.h:146
OperationModes
Enum describing the OperationModes that a sensor can operate in.
Definition: zForceTypes.h:155