VR-Forces 4.1.1 Class Documentation
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static 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
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.
virtual void addProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for receipt of an external comms "Process Message" commands.
virtual void removeProcessMessageCallback (DtProcessMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for receipt of an external comms "Process Message" commands.
virtual void addTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for the receipt of an external comms "Timeout" command.
virtual void removeTimeoutCallback (DtTimeoutCallbackList::DtCallbackFunctionType fcn, void *usr)
 Add/remove callbacks for the receipt of an external comms "Timeout" command.
virtual void addReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked whenever a Ready To Send Signal message is received by the transporter.
virtual void removeReadyToSendCallback (DtReadyToSendCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked whenever a Ready To Send Signal message is received by the transporter.
virtual void addNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked each time a new external comms signal message is read from the network.
virtual void removeNewMessageCallback (DtNewMessageCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback invoked each time a new external comms signal message is read from the network.
bool enabled () const
 accessor/mutator for enabled state
virtual void setEnabled (bool bEnabled)
 accessor/mutator for enabled state

Static Public Member Functions

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

Protected Member Functions

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

Static Protected Member Functions

static void dataInteractionCallback (DtDataInteraction *interaction, void *usr)
static void signalInteractionCallback (DtSignalInteraction *inter, void *usr)

Protected Attributes

bool myEnabled
DtExerciseConn * myExConn
DtProcessMessageCallbackList myProcessMessageCallbackList
DtTimeoutCallbackList myTimeoutCallbackList
DtNewMessageCallbackList myNewMessageCallbackList
DtReadyToSendCallbackList myReadyToSendCallbackList
SplitContentMap mySplitContentMap
DtSplitContentTimer mySplitContentTimer

Private Member Functions

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

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

Not Implemented.

DtExternalCommsMessageTransporter::DtExternalCommsMessageTransporter ( DtExerciseConn *  exConn)
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 ( DtExerciseConn *  exConn)
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 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::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::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.

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

accessor/mutator for enabled state

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
static void DtExternalCommsMessageTransporter::dataInteractionCallback ( DtDataInteraction *  interaction,
void *  usr 
)
staticprotected
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
static void DtExternalCommsMessageTransporter::signalInteractionCallback ( DtSignalInteraction *  inter,
void *  usr 
)
staticprotected
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().

DtExerciseConn* DtExternalCommsMessageTransporter::myExConn
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

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)