VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtSetDataManager Class Reference

This class manages the distribution of DtSetDataRequests within a single DtLocalObject. Components of the object, or other parts of the code, register interested in particular types of set data messages and when such a message is processed by the DtSetDataManager, each of the registered parties is notified.

The DtSetDataManager registers itself with the local entity's radio and listens for any incoming radio messages that contain set data requests and distributes these. Set data requests can also be manually inserted into the manger using the executeSetDataRequest() method. This is the standard way of getting an object to process a set data request.

The DtSetDataManager will also respond to queries about what set data types are currently possible by the object. It returns a list of all set data type IDs that have been registered for.

Related Examples

Public Member Functions

 DtSetDataManager (DtLocalObject *, DtSimRadio *radio)
 
virtual ~DtSetDataManager ()
 
virtual bool init ()
 
virtual bool init (DtSimRadio *pRadio)
 
virtual void addSetDataProcessorCallback (const DtSetMessageType &setDataType, DtMessageCallbackFcn fcn, void *usr)
 
virtual void addSetDataNotifyCallback (const DtSetMessageType &setDataType, DtMessageCallbackFcn fcn, void *usr)
 
virtual void removeSetDataCallback (const DtSetMessageType &setDataType, DtMessageCallbackFcn fcn, void *usr)
 
virtual void processSetEvent (const makVrfEvents::DtEvent &)
 
virtual bool executeSetDataRequest (const DtSetDataRequestMessage &setMsg)
 
virtual std::vector
< DtSetMessageType
capableSetDataTypes () const
 
virtual bool canExecuteSetData (const DtSetMessageType &setDataType) const
 
virtual void tick ()
 
virtual void addDefaultClutterSetTypes ()
 
DtSimRadioradio ()
 
const DtSimRadioradio () const
 

Protected Types

typedef std::pair
< DtMessageCallbackFcn, void * > 
DtSetDataCallbackInfo
 
typedef std::multimap
< DtSetMessageType,
DtSetDataCallbackInfo
DtSetDataCallbackMap
 

Protected Member Functions

virtual void registerRadioMessageCallbacks ()
 
virtual void unRegisterRadioMessageCallbacks ()
 
virtual DtSetMessageType remapScriptId (const DtSetMessageType &) const
 
virtual void addClutterSet (const DtSetMessageType &setType)
 

Static Protected Member Functions

static void setDataMessageCallback (DtSimMessage *msg, void *usr)
 

Protected Attributes

DtSetDataCallbackMap mySetDataProcessorCallbackMap
 
DtSetDataCallbackMap mySetDataNotifyCallbackMap
 
std::vector< DtSetMessageTypemyClutterSets
 
DtSimRadiomyRadio
 
DtLocalObjectmyVrfObject
 
std::vector
< DtSetDataRequestMessage * > 
myDelayedSetExecution
 
boost::signals2::connection myEventSignalConnection
 

Private Member Functions

 DtSetDataManager ()
 
 DtSetDataManager (const DtSetDataManager &orig)
 
DtSetDataManageroperator= (const DtSetDataManager &orig)
 

Member Typedef Documentation

Constructor & Destructor Documentation

DtSetDataManager::DtSetDataManager ( )
private

Not Implemented.

DtSetDataManager::DtSetDataManager ( const DtSetDataManager orig)
private

Not Implemented.

DtSetDataManager::DtSetDataManager ( DtLocalObject ,
DtSimRadio radio 
)

Constructor.

virtual DtSetDataManager::~DtSetDataManager ( )
virtual

Destructor.

Member Function Documentation

DtSetDataManager& DtSetDataManager::operator= ( const DtSetDataManager orig)
private

Not Implemented.

virtual bool DtSetDataManager::init ( )
virtual

Must be called after constructor.

virtual bool DtSetDataManager::init ( DtSimRadio pRadio)
virtual

Override. If constructor is called with NULL radio, setDataManager must be reinitialized. Disconnects from previous radio before connecting.

