VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 More...
 
 DtReportMessage (const DtReportMessage &orig)
 
virtual ~DtReportMessage ()
 Destructor; does not destroy task, just the message itself. More...
 
virtual DtSimReportreport () const
 Returns a pointer to the DtSimReport object in the message. More...
 
virtual void setReport (DtSimReport *report)
 N.B. More...
 
virtual int contentCategoryType () const
 The radioMessageType() for this kind of message is DtReportMessageType. More...
 
virtual const
DtSimReportMessageType
contentType () const
 
virtual DtSimMessageclone () const
 Required override. Clones itself and the task it points to. More...
 
virtual int netRepSize () const
 Overrides the base class DtVrfObjectMessage netRepSize(). More...
 
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. More...
 
virtual bool setToNet ()
 Fill in our task type, tell the task to fill itself out, and then copy its buffer into ours. More...
 
virtual void printDataToString (DtString &str)
 Print message. More...
 
- Public Member Functions inherited from DtVrfObjectMessage
 DtVrfObjectMessage ()
 default constructor More...
 
 DtVrfObjectMessage (const DtVrfObjectMessage &orig)
 copy constructor: shallow; copies values only. More...
 
const DtVrfObjectMessageoperator= (const DtVrfObjectMessage &orig)
 assignment operator: shallow; assigns values only. More...
 
virtual ~DtVrfObjectMessage ()
 destructor More...
 
virtual int messageType () const
 
virtual int radioMessageType () const
 
virtual charnetRep ()
 Returns a pointer to the simulation network representation of this message. More...
 
virtual int scenarioRunId () const
 If used, the scenario run id of the scenario that sent this message. More...
 
virtual void setScenarioRunId (int)
 
virtual void setReceiver (const DtUUID &receiver)
 Note that sending/receiving by echelon id is no longer supported. More...
 
virtual const DtUUIDreceiver () const
 
virtual void setRecipient (const DtUUID &receiver)
 
virtual const DtUUIDrecipient () const
 
virtual void setTransmitter (const DtUUID &transmitter)
 Note that sending/receiving by echelon id is no longer supported. More...
 
virtual const DtUUIDtransmitter () const
 
virtual void setSender (const DtUUID &transmitter)
 
virtual const DtUUIDsender () const
 
- Public Member Functions inherited from DtSimMessage
 DtSimMessage ()
 default constructor More...
 
 DtSimMessage (const DtSimMessage &orig)
 copy constructor More...
 
const DtSimMessageoperator= (const DtSimMessage &orig)
 assignment operator More...
 
virtual ~DtSimMessage ()
 destructor More...
 
virtual std::string debugText () const
 Leak detector output. More...
 

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. More...
 
static DtVrfObjectMessagecreateRadioMessage (int type)
 
static void addVrfObjectMessageCreatorFcn (int type, DtVrfObjectMessageCreatorFcn fcn)
 Adds a new creator function to the DtVrfObjectMessageFactory. More...
 
static void addRadioMessageCreatorFcn (int type, DtVrfObjectMessageCreatorFcn fcn)
 
static void setFactory (DtVrfObjectMessageFactory *factory)
 
static DtVrfObjectMessageFactoryfactory ()
 
- Static Public Member Functions inherited from DtObjectDebugger< DtSimMessage >
static DtObjectCounter::CounterType ObjectCount ()
 
static const DtObjectContainer * ObjectContainer ()
 

Protected Member Functions

const DtReportMessageoperator= (DtReportMessage &orig)
 
- Protected Member Functions inherited from DtVrfObjectMessage
virtual charcreateNetworkBuffer ()
 
- Protected Member Functions inherited from DtObjectDebugger< DtSimMessage >
 DtObjectDebugger ()
 
 DtObjectDebugger (const DtObjectDebugger &)
 
 ~DtObjectDebugger ()
 

Protected Attributes

DtSimReportmyReport
 
bool myOwnReport
 
- Protected Attributes inherited from DtVrfObjectMessage
DtUUID myTransmitter
 
DtUUID myReceiver
 
charmyNetRep
 
int myScenarioRunId
 

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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)