Public Member Functions | Private Member Functions | Private Attributes | List of all members
CallbackManagerXda Class Reference

Class that delegates callbacks to registered XsCallbackHandlerItems. More...

#include <callbackmanagerxda.h>

Inheritance diagram for CallbackManagerXda:
Inheritance graph
[legend]

Public Member Functions

void addCallbackHandler (XsCallbackPlainC *cb, bool chain=true)
 Add a handler to the list. More...
 
void addChainedManager (CallbackManagerXda *cm)
 Add a chained manager to the list. More...
 
 CallbackManagerXda ()
 Constructor, initializes the callback list. More...
 
void clearCallbackHandlers (bool chain=true)
 Clear the callback list. More...
 
void clearChainedManagers ()
 Clear the chained manager list. More...
 
void copyCallbackHandlersFrom (CallbackManagerXda *cm, bool chain=true)
 Copy all handlers from cm into this manager. More...
 
void copyCallbackHandlersTo (CallbackManagerXda *cm, bool chain=true)
 Copy all handlers from this manager into cm. More...
 
void onAllBufferedDataAvailable (XsDevicePtrArray *devs, const XsDataPacketPtrArray *packets) override
 The XsCallback::onAllBufferedDataAvailable() callback forwarding function. More...
 
void onAllDataAvailable (XsDevicePtrArray *devs, const XsDataPacketPtrArray *packets) override
 The XsCallback::onAllDataAvailable() callback forwarding function. More...
 
void onAllLiveDataAvailable (XsDevicePtrArray *devs, const XsDataPacketPtrArray *packets) override
 The XsCallback::onAllLiveDataAvailable() callback forwarding function. More...
 
void onAllRecordedDataAvailable (XsDevicePtrArray *devs, const XsDataPacketPtrArray *packets) override
 The XsCallback::onAllRecordedDataAvailable() callback forwarding function. More...
 
void onBufferedDataAvailable (XsDevice *dev, const XsDataPacket *data) override
 The XsCallback::onBufferedDataAvailable() callback forwarding function. More...
 
void onConnectivityChanged (XsDevice *dev, XsConnectivityState newState) override
 The XsCallback::onConnectivityChanged() callback forwarding function. More...
 
void onDataAvailable (XsDevice *dev, const XsDataPacket *data) override
 The XsCallback::onDataAvailable() callback forwarding function. More...
 
void onDataUnavailable (XsDevice *dev, int64_t packetId) override
 The XsCallback::onDataUnavailable() callback forwarding function. More...
 
void onDeviceStateChanged (XsDevice *dev, XsDeviceState newState, XsDeviceState oldState) override
 The XsCallback::onDeviceStateChanged() callback forwarding function. More...
 
void onError (XsDevice *dev, XsResultValue error) override
 The Xscallback::onError() callback forwarding function. More...
 
void onInfoResponse (XsDevice *dev, XsInfoRequest request) override
 The XsCallback::onInfoResponse() callback forwarding function. More...
 
void onLiveDataAvailable (XsDevice *dev, const XsDataPacket *packet) override
 The XsCallback::onLiveDataAvailable() callback forwarding function. More...
 
void onMessageDetected (XsDevice *dev, XsProtocolType type, XsByteArray const *rawMessage) override
 The Xscallback::onMessageReceivedFromDevice() callback forwarding function. More...
 
void onMessageReceivedFromDevice (XsDevice *dev, XsMessage const *message) override
 The Xscallback::onMessageReceivedFromDevice() callback forwarding function. More...
 
void onMessageSentToDevice (XsDevice *dev, XsMessage const *message) override
 The Xscallback::onMessageSentToDevice() callback forwarding function. More...
 
void onMissedPackets (XsDevice *dev, int count, int first, int last) override
 The XsCallback::onMissedPackets() callback forwarding function. More...
 
void onNonDataMessage (XsDevice *dev, XsMessage const *message) override
 The Xscallback::onNonDataMessage() callback forwarding function. More...
 
void onProgressUpdated (XsDevice *dev, int current, int total, const XsString *identifier) override
 The XsCallback::onProgressUpdated() callback forwarding function. More...
 
void onRecordedDataAvailable (XsDevice *dev, const XsDataPacket *data) override
 The XsCallback::onRecordedDataAvailable() callback forwarding function. More...
 