virtual void DtSetDataManager::addSetDataProcessorCallback ( const DtSetMessageType setDataType,
DtMessageCallbackFcn  fcn,
void *  usr 
)
virtual

Add a callback to be called when a new set data request is being executed. The registering function should actually carry out the set in whatever way is appropriate for the particular set message.

Note
All set data types registered with this method will be reported as "capable" set data types by the capableSetDataTypes() method.
Multiple callbacks are allowed for a single set data type.
virtual void DtSetDataManager::addSetDataNotifyCallback ( const DtSetMessageType setDataType,
DtMessageCallbackFcn  fcn,
void *  usr 
)
virtual

Add a callback to be called when a new set data request is being executed. The registering function should not actually carry out the set, but just be using it as notification for some internal purposes.

Note
Set data types registered with this method will not be reported as "capable" set data types by the capableSetDataTypes() method, unless there is also a callback registered for the same type with addSetDataProcessorCallback().
Multiple callbacks are allowed for a single set data type.
virtual void DtSetDataManager::removeSetDataCallback ( const DtSetMessageType setDataType,
DtMessageCallbackFcn  fcn,
void *  usr 
)
virtual

Removes any callback that was added using either addSetDataProcessorCallback() or addSetDataNotifyCallback().

virtual void DtSetDataManager::processSetEvent ( const makVrfEvents::DtEvent )
virtual

Processes the set event by wrapping it in a DtSetDataRequestMessage if this set is meant for this object and calling executeSetDataRequest.

virtual bool DtSetDataManager::executeSetDataRequest ( const DtSetDataRequestMessage setMsg)
virtual

Invokes all registered callbacks with the specified set data message. Return true if handled.

virtual std::vector<DtSetMessageType> DtSetDataManager::capableSetDataTypes ( ) const
virtual
Returns
A vector containing all the set data types that this object is capable of performing. This is based on any callbacks that have been registered using addSetDataProcessorCallback().
virtual bool DtSetDataManager::canExecuteSetData ( const DtSetMessageType setDataType) const
virtual
Returns
True if this object can execute the specified set data type.
virtual void DtSetDataManager::tick ( )
virtual

Process any delayed set executions.

virtual void DtSetDataManager::addDefaultClutterSetTypes ( )
virtual

Called during initialization to add set types that can be used for clutter entities.

DtSimRadio * DtSetDataManager::radio ( )
inline

radio accessor

References myRadio.

const DtSimRadio * DtSetDataManager::radio ( ) const
inline

radio accessor

References myRadio.

virtual void DtSetDataManager::registerRadioMessageCallbacks ( )
protectedvirtual

Registers setDataMessageCallback for all set data requests from the radio.

virtual void DtSetDataManager::unRegisterRadioMessageCallbacks ( )
protectedvirtual

Unregisters setDataMessageCallback for all set data requests from the radio.

static void DtSetDataManager::setDataMessageCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Calls to the local instance's executeSetDataRequest.

virtual DtSetMessageType DtSetDataManager::remapScriptId ( const DtSetMessageType ) const
protectedvirtual

In case this is aliased, return the actual script id.

virtual void DtSetDataManager::addClutterSet ( const DtSetMessageType setType)
protectedvirtual

Adds a set that can be used for clutter entities.

Member Data Documentation

DtSetDataCallbackMap DtSetDataManager::mySetDataProcessorCallbackMap
protected
DtSetDataCallbackMap DtSetDataManager::mySetDataNotifyCallbackMap
protected
std::vector<DtSetMessageType> DtSetDataManager::myClutterSets
protected
DtSimRadio* DtSetDataManager::myRadio
protected

Referenced by radio().

DtLocalObject* DtSetDataManager::myVrfObject
protected
std::vector<DtSetDataRequestMessage*> DtSetDataManager::myDelayedSetExecution
protected
boost::signals2::connection DtSetDataManager::myEventSignalConnection
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)