Neonode zForce(TM) SDK

Public Attributes | List of all members
Asn1Protocol Struct Reference

This structure represents the ASN.1 protocol class. More...

`#include <Asn1Protocol.h>`

Collaboration diagram for Asn1Protocol:
[legend]

## Public Attributes
Protocol * | Base
Connection * | Connection
uint64_t | ResponseSerialNumber
uint64_t | NotificationSerialNumber
void(* | Destructor )(Protocol *self)
void(* | DestroyPrivateDeviceData )(Protocol *self, void *privateDeviceData)
zForce * | zForce
bool(* | Connect )(Protocol *self)
| Perform protocol specific processing upon connection. More...
bool(* | Disconnect )(Protocol *self)
| Perform protocol specific processing upon disconnection. More...
bool(* | DecodeDataFrame )(Protocol *self, DataFrame *dataFrame)
| Give a data frame to Protocol for processing. More...
DataFrame *(* | CreateResolutionRequest )(Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ)
| Create a Resolution request. More...
DataFrame *(* | CreateTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundX, uint32_t upperBoundX, bool xIsValid, uint32_t lowerBoundY, uint32_t upperBoundY, bool yIsValid)
| Create a TouchActiveArea request. More...
DataFrame *(* | CreateReverseTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed)
| Create a ReverseTouchActiveArea request. More...
DataFrame *(* | CreateFlipXYRequest )(Protocol *self, Device *device, MessageAction action, bool axesAreFlipped)
| Create a FlipXY request. More...
DataFrame *(* | CreateReflectiveEdgeFilterRequest )(Protocol *self, Device *device, MessageAction action, bool isFilterOn)
| Create a ReflectiveEdgeFilter request. More...
DataFrame *(* | CreateMergeTouchesRequest )(Protocol *self, Device *device, MessageAction action, bool areTouchesMerged)
| Create a MergeTouches request. More...
DataFrame *(* | CreateDetectionModeRequest )(Protocol *self, Device *device, MessageAction action)
| Create a DetectionMode request. More...
DataFrame *(* | CreateMcuUniqueIdentifierRequest )(Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize)
| Create a McuUniqueIdentifier request. More...
DataFrame *(* | CreateEnableRequest )(Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages)
| Create an Enable request. More...
DataFrame *(* | CreateOperationModesRequest )(Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues)
| Create an OperationModes request. More...
DataFrame *(* | CreateDisableRequest )(Protocol *self, Device *device, MessageAction action)
| Create a Disable request. More...
DataFrame *(* | CreateFingerFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency)
| Create a FingerFrequency request. More...
DataFrame *(* | CreateIdleFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency)
| Create an IdleFrequency request. More...
DataFrame *(* | CreateDetectedObjectSizeRestrictionRequest )(Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize)
| Create a DetectedObjectSizeRestriction request. More...
DataFrame *(* | CreateNumberOfTrackedObjectsRequest )(Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects)
| Create a NumberOfTrackedObjects request. More...
DataFrame *(* | CreateOffsetRequest )(Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid)
| Create an Offset request. More...
DataFrame *(* | CreateHidDisplaySizeRequest )(Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid)
| Create a HidDisplaySize request. More...
DataFrame *(* | CreateTouchModeRequest )(Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid)
| Create a TouchMode request. More...
DataFrame *(* | CreateFloatingProtectionRequest )(Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t time, bool timeIsValid)
| Create a FloatingProtection request. More...
DataFrame *(* | CreateSnappingFilterRequest )(Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t leftInner, uint32_t leftOuter, bool leftIsValid, uint32_t rightInner, uint32_t rightOuter, bool rightIsValid, uint32_t topInner, uint32_t topOuter, bool topIsValid, uint32_t bottomInner, uint32_t bottomOuter, bool bottomIsValid)
| Create a Snapping Filter request. More...
DataFrame *(* | CreateDoubleClickPreventionRequest )(Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t doubleClickPreventionTime, bool doubleClickPreventionTimeIsValid, uint32_t doubleClickPreventionRadius, bool doubleClickPreventionRadiusIsValid)
| Create a DoubleClickPrevention request. More...
Asn1InitializationStatus | InitializationStatus
| Initialization status.
void * | Private
| Private members.