void onRestoreCommunication (const XsString *portName, XsResultValue result) override
 The Xscallback::onRestoreCommunication callback forwarding function. More...
 
void onTransmissionRequest (int channelId, const XsByteArray *data) override
 
void onWakeupReceived (XsDevice *dev) override
 The XsCallback::onWakeupReceived() callback forwarding function. More...
 
int onWriteMessageToLogFile (XsDevice *dev, const XsMessage *message) override
 The XsCallback::onWriteMessageToLogFile() callback forwarding function. More...
 
void removeCallbackHandler (XsCallbackPlainC *cb, bool chain=true)
 Remove a handler from the list. More...
 
void removeChainedManager (CallbackManagerXda *cm)
 Remove achained manager from the list. More...
 
 ~CallbackManagerXda ()
 Destructor, clears the callback list. More...
 

Private Member Functions

 CallbackManagerXda (CallbackManagerXda const &)=delete
 
CallbackManagerXda const & operator= (CallbackManagerXda const &)=delete
 

Private Attributes

xsens::MutexReadWritem_callbackMutex
 Administration mutex. More...
 
CallbackHandlerXdaItemm_handlerList
 The first item in the linked list of callback handlers. More...
 
CallbackManagerItemm_managerList
 The first item in the linked list of child callback managers. More...
 

Detailed Description

Class that delegates callbacks to registered XsCallbackHandlerItems.

CallbackManagerXda is itself an XsCallback implementer. When a callback is triggered it walks through its linked list of registered callbacks and calls the appropriate function in each one.

Adding and removing handlers is done through the addXsCallbackHandlerItem() and removeXsCallbackHandlerItem() functions.

The callback handler can contain so called chained managers. A chained manager receives any callback handler add/remove request that is done to the parent. The chained managers do not automatically execute all callbacks that the parent manager executes. So chaining only affects callback administration, not callback execution.

Definition at line 78 of file callbackmanagerxda.h.

Constructor & Destructor Documentation

◆ CallbackManagerXda() [1/2]

CallbackManagerXda::CallbackManagerXda ( )

Constructor, initializes the callback list.

Definition at line 103 of file callbackmanagerxda.cpp.

◆ ~CallbackManagerXda()

CallbackManagerXda::~CallbackManagerXda ( )

Destructor, clears the callback list.

Definition at line 112 of file callbackmanagerxda.cpp.

◆ CallbackManagerXda() [2/2]

CallbackManagerXda::CallbackManagerXda ( CallbackManagerXda const &  )
privatedelete

Member Function Documentation

◆ addCallbackHandler()

void CallbackManagerXda::addCallbackHandler ( XsCallbackPlainC cb,
bool  chain = true 
)

Add a handler to the list.

Parameters
cbThe handler to add to the list.
chainWhen set to true (default) the callback is added to chained managers as well
Note
NULL and duplicate handlers are ignored, but chaining is still done.
The name is chosen like this since it is inherited and exposed by other objects

Definition at line 158 of file callbackmanagerxda.cpp.

◆ addChainedManager()

void CallbackManagerXda::addChainedManager ( CallbackManagerXda cm)

Add a chained manager to the list.

Parameters
cmThe manager to add to the list.
Note
NULL and duplicate managers are ignored.

Definition at line 262 of file callbackmanagerxda.cpp.

◆ clearCallbackHandlers()

void CallbackManagerXda::clearCallbackHandlers ( bool  chain = true)

Clear the callback list.

Parameters
chainIf set to true clears all callback handlers
Note
The name is chosen like this since it is inherited and exposed by other objects

Definition at line 129 of file callbackmanagerxda.cpp.

◆ clearChainedManagers()

void CallbackManagerXda::clearChainedManagers ( )

Clear the chained manager list.

Definition at line 245 of file callbackmanagerxda.cpp.

◆ copyCallbackHandlersFrom()

void CallbackManagerXda::copyCallbackHandlersFrom ( CallbackManagerXda cm,
bool  chain = true 
)

Copy all handlers from cm into this manager.

Parameters
cmThe CallbackManagerXda to copy the handlers from
chainWhether to propagate the added handlers to chained managers

Definition at line 337 of file callbackmanagerxda.cpp.

◆ copyCallbackHandlersTo()

