VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
setDataManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <map>
17 #include <boost/signals2.hpp>
18 
20 class DtSimRadio;
21 class DtLocalObject;
22 
23 namespace makVrfEvents
24 {
25  class DtEvent;
26 }
27 
49 {
50 private:
56  DtSetDataManager& operator=(const DtSetDataManager& orig);
57 
58 public:
61 
63  virtual ~DtSetDataManager();
64 
66  virtual bool init();
67 
71  virtual bool init(DtSimRadio* pRadio);
78  virtual void addSetDataProcessorCallback(const DtSetMessageType& setDataType, DtMessageCallbackFcn fcn, void* usr);
79 
88  virtual void addSetDataNotifyCallback(const DtSetMessageType& setDataType, DtMessageCallbackFcn fcn, void* usr);
89 
92  virtual void removeSetDataCallback(const DtSetMessageType& setDataType, DtMessageCallbackFcn fcn,
93  void* usr);
94 
96  virtual void processSetEvent(const makVrfEvents::DtEvent&);
97 
99  virtual bool executeSetDataRequest(const DtSetDataRequestMessage& setMsg);
100 
104  virtual std::vector<DtSetMessageType> capableSetDataTypes() const;
105 
107  virtual bool canExecuteSetData(const DtSetMessageType& setDataType) const;
108 
110  virtual void tick();
111 
113  DtSimRadio* radio();
115  const DtSimRadio* radio() const;
117 protected:
120  virtual void registerRadioMessageCallbacks();
123  virtual void unRegisterRadioMessageCallbacks();
124 
126  static void setDataMessageCallback(DtSimMessage* msg, void* usr);
127 
129  virtual DtSetMessageType remapScriptId(const DtSetMessageType&) const;
130 
131 protected:
132  typedef std::pair<DtMessageCallbackFcn, void*> DtSetDataCallbackInfo;
133  typedef std::multimap<DtSetMessageType, DtSetDataCallbackInfo > DtSetDataCallbackMap;
136 
139 
140  boost::signals2::scoped_connection mySetEventConnection;
141 
142  std::vector<DtSetDataRequestMessage*> myDelayedSetExecution;
143 };
144 
146 inline const DtSimRadio* DtSetDataManager::radio() const {return myRadio;}
boost::signals2::scoped_connection mySetEventConnection
Definition: setDataManager.h:140
Definition: simRadio.h:30
DtSetDataCallbackMap mySetDataNotifyCallbackMap
Definition: setDataManager.h:135
DtSimRadio * radio()
radio accessor
Definition: setDataManager.h:145
std::vector< DtSetDataRequestMessage * > myDelayedSetExecution
Definition: setDataManager.h:142
std::pair< DtMessageCallbackFcn, void * > DtSetDataCallbackInfo
Definition: setDataManager.h:132
DtSimRadio * myRadio
Definition: setDataManager.h:137
DtLocalObject * myVrfObject
Definition: setDataManager.h:138
std::multimap< DtSetMessageType, DtSetDataCallbackInfo > DtSetDataCallbackMap
Definition: setDataManager.h:133
Definition: event.h:13
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
DtSetDataCallbackMap mySetDataProcessorCallbackMap
Definition: setDataManager.h:134
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
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.
Definition: setDataManager.h:48
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
A DtSetDataRequestMessage is a DtRadioMsg with a pointer to a setDataRequest. The type of the DtSetDa...
Definition: setDataRequestMessage.h:29
DtCallbackList< DtSimMessage * >::DtCallbackFunctionType DtMessageCallbackFcn
Message callback function signature.
Definition: messageExecutive.h:21
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)