## Detailed Description

This structure represents the ASN.1 protocol class.

## Member Data Documentation

## ◆ Base

Protocol* Asn1Protocol::Base

The immediate base class of this Protocol class.
Inherited from Protocol base class.

## ◆ Connect

bool( * Asn1Protocol::Connect) (Protocol *self)

Perform protocol specific processing upon connection.

Perform protocol specific processing upon connection.
Inherited from Protocol base class.
On error, errno is set. Errno values can differ between protocols.

Parameters

  self | Pointer to the struct itself.

Returns
  true upon success. On failure, inspect errno for the error code.

## ◆ Connection

Connection* Asn1Protocol::Connection

Each Protocol is linked to one connection.
Inherited from Protocol base class.

## ◆ CreateDetectedObjectSizeRestrictionRequest

DataFrame*( * Asn1Protocol::CreateDetectedObjectSizeRestrictionRequest) (Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize)

Create a DetectedObjectSizeRestriction request.

Create a DetectedObjectSizeRestriction request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  maximumSizeEnabled | Maximum size enabling flag.
  maximumSize | The maximum object size for detection.
  minimumSizeEnabled | Minimum size enabling flag.
  minimumSize | The minimum object size for detection.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateDetectionModeRequest

DataFrame*( * Asn1Protocol::CreateDetectionModeRequest) (Protocol *self, Device *device, MessageAction action)

Create a DetectionMode request.

Create a DetectionMode request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateDisableRequest

DataFrame*( * Asn1Protocol::CreateDisableRequest) (Protocol *self, Device *device, MessageAction action)

Create a Disable request.

Create a Disable request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateDoubleClickPreventionRequest

DataFrame*( * Asn1Protocol::CreateDoubleClickPreventionRequest) (Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t doubleClickPreventionTime, bool doubleClickPreventionTimeIsValid, uint32_t doubleClickPreventionRadius, bool doubleClickPreventionRadiusIsValid)

Create a DoubleClickPrevention request.

Create a DoubleClickPrevention request.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  enabled | Enable or disable Double-Click Prevention.
  enabledIsValid | Enable is valid, i.e. you want to set it.
  doubleClickPreventionTime | Double-Click Prevention Time in ms.
  doubleClickPreventionTimeIsValid | Double-Click Prevention Time is valid, i.e. you want to set Double-Click Prevention Time.
  doubleClickPreventionRadius | Double-Click Prevention Radius in 1/10th of mm.
  doubleClickPreventionTimeIsValid | Double-Click Prevention Radius is valid, i.e. you want to set Double-Click Prevention Radius.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateEnableRequest

DataFrame*( * Asn1Protocol::CreateEnableRequest) (Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages)

Create an Enable request.

Create an Enable request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  continuousMode | Set to true for continuous mode.
  numberOfMessages | When in non-continuous mode, specifies how many Messages to receive before the Device disables itself. May not be 0 when continuousMode == false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateFingerFrequencyRequest

DataFrame*( * Asn1Protocol::CreateFingerFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency)

Create a FingerFrequency request.

Create a FingerFrequency request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  frequency | The value to set if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateFlipXYRequest

DataFrame*( * Asn1Protocol::CreateFlipXYRequest) (Protocol *self, Device *device, MessageAction action, bool axesAreFlipped)

Create a FlipXY request.

Create a FlipXY request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  flip | the X and Y axes.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateFloatingProtectionRequest

DataFrame*( * Asn1Protocol::CreateFloatingProtectionRequest) (Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t time, bool timeIsValid)

Create a FloatingProtection request.

Create a FloatingProtection request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  enabled | Enable or disable Floating Protection.
  enabledIsValid | Enable is valid, i.e. you want to set it.
  time | Floating Protection Time in ms..
  timeIsValid | The Time is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateHidDisplaySizeRequest

DataFrame*( * Asn1Protocol::CreateHidDisplaySizeRequest) (Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid)

Create a HidDisplaySize request.