void CallbackManagerXda::copyCallbackHandlersTo ( CallbackManagerXda cm,
bool  chain = true 
)

Copy all handlers from this manager into cm.

Parameters
cmThe CallbackManagerXda to copy the handlers to
chainWhether to propagate the added handlers to chained managers

Definition at line 328 of file callbackmanagerxda.cpp.

◆ onAllBufferedDataAvailable()

void CallbackManagerXda::onAllBufferedDataAvailable ( XsDevicePtrArray devs,
const XsDataPacketPtrArray packets 
)
override

The XsCallback::onAllBufferedDataAvailable() callback forwarding function.

Definition at line 469 of file callbackmanagerxda.cpp.

◆ onAllDataAvailable()

void CallbackManagerXda::onAllDataAvailable ( XsDevicePtrArray devs,
const XsDataPacketPtrArray packets 
)
override

The XsCallback::onAllDataAvailable() callback forwarding function.

Definition at line 586 of file callbackmanagerxda.cpp.

◆ onAllLiveDataAvailable()

void CallbackManagerXda::onAllLiveDataAvailable ( XsDevicePtrArray devs,
const XsDataPacketPtrArray packets 
)
override

The XsCallback::onAllLiveDataAvailable() callback forwarding function.

Definition at line 376 of file callbackmanagerxda.cpp.

◆ onAllRecordedDataAvailable()

void CallbackManagerXda::onAllRecordedDataAvailable ( XsDevicePtrArray devs,
const XsDataPacketPtrArray packets 
)
override

The XsCallback::onAllRecordedDataAvailable() callback forwarding function.

Definition at line 612 of file callbackmanagerxda.cpp.

◆ onBufferedDataAvailable()

void CallbackManagerXda::onBufferedDataAvailable ( XsDevice dev,
const XsDataPacket data 
)
override

The XsCallback::onBufferedDataAvailable() callback forwarding function.

Definition at line 456 of file callbackmanagerxda.cpp.

◆ onConnectivityChanged()

void CallbackManagerXda::onConnectivityChanged ( XsDevice dev,
XsConnectivityState  newState 
)
override

The XsCallback::onConnectivityChanged() callback forwarding function.

Definition at line 482 of file callbackmanagerxda.cpp.

◆ onDataAvailable()

void CallbackManagerXda::onDataAvailable ( XsDevice dev,
const XsDataPacket data 
)
override

The XsCallback::onDataAvailable() callback forwarding function.

Definition at line 573 of file callbackmanagerxda.cpp.

◆ onDataUnavailable()

void CallbackManagerXda::onDataUnavailable ( XsDevice dev,
int64_t  packetId 
)
override

The XsCallback::onDataUnavailable() callback forwarding function.

Definition at line 402 of file callbackmanagerxda.cpp.

◆ onDeviceStateChanged()

void CallbackManagerXda::onDeviceStateChanged ( XsDevice dev,
XsDeviceState  newState,
XsDeviceState  oldState 
)
override

The XsCallback::onDeviceStateChanged() callback forwarding function.

Definition at line 350 of file callbackmanagerxda.cpp.

◆ onError()

void CallbackManagerXda::onError ( XsDevice dev,
XsResultValue  error 
)
override

The Xscallback::onError() callback forwarding function.

Definition at line 508 of file callbackmanagerxda.cpp.

◆ onInfoResponse()

void CallbackManagerXda::onInfoResponse ( XsDevice dev,
XsInfoRequest  request 
)
override

The XsCallback::onInfoResponse() callback forwarding function.

Definition at line 495 of file callbackmanagerxda.cpp.

◆ onLiveDataAvailable()

void CallbackManagerXda::onLiveDataAvailable ( XsDevice dev,
const XsDataPacket packet 
)
override

The XsCallback::onLiveDataAvailable() callback forwarding function.

Definition at line 363 of file callbackmanagerxda.cpp.

◆ onMessageDetected()

void CallbackManagerXda::onMessageDetected ( XsDevice dev,
XsProtocolType  type,
XsByteArray const *  rawMessage 
)
override

The Xscallback::onMessageReceivedFromDevice() callback forwarding function.

Definition at line 534 of file callbackmanagerxda.cpp.

◆ onMessageReceivedFromDevice()

void CallbackManagerXda::onMessageReceivedFromDevice ( XsDevice dev,
XsMessage const *  message 
)
override

The Xscallback::onMessageReceivedFromDevice() callback forwarding function.

Definition at line 547 of file callbackmanagerxda.cpp.

◆ onMessageSentToDevice()

void CallbackManagerXda::onMessageSentToDevice ( XsDevice dev,
XsMessage const *  message 
)
override

The Xscallback::onMessageSentToDevice() callback forwarding function.

Definition at line 560 of file callbackmanagerxda.cpp.

◆ onMissedPackets()

void CallbackManagerXda::onMissedPackets ( XsDevice dev,
int  count,
int  first,
int  last 
)
override

The XsCallback::onMissedPackets() callback forwarding function.

Definition at line 389 of file callbackmanagerxda.cpp.

◆ onNonDataMessage()

void CallbackManagerXda::onNonDataMessage ( XsDevice dev,
XsMessage const *  message 
)
override

The Xscallback::onNonDataMessage() callback forwarding function.

Definition at line 521 of file callbackmanagerxda.cpp.

◆ onProgressUpdated()

void CallbackManagerXda::onProgressUpdated ( XsDevice dev,
int  current,
int  total,
const XsString identifier 
)
override

The XsCallback::onProgressUpdated() callback forwarding function.

Definition at line 428 of file callbackmanagerxda.cpp.

◆ onRecordedDataAvailable()

void CallbackManagerXda::onRecordedDataAvailable ( XsDevice dev,
const XsDataPacket data 
)
override

The XsCallback::onRecordedDataAvailable() callback forwarding function.

Definition at line 599 of file callbackmanagerxda.cpp.

◆ onRestoreCommunication()

void CallbackManagerXda::onRestoreCommunication ( const XsString portName,
XsResultValue  result 
)
override

The Xscallback::onRestoreCommunication callback forwarding function.

Definition at line 637 of file callbackmanagerxda.cpp.

◆ onTransmissionRequest()

void CallbackManagerXda::onTransmissionRequest ( int  channelId,
const XsByteArray data 
)
override

Definition at line 624 of file callbackmanagerxda.cpp.

◆ onWakeupReceived()

void CallbackManagerXda::onWakeupReceived ( XsDevice dev)
override

The XsCallback::onWakeupReceived() callback forwarding function.

Definition at line 415 of file callbackmanagerxda.cpp.

◆ onWriteMessageToLogFile()

int CallbackManagerXda::onWriteMessageToLogFile ( XsDevice dev,
const XsMessage message 
)
override

The XsCallback::onWriteMessageToLogFile() callback forwarding function.

Definition at line 441 of file callbackmanagerxda.cpp.

◆ operator=()

CallbackManagerXda const& CallbackManagerXda::operator= ( CallbackManagerXda const &  )
privatedelete

◆ removeCallbackHandler()

void CallbackManagerXda::removeCallbackHandler ( XsCallbackPlainC cb,
bool  chain = true 
)

Remove a handler from the list.

Parameters
cbThe handler to remove from the list.
chainWhen set to true (default) the callback is added to chained managers as well
Note
If cb is not found in the list or if cb is NULL, the list is not changed, but chaining is still done.
The name is chosen like this since it is inherited and exposed by other objects

Definition at line 207 of file callbackmanagerxda.cpp.

◆ removeChainedManager()

void CallbackManagerXda::removeChainedManager ( CallbackManagerXda cm)

Remove achained manager from the list.

Parameters
cmThe manager to remove from the list.
Note
If cm is not found in the list or if cm is NULL, the list is not changed.

Definition at line 298 of file callbackmanagerxda.cpp.

Member Data Documentation

◆ m_callbackMutex

xsens::MutexReadWrite* CallbackManagerXda::m_callbackMutex
private

Administration mutex.

Definition at line 120 of file callbackmanagerxda.h.

◆ m_handlerList

CallbackHandlerXdaItem* CallbackManagerXda::m_handlerList
private

The first item in the linked list of callback handlers.

Definition at line 121 of file callbackmanagerxda.h.

◆ m_managerList

CallbackManagerItem* CallbackManagerXda::m_managerList
private

The first item in the linked list of child callback managers.

Definition at line 122 of file callbackmanagerxda.h.


The documentation for this class was generated from the following files:


xsens_mti_driver
Author(s):
autogenerated on Sun Sep 3 2023 02:43:21