VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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.

Public Types

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 bool processVrfObjectMessageReceived (const DtExternalCommsMessageParams &params, const char *pVrfObjectMessageBuffer)
 
virtual void sendInteraction (const DtExternalCommsMessageParams &params, const DtSignalMessageHeader &msgHdr, const char *pContent)
 
virtual void sendMessage (const DtExternalCommsMessageParams &params, DtVrfObjectMessage *message)
 
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 *)
 

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::DtSignalEvent *inter)
 
virtual void sendSignalInteraction (const makVrfEvents::DtSignalEvent &signalInteraction)
 

Protected Attributes

bool myEnabled
 
DtCommunicationManagermyCommunicationManager
 
DtProcessMessageCallbackList myProcessMessageCallbackList
 
DtNewMessageCallbackList myNewMessageCallbackList
 
DtReadyToSendCallbackList myReadyToSendCallbackList
 
DtTimeoutCallbackList myTimeoutCallbackList
 

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 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 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.

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::DtSignalEvent inter)
protectedvirtual
virtual void DtExternalCommsMessageTransporter::sendSignalInteraction ( const makVrfEvents::DtSignalEvent signalInteraction)
protectedvirtual

Send the fully initialized signal interaction.

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

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)