VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtReportMessage Class Reference

A DtReportMessage is a DtVrfObjectMessage with a pointer to a report. More...

Inheritance diagram for DtReportMessage:
Inheritance graph
[legend]

Public Member Functions

 DtReportMessage ()
 constructor
 DtReportMessage (const DtReportMessage &orig)
virtual ~DtReportMessage ()
 Destructor; does not destroy task, just the message itself.
virtual DtSimReportreport () const
 Returns a pointer to the DtSimReport object in the message.
virtual void setReport (DtSimReport *report)
 N.B.
virtual int contentCategoryType () const
 The radioMessageType() for this kind of message is DtReportMessageType.
virtual const
DtSimReportMessageType
contentType () const
virtual DtSimMessageclone () const
 Required override. Clones itself and the task it points to.
virtual int netRepSize () const
 Overrides the base class DtVrfObjectMessage netRepSize().
virtual bool setFromNet (const char *networkBuffer, unsigned contentSize)
 Extracts the task type, creates the task (using the task factory), and then tells the task to fill itself in from the network buffer.
virtual bool setToNet ()
 Fill in our task type, tell the task to fill itself out, and then copy its buffer into ours.
virtual void printDataToString (DtString &str)
 Print message.
- Public Member Functions inherited from DtVrfObjectMessage
 DtVrfObjectMessage ()
 default constructor
 DtVrfObjectMessage (const DtVrfObjectMessage &orig)
 copy constructor: shallow; copies values only.
const DtVrfObjectMessageoperator= (const DtVrfObjectMessage &orig)
 assignment operator: shallow; assigns values only.
virtual ~DtVrfObjectMessage ()
 destructor
virtual int messageType () const
virtual int radioMessageType () const
virtual void setRecipient (const DtString &recipient)
virtual const DtStringrecipient () const
virtual void setSender (const DtString &sender)
virtual const DtStringsender () const
virtual charnetRep ()
 Returns a pointer to the simulation network representation of this message.
virtual void setReceiver (const DtString &receiver)
 The name or echelon ID of the intended receiver of the message.
virtual const DtStringreceiver () const
 The name or echelon ID of the intended receiver of the message.
virtual void setReceiverIsEchelonId (bool yesNo)
 The receiver address is either an echelon Id String or a name string.
virtual bool receiverIsEchelonId () const
 The receiver address is either an echelon Id String or a name string.
virtual void setTransmitter (const DtString &transmitter)
 The name or echelon ID of the sender of the message.
virtual const DtStringtransmitter () const
 The name or echelon ID of the sender of the message.
virtual void setTransmitterIsEchelonId (bool yesNo)
 The transmitter address is either an echelon Id String or a name string.
virtual bool transmitterIsEchelonId () const
 The transmitter address is either an echelon Id String or a name string.
- Public Member Functions inherited from DtSimMessage
 DtSimMessage ()
 default constructor
 DtSimMessage (const DtSimMessage &orig)
 copy constructor
const DtSimMessageoperator= (const DtSimMessage &orig)
 assignment operator
virtual ~DtSimMessage ()
 destructor

Static Public Member Functions

static DtVrfObjectMessagecreator ()
- Static Public Member Functions inherited from DtVrfObjectMessage
static DtVrfObjectMessagecreateVrfObjectMessage (int type)
 Creates a new DtVrfObjectMessage subclass using the static factory.
static DtVrfObjectMessagecreateRadioMessage (int type)
static void addVrfObjectMessageCreatorFcn (int type, DtVrfObjectMessageCreatorFcn fcn)
 Adds a new creator function to the DtVrfObjectMessageFactory.
static void addRadioMessageCreatorFcn (int type, DtVrfObjectMessageCreatorFcn fcn)
static void setFactory (DtVrfObjectMessageFactory *factory)
static DtVrfObjectMessageFactoryfactory ()

Protected Member Functions

const DtReportMessageoperator= (DtReportMessage &orig)
- Protected Member Functions inherited from DtVrfObjectMessage
virtual charcreateNetworkBuffer ()

Protected Attributes

DtSimReportmyReport
bool myOwnReport
- Protected Attributes inherited from DtVrfObjectMessage
DtString myTransmitter
DtString myReceiver
bool myTransmitterIsEchelonId
bool myReceiverIsEchelonId
charmyNetRep

Additional Inherited Members

- Static Protected Attributes inherited from DtVrfObjectMessage
static DtVrfObjectMessageFactorymyFactory

Detailed Description

A DtReportMessage is a DtVrfObjectMessage with a pointer to a report.

The type of the reportMsg is just the type of the report. In VR-Forces, only the “task-complete” type (DtTaskCompletedReportType) of DtSimReport is implemented, however you can create your own reports by deriving from DtSimReport and implementing the clone() and type() functions. The DtTaskCompletedReportType report message is sent by taskComplete() to notify either the entity's superior or the DtSimManager of task completion (depending on who issued the task in the first place).

Constructor & Destructor Documentation

DtReportMessage::DtReportMessage ( )

constructor

DtReportMessage::DtReportMessage ( const DtReportMessage orig)
virtual DtReportMessage::~DtReportMessage ( )
virtual

Destructor; does not destroy task, just the message itself.

Member Function Documentation

const DtReportMessage& DtReportMessage::operator= ( DtReportMessage orig)
protected
virtual DtSimReport* DtReportMessage::report ( ) const
virtual

Returns a pointer to the DtSimReport object in the message.

virtual void DtReportMessage::setReport ( DtSimReport report)
virtual

N.B.

: This function USED TO clone the report passed as an argument. However, for performance reasons, it has been modified to just keep a pointer to the report. This means that it is the caller's responsibility to ensure that the lifetime of the report goes beyond the lifetime of the message. For example, this previously acceptable code will now FAIL:

DtSimReport* report = new DtTaskCompleteReport; DtReportMessage* message = new DtReportMessage; report->setTaskCompleted(DtMoveToType); message->setReport(report); delete report; vrfObject->radio()->sendToNet(message); ...

virtual int DtReportMessage::contentCategoryType ( ) const
virtual

The radioMessageType() for this kind of message is DtReportMessageType.

Implements DtVrfObjectMessage.

virtual const DtSimReportMessageType& DtReportMessage::contentType ( ) const
virtual
Returns
The type of report contained in this message.
virtual DtSimMessage* DtReportMessage::clone ( ) const
virtual

Required override. Clones itself and the task it points to.

Implements DtSimMessage.

virtual int DtReportMessage::netRepSize ( ) const
virtual

Overrides the base class DtVrfObjectMessage netRepSize().

This calls down to the base class to get the size of the header created by the base, and then adds any task, set data, or report contents.

Reimplemented from DtVrfObjectMessage.

virtual bool DtReportMessage::setFromNet ( const char networkBuffer,
unsigned  contentSize 
)
virtual

Extracts the task type, creates the task (using the task factory), and then tells the task to fill itself in from the network buffer.

Reimplemented from DtVrfObjectMessage.

virtual bool DtReportMessage::setToNet ( )
virtual

Fill in our task type, tell the task to fill itself out, and then copy its buffer into ours.

Reimplemented from DtVrfObjectMessage.

virtual void DtReportMessage::printDataToString ( DtString str)
virtual

Print message.

Reimplemented from DtVrfObjectMessage.

static DtVrfObjectMessage* DtReportMessage::creator ( )
static

Member Data Documentation

DtSimReport* DtReportMessage::myReport
protected
bool DtReportMessage::myOwnReport
protected

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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)