Create a HidDisplaySize request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  sizeX | The X Size.
  sizeXIsValid | The X Size is valid, i.e. you want to set it.
  sizeY | The Y Size.
  sizeYIsValid | The Y Size is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateIdleFrequencyRequest

DataFrame*( * Asn1Protocol::CreateIdleFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency)

Create an IdleFrequency request.

Create an IdleFrequency request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  frequency | The value to set if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateMcuUniqueIdentifierRequest

DataFrame*( * Asn1Protocol::CreateMcuUniqueIdentifierRequest) (Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize)

Create a McuUniqueIdentifier request.

Create a McuUniqueIdentifier request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  identifier | Pointer to the Identifier array to set.
  bufferSize | Buffer size.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateMergeTouchesRequest

DataFrame*( * Asn1Protocol::CreateMergeTouchesRequest) (Protocol *self, Device *device, MessageAction action, bool areTouchesMerged)

Create a MergeTouches request.

Create a MergeTouches request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  areTouchesMerged | true if the reported touches are merged, otherwise false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateNumberOfTrackedObjectsRequest

DataFrame*( * Asn1Protocol::CreateNumberOfTrackedObjectsRequest) (Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects)

Create a NumberOfTrackedObjects request.

Create a NumberOfTrackedObjects request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  numberOfTrackedObjects | Tracked object count.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateOffsetRequest

DataFrame*( * Asn1Protocol::CreateOffsetRequest) (Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid)

Create an Offset request.

Create an Offset request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  offsetX | The X Offset.
  offsetXIsValid | The X Offset is valid, i.e. you want to set it.
  offsetY | The Y Offset.
  offsetYIsValid | The Y Offset is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateOperationModesRequest

DataFrame*( * Asn1Protocol::CreateOperationModesRequest) (Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues)

Create an OperationModes request.

Create an OperationModes request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  modeMask | Indication of which modes have values in this call.
  modeValues | Optional values for modes. See the modeMask argument.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateReflectiveEdgeFilterRequest

DataFrame*( * Asn1Protocol::CreateReflectiveEdgeFilterRequest) (Protocol *self, Device *device, MessageAction action, bool isFilterOn)

Create a ReflectiveEdgeFilter request.

Create a ReflectiveEdgeFilter request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  isFilterOn | true if the filter is on, otherwise false.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateResolutionRequest

DataFrame*( * Asn1Protocol::CreateResolutionRequest) (Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ)

Create a Resolution request.

Create a Resolution request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  x | X axis value if this is a set action.
  hasX | X axis value present flag if this is a set action.
  y | Y axis value if this is a set action.
  hasY | Y axis value present flag if this is a set action.
  z | Z axis value if this is a set action.
  hasZ | Z axis value present flag if this is a set action.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateReverseTouchActiveAreaRequest

DataFrame*( * Asn1Protocol::CreateReverseTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed)

Create a ReverseTouchActiveArea request.

Create a ReverseTouchActiveArea request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  reverseX | X axis direction reversal flag.
  reverseY | Y axis direction reversal flag.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateSnappingFilterRequest

DataFrame*( * Asn1Protocol::CreateSnappingFilterRequest) (Protocol *self, Device *device, MessageAction action, bool enabled, bool enabledIsValid, uint32_t leftInner, uint32_t leftOuter, bool leftIsValid, uint32_t rightInner, uint32_t rightOuter, bool rightIsValid, uint32_t topInner, uint32_t topOuter, bool topIsValid, uint32_t bottomInner, uint32_t bottomOuter, bool bottomIsValid)

Create a Snapping Filter request.

