VR-Forces 4.10 Class Documentation
 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. More...

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
< DtExternalCommsMessageParams,
DtVrfObjectMessageConstPtr
DtExternalCommsMessageCallbackParams
 
typedef DtCallbackList< const
DtExternalCommsMessageCallbackParams & > 
DtNewMessageCallbackList
 
typedef DtCallbackList< const
DtExternalCommsReadyToSendData & > 
DtReadyToSendCallbackList
 

Public Member Functions

virtual ~DtExternalCommsMessageTransporter ()
 
virtual void clearSplitContent ()
 erase buffers held in split content map More...
 
virtual bool processSplitContent (const DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr, const char *pContent)
 
virtual void processSplitContentTimeout (const DtSplitMessageKey &key)
 
virtual bool processVrfObjectMessageReceived (const DtExternalCommsMessageParams &params, const char *pVrfObjectMessageBuffer)
 
virtual bool reassembleVrfObjectMessage (const DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr)
 
virtual void removeSplitContent (const DtSplitMessageKey &key)
 
virtual void sendInteraction (const DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr, const char *pContent)
 
virtual void sendMessage (const DtExternalCommsMessageParams &params, DtVrfObjectMessage *message)
 Sends a new signal PDU with the proper external comms header, and the specified message as contents. More...
 
virtual void addProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for receipt of an external comms "Process Message" commands. More...
 
virtual void removeProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for the receipt of an external comms "Timeout" command. More...
 
virtual void removeTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked whenever a Ready To Send Signal message is received by the transporter. More...
 
virtual void removeReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void addNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked each time a new external comms signal message is read from the network. More...
 
virtual void removeNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 
bool enabled () const
 accessor/mutator for enabled state More...
 
virtual void setEnabled (bool bEnabled)
 

Static Public Member Functions

static
DtExternalCommsMessageTransporter
create (DtEventManager *)
 Use this as constructor. More...
 
static void splitContentTimeoutCbk (const DtSplitMessageKey &key, void *pUsr)
 

Protected Member Functions

 DtExternalCommsMessageTransporter (DtEventManager *)
 Call create() instead of the constructor. More...
 
virtual bool init ()
 Virtual init called from create(). More...
 
virtual DtString entityIdToString (const DtEntityIdentifier &id) const
 
virtual void dataInteractionCallback (const DtEvent &)
 
virtual void processDataInteraction (DtDataInteraction *interaction)
 If the interaction is one of the external comms interaction types, calls the corresponding processExternalCommsxxx methods. More...
 
virtual void processExternalCommsProcessMessage (DtDataInteraction *processMessageInteraction)
 
virtual void processExternalCommsTimout (DtDataInteraction *timeoutInteraction)
 
virtual void processExternalCommsReadyToSend (DtDataInteraction *readyToSendInteraction)
 
virtual void signalInteractionCallback (const DtEvent &)
 
virtual void processSignalInteraction (DtSignalInteraction *inter)
 
virtual void sendSignalInteraction (DtSignalInteraction &signalInteraction)
 Send the fully initialized signal interaction. More...
 

Protected Attributes

bool myEnabled
 
DtEventManagermyEventManager
 
DtProcessMessageCallbackList myProcessMessageCallbackList
 
DtTimeoutCallbackList myTimeoutCallbackList
 
DtNewMessageCallbackList myNewMessageCallbackList
 
DtReadyToSendCallbackList myReadyToSendCallbackList
 
SplitContentMap mySplitContentMap
 
DtSplitContentTimer mySplitContentTimer
 
DtClock myClock
 

Private Member Functions

 DtExternalCommsMessageTransporter ()
 Not Implemented. More...
 
 DtExternalCommsMessageTransporter (const DtExternalCommsMessageTransporter &orig)
 
DtExternalCommsMessageTransporteroperator= (const DtExternalCommsMessageTransporter &orig)
 

Detailed Description

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

Member Typedef Documentation

Constructor & Destructor Documentation

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( )
private

Not Implemented.

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( const DtExternalCommsMessageTransporter orig)
private
DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( DtEventManager )
protected

Call create() instead of the constructor.

virtual DtExternalCommsMessageTransporter::~DtExternalCommsMessageTransporter ( )
virtual

Member Function Documentation

DtExternalCommsMessageTransporter& DtExternalCommsMessageTransporter::operator= ( const DtExternalCommsMessageTransporter orig)
private
virtual bool DtExternalCommsMessageTransporter::init ( )
protectedvirtual

Virtual init called from create().

static DtExternalCommsMessageTransporter* DtExternalCommsMessageTransporter::create ( DtEventManager )
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
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
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
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
virtual void DtExternalCommsMessageTransporter::clearSplitContent ( )
virtual

erase buffers held in split content map

bool DtExternalCommsMessageTransporter::enabled ( ) const
inline

accessor/mutator for enabled state

References myEnabled.

virtual void DtExternalCommsMessageTransporter::setEnabled ( bool  bEnabled)
virtual
virtual bool DtExternalCommsMessageTransporter::processSplitContent ( const DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr,
const char pContent 
)
virtual
virtual void DtExternalCommsMessageTransporter::processSplitContentTimeout ( const DtSplitMessageKey key)
virtual
virtual bool DtExternalCommsMessageTransporter::processVrfObjectMessageReceived ( const DtExternalCommsMessageParams params,
const char pVrfObjectMessageBuffer 
)
virtual
virtual bool DtExternalCommsMessageTransporter::reassembleVrfObjectMessage ( const DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr 
)
virtual
virtual void DtExternalCommsMessageTransporter::removeSplitContent ( const DtSplitMessageKey key)
virtual
virtual void DtExternalCommsMessageTransporter::sendInteraction ( const DtExternalCommsMessageParams params,
const DtSignalMessageHeader msgHdr,
const char pContent 
)
virtual
virtual void DtExternalCommsMessageTransporter::sendMessage ( const DtExternalCommsMessageParams params,
DtVrfObjectMessage message 
)
virtual

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

static void DtExternalCommsMessageTransporter::splitContentTimeoutCbk ( const DtSplitMessageKey key,
void *  pUsr 
)
static
virtual DtString DtExternalCommsMessageTransporter::entityIdToString ( const DtEntityIdentifier &  id) const
protectedvirtual
virtual void DtExternalCommsMessageTransporter::dataInteractionCallback ( const DtEvent )
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processDataInteraction ( DtDataInteraction interaction)
protectedvirtual

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

virtual void DtExternalCommsMessageTransporter::processExternalCommsProcessMessage ( DtDataInteraction processMessageInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processExternalCommsTimout ( DtDataInteraction timeoutInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processExternalCommsReadyToSend ( DtDataInteraction readyToSendInteraction)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::signalInteractionCallback ( const DtEvent )
protectedvirtual
virtual void DtExternalCommsMessageTransporter::processSignalInteraction ( DtSignalInteraction *  inter)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::sendSignalInteraction ( DtSignalInteraction &  signalInteraction)
protectedvirtual

Send the fully initialized signal interaction.

Member Data Documentation

bool DtExternalCommsMessageTransporter::myEnabled
protected

Referenced by enabled().

DtEventManager* DtExternalCommsMessageTransporter::myEventManager
protected
DtProcessMessageCallbackList DtExternalCommsMessageTransporter::myProcessMessageCallbackList
protected
DtTimeoutCallbackList DtExternalCommsMessageTransporter::myTimeoutCallbackList
protected
DtNewMessageCallbackList DtExternalCommsMessageTransporter::myNewMessageCallbackList
protected
DtReadyToSendCallbackList DtExternalCommsMessageTransporter::myReadyToSendCallbackList
protected
SplitContentMap DtExternalCommsMessageTransporter::mySplitContentMap
protected
DtSplitContentTimer DtExternalCommsMessageTransporter::mySplitContentTimer
protected
DtClock DtExternalCommsMessageTransporter::myClock
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)