VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtExternalCommsMessageTransporter Class Reference

This class manages encoding and decoding of messages to and from an external comms effects server.

Classes

struct  _tSplitContentEntry
 

Public Types

typedef struct
DtExternalCommsMessageTransporter::_tSplitContentEntry 
SplitContentEntry
 
typedef std::map
< DtSplitMessageKey, std::map
< unsigned, SplitContentEntry > > 
SplitContentMap
 
typedef DtCallbackList< const
DtExternalCommsProcessMessageData & > 
DtProcessMessageCallbackList
 
typedef DtCallbackList< const
DtExternalCommsTimeoutData & > 
DtTimeoutCallbackList
 
typedef std::pair
< makVrfEvents::DtExternalCommsMessageParams,
DtVrfObjectMessageConstPtr
DtExternalCommsMessageCallbackParams
 
typedef DtCallbackList< const
DtExternalCommsMessageCallbackParams & > 
DtNewMessageCallbackList
 
typedef DtCallbackList< const
DtExternalCommsReadyToSendData & > 
DtReadyToSendCallbackList
 

Public Member Functions

virtual ~DtExternalCommsMessageTransporter ()
 
virtual bool processVrfObjectMessageReceived (const makVrfEvents::DtExternalCommsMessageParams &params, const char *pVrfObjectMessageBuffer)
 
virtual bool processSplitContent (const makVrfEvents::DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr, const char *pContent)
 
virtual void processSplitContentTimeout (const DtSplitMessageKey &key)
 
virtual void sendMessage (const makVrfEvents::DtExternalCommsMessageParams &params, DtVrfObjectMessage *message)
 
virtual bool reassembleVrfObjectMessage (const makVrfEvents::DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr)
 
virtual void removeSplitContent (const DtSplitMessageKey &key)
 
virtual void addProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void removeProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void removeReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void removeTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void removeNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
bool enabled () const
 
virtual void setEnabled (bool bEnabled)
 

Static Public Member Functions

static
DtExternalCommsMessageTransporter
create (DtCommunicationManager *)
 
static void splitContentTimeoutCbk (const DtSplitMessageKey &key, void *pUsr)
 

Protected Member Functions

 DtExternalCommsMessageTransporter (DtCommunicationManager *)
 
virtual bool init ()
 
virtual DtString entityIdToString (const DtEntityIdentifier &id) const
 
virtual void dataInteractionCallback (const makVrfEvents::DtEvent &)
 
virtual void processDataInteraction (const makVrfEvents::DtDataEvent *interaction)
 
virtual void processExternalCommsProcessMessage (const makVrfEvents::DtDataEvent *processMessageInteraction)
 
virtual void processExternalCommsTimout (const makVrfEvents::DtDataEvent *timeoutInteraction)
 
virtual void processExternalCommsReadyToSend (const makVrfEvents::DtDataEvent *readyToSendInteraction)
 
virtual void signalInteractionCallback (const makVrfEvents::DtEvent &)
 
virtual void processSignalInteraction (const makVrfEvents::DtExternalCommsSignalEvent *inter)
 
virtual void sendInteraction (const makVrfEvents::DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr, const char *pContent)
 
virtual void sendSignalInteraction (const makVrfEvents::DtExternalCommsSignalEvent &signalInteraction)
 
virtual void clearSplitContent ()
 

Protected Attributes

bool myEnabled
 
DtCommunicationManagermyCommunicationManager
 
DtProcessMessageCallbackList myProcessMessageCallbackList
 
DtNewMessageCallbackList myNewMessageCallbackList
 
DtReadyToSendCallbackList myReadyToSendCallbackList
 
DtTimeoutCallbackList myTimeoutCallbackList
 
SplitContentMap mySplitContentMap
 
DtSplitContentTimer mySplitContentTimer
 
DtClock myClock
 
boost::signals2::scoped_connection mySignalForDataEventConnection
 
boost::signals2::scoped_connection mySignalForExternalCommsSignalEventConnection
 

Private Member Functions

 DtExternalCommsMessageTransporter ()
 
 DtExternalCommsMessageTransporter (const DtExternalCommsMessageTransporter &orig)
 
DtExternalCommsMessageTransporteroperator= (const DtExternalCommsMessageTransporter &orig)
 

Member Typedef Documentation

Constructor & Destructor Documentation

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( )
private

Not Implemented.

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( const DtExternalCommsMessageTransporter orig)
private

Not Implemented.

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( DtCommunicationManager )
protected

Call create() instead of the constructor.

virtual DtExternalCommsMessageTransporter::~DtExternalCommsMessageTransporter ( )
virtual

Member Function Documentation

DtExternalCommsMessageTransporter& DtExternalCommsMessageTransporter::operator= ( const DtExternalCommsMessageTransporter orig)
private

Not Implemented.

virtual bool DtExternalCommsMessageTransporter::init ( )
protectedvirtual

Virtual init called from create().

static DtExternalCommsMessageTransporter* DtExternalCommsMessageTransporter::create ( DtCommunicationManager )
static

Use this as constructor. Calls the constructor, and then init() on the newly created instance before returning it.

virtual void DtExternalCommsMessageTransporter::addProcessMessageCallback ( DtProcessMessageCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Add/remove callbacks for receipt of an external comms "Process Message" commands. This command indicates that comms server has approved a message to be sent to a particular receiver.

virtual void DtExternalCommsMessageTransporter::removeProcessMessageCallback ( DtProcessMessageCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Add/remove callbacks for receipt of an external comms "Process Message" commands. This command indicates that comms server has approved a message to be sent to a particular receiver.

virtual bool DtExternalCommsMessageTransporter::processVrfObjectMessageReceived ( const makVrfEvents::DtExternalCommsMessageParams params,
const char pVrfObjectMessageBuffer 
)
virtual
virtual void DtExternalCommsMessageTransporter::addReadyToSendCallback ( DtReadyToSendCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Callback invoked whenever a Ready To Send Signal message is received by the transporter. Data contains the entity and radio index for which this ready to send signal applies.

virtual void DtExternalCommsMessageTransporter::removeReadyToSendCallback ( DtReadyToSendCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Callback invoked whenever a Ready To Send Signal message is received by the transporter. Data contains the entity and radio index for which this ready to send signal applies.

virtual void DtExternalCommsMessageTransporter::addTimeoutCallback ( DtTimeoutCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Add/remove callbacks for the receipt of an external comms "Timeout" command. This command indicates that the comms server is done with this message and no more Process Message commands will be received on this message id.

virtual void DtExternalCommsMessageTransporter::removeTimeoutCallback ( DtTimeoutCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Add/remove callbacks for the receipt of an external comms "Timeout" command. This command indicates that the comms server is done with this message and no more Process Message commands will be received on this message id.

virtual void DtExternalCommsMessageTransporter::addNewMessageCallback ( DtNewMessageCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Callback invoked each time a new external comms signal message is read from the network.

virtual void DtExternalCommsMessageTransporter::removeNewMessageCallback ( DtNewMessageCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Callback invoked each time a new external comms signal message is read from the network.

bool DtExternalCommsMessageTransporter::enabled ( ) const
inline

accessor/mutator for enabled state

References myEnabled.

virtual void DtExternalCommsMessageTransporter::setEnabled ( bool  bEnabled)
virtual

accessor/mutator for enabled state

virtual bool DtExternalCommsMessageTransporter::processSplitContent ( const makVrfEvents::DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr,
const char pContent 
)
virtual
virtual void DtExternalCommsMessageTransporter::processSplitContentTimeout ( const DtSplitMessageKey key)
virtual
virtual void DtExternalCommsMessageTransporter::sendMessage ( const makVrfEvents::DtExternalCommsMessageParams params,
DtVrfObjectMessage message 
)
virtual

Sends a new signal PDU with the proper external comms header, and the specified message as contents.

virtual bool DtExternalCommsMessageTransporter::reassembleVrfObjectMessage ( const makVrfEvents::DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr 
)
virtual
virtual void DtExternalCommsMessageTransporter::removeSplitContent ( const DtSplitMessageKey key)
virtual
static void DtExternalCommsMessageTransporter::splitContentTimeoutCbk ( const DtSplitMessageKey key,
void *  pUsr 
)
static
virtual DtString DtExternalCommsMessageTransporter::entityIdToString ( const DtEntityIdentifier &  id) const
protectedvirtual
virtual void DtExternalCommsMessageTransporter::dataInteractionCallback ( const makVrfEvents::DtEvent )
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processDataInteraction ( const makVrfEvents::DtDataEvent interaction)
protectedvirtual

If the interaction is one of the external comms interaction types, calls the corresponding processExternalCommsxxx methods.

virtual void DtExternalCommsMessageTransporter::processExternalCommsProcessMessage ( const makVrfEvents::DtDataEvent processMessageInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processExternalCommsTimout ( const makVrfEvents::DtDataEvent timeoutInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processExternalCommsReadyToSend ( const makVrfEvents::DtDataEvent readyToSendInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::signalInteractionCallback ( const makVrfEvents::DtEvent )
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processSignalInteraction ( const makVrfEvents::DtExternalCommsSignalEvent inter)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::sendInteraction ( const makVrfEvents::DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr,
const char pContent 
)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::sendSignalInteraction ( const makVrfEvents::DtExternalCommsSignalEvent signalInteraction)
protectedvirtual

Send the fully initialized signal interaction.

virtual void DtExternalCommsMessageTransporter::clearSplitContent ( )
protectedvirtual

Member Data Documentation

bool DtExternalCommsMessageTransporter::myEnabled
protected

Referenced by enabled().

DtCommunicationManager* DtExternalCommsMessageTransporter::myCommunicationManager
protected
DtProcessMessageCallbackList DtExternalCommsMessageTransporter::myProcessMessageCallbackList
protected
DtNewMessageCallbackList DtExternalCommsMessageTransporter::myNewMessageCallbackList
protected
DtReadyToSendCallbackList DtExternalCommsMessageTransporter::myReadyToSendCallbackList
protected
DtTimeoutCallbackList DtExternalCommsMessageTransporter::myTimeoutCallbackList
protected
SplitContentMap DtExternalCommsMessageTransporter::mySplitContentMap
protected
DtSplitContentTimer DtExternalCommsMessageTransporter::mySplitContentTimer
protected
DtClock DtExternalCommsMessageTransporter::myClock
protected
boost::signals2::scoped_connection DtExternalCommsMessageTransporter::mySignalForDataEventConnection
protected
boost::signals2::scoped_connection DtExternalCommsMessageTransporter::mySignalForExternalCommsSignalEventConnection
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)