Create a FloatingProtection request.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  enabled | Snapping Filter is enabled.
  enabledIsValid | Enable is valid, i.e. you want to Enable/Disable Snapping Filter.
  leftInner | Distance from edge to the inner snapping edge, left side of Touch Active Area.
  leftOuter | Distance from edge to the outer snapping edge, left side of Touch Active Area.
  leftIsValid | Left is valid, i.e. you want to update leftInner & leftOuter in Snapping Filter.
  rightInner | Distance from edge to the inner snapping edge, right side of Touch Active Area.
  rightOuter | Distance from edge to the outer snapping edge, right side of Touch Active Area.
  rightIsValid | Right is valid, i.e. you want to update rightInner & rightOuter in Snapping Filter.
  topInner | Distance from edge to the inner snapping edge, top side of Touch Active Area.
  topOuter | Distance from edge to the outer snapping edge, top side of Touch Active Area.
  topIsValid | Top is valid, i.e. you want to update topInner & topOuter in Snapping Filter.
  bottomInner | Distance from edge to the inner snapping edge, bottom side of Touch Active Area.
  bottomOuter | Distance from edge to the outer snapping edge, bottom side of Touch Active Area.
  bottomIsValid | Bottom is valid, i.e. you want to update bottomInner & bottomOuter in Snapping Filter.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateTouchActiveAreaRequest

DataFrame*( * Asn1Protocol::CreateTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundX, uint32_t upperBoundX, bool xIsValid, uint32_t lowerBoundY, uint32_t upperBoundY, bool yIsValid)

Create a TouchActiveArea request.

Create a TouchActiveArea request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  lowerBoundX | X axis value of lower bound.
  lowerBoundY | Y axis value of lower bound.
  upperBoundX | X axis value of upper bound.
  upperBoundY | Y axis value of upper bound.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ CreateTouchModeRequest

DataFrame*( * Asn1Protocol::CreateTouchModeRequest) (Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid)

Create a TouchMode request.

Create a TouchMode request.
Inherited from Protocol base class.
On error, errno is set.

- ENOTSUPPORTED - Operation not supported.
- EPROTOCOLERROR - Generic protocol error.
- EOUTOFMEMORY - Could not dynamically allocate memory.

Parameters

  self | Pointer to the struct itself.
  device | Pointer to the Device from which the request originated.
  action | Indication of what type of action this message refers to.
  touchMode | Which Touch Mode the device is in.
  clickOnTouchTime | The Click on Touch Time.
  clickOnTouchTimeIsValid | The Click On Touch Time is valid, i.e. you want to set it.
  clickOnTouchRadius | The Click On Touch Radius.
  clickOnTouchRadiusIsValid | The Click on Touch Radius is valid, i.e. you want to set it.

Returns
  Pointer to data frame if it it worked, NULL if it didn't. See errno.

## ◆ DecodeDataFrame

bool( * Asn1Protocol::DecodeDataFrame) (Protocol *self, DataFrame *dataFrame)

Give a data frame to Protocol for processing.

Give a data frame to Protocol for processing.
Inherited from Protocol base class.
On error, errno is set. Errno values can differ between protocols.

Parameters

  self | Pointer to the struct itself.
  dataFrame | DataFrame pointer.

Returns
  true if the data frame has been decoded. On failure, inspect errno for the error code.

## ◆ DestroyPrivateDeviceData

void( * Asn1Protocol::DestroyPrivateDeviceData) (Protocol *self, void *privateDeviceData)

Protocol Specific method to destroy any potential Protocol Specific Data stored in a Device;
Inherited from Protocol base class.

## ◆ Destructor

void( * Asn1Protocol::Destructor) (Protocol *self)

The destructor for this class.
Inherited from Protocol base class.

## ◆ Disconnect

bool( * Asn1Protocol::Disconnect) (Protocol *self)

Perform protocol specific processing upon disconnection.

Perform protocol specific processing upon disconnection.
Inherited from Protocol base class.
On error, errno is set. Errno values can differ between protocols.

Parameters

  self | Pointer to the struct itself.

Returns
  true upon success. On failure, inspect errno for the error code.

## ◆ NotificationSerialNumber

uint64_t Asn1Protocol::NotificationSerialNumber

A counter used for giving notifications a unique serial number. Serial numbers start at 1 and strictly increase with each notification.
Inherited from Protocol base class.

## ◆ ResponseSerialNumber

uint64_t Asn1Protocol::ResponseSerialNumber

A counter used for giving responses a unique serial number. Serial numbers start at 1 and strictly increase with each response.
Inherited from Protocol base class.

## ◆ zForce

zForce* Asn1Protocol::zForce

A pointer to the global zForce instance.
Inherited from Protocol base class.

The documentation for this struct was generated from the following file:

- Asn1Protocol.h