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

List of all members.

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

Not Implemented.

Not Implemented.

Call create() instead of the constructor.


Member Function Documentation

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

Not Implemented.

virtual bool DtExternalCommsMessageTransporter::init ( ) [protected, virtual]

Virtual init called from create().

Use this as constructor.

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

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.

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.

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.

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.

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.

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.

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

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

erase buffers held in split content map

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 bool DtExternalCommsMessageTransporter::processVrfObjectMessageReceived ( const DtExternalCommsMessageParams params,
const char *  pVrfObjectMessageBuffer 
) [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 [protected, virtual]
static void DtExternalCommsMessageTransporter::dataInteractionCallback ( DtDataInteraction *  interaction,
void *  usr 
) [static, protected]
virtual void DtExternalCommsMessageTransporter::processDataInteraction ( DtDataInteraction *  interaction) [protected, virtual]

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

virtual void DtExternalCommsMessageTransporter::processExternalCommsProcessMessage ( DtDataInteraction *  processMessageInteraction) [protected, virtual]
virtual void DtExternalCommsMessageTransporter::processExternalCommsTimout ( DtDataInteraction *  timeoutInteraction) [protected, virtual]
virtual void DtExternalCommsMessageTransporter::processExternalCommsReadyToSend ( DtDataInteraction *  readyToSendInteraction) [protected, virtual]
static void DtExternalCommsMessageTransporter::signalInteractionCallback ( DtSignalInteraction *  inter,
void *  usr 
) [static, protected]
virtual void DtExternalCommsMessageTransporter::processSignalInteraction ( DtSignalInteraction *  inter) [protected, virtual]
virtual void DtExternalCommsMessageTransporter::sendSignalInteraction ( DtSignalInteraction &  signalInteraction) [protected, virtual]

Send the fully initialized signal interaction.


Member Data Documentation

Referenced by enabled().

DtExerciseConn* DtExternalCommsMessageTransporter::myExConn [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)