VR-Forces 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  virtual void addDefaultClutterSetTypes();
114 
116  DtSimRadio* radio();
118  const DtSimRadio* radio() const;
120 protected:
123  virtual void registerRadioMessageCallbacks();
126  virtual void unRegisterRadioMessageCallbacks();
127 
129  static void setDataMessageCallback(DtSimMessage* msg, void* usr);
130 
132  virtual DtSetMessageType remapScriptId(const DtSetMessageType&) const;
133 
135  virtual void addClutterSet(const DtSetMessageType& setType);
136 
137 protected:
138  typedef std::pair<DtMessageCallbackFcn, void*> DtSetDataCallbackInfo;
139  typedef std::multimap<DtSetMessageType, DtSetDataCallbackInfo > DtSetDataCallbackMap;
142 
143  std::vector<DtSetMessageType> myClutterSets;
144 
147 
148  std::vector<DtSetDataRequestMessage*> myDelayedSetExecution;
149  boost::signals2::connection myEventSignalConnection;
150 };
151 
153 inline const DtSimRadio* DtSetDataManager::radio() const {return myRadio;}
Definition: simRadio.h:30
DtSetDataCallbackMap mySetDataNotifyCallbackMap
Definition: setDataManager.h:141
DtSimRadio * radio()
radio accessor
Definition: setDataManager.h:152
std::vector< DtSetDataRequestMessage * > myDelayedSetExecution
Definition: setDataManager.h:148
std::pair< DtMessageCallbackFcn, void * > DtSetDataCallbackInfo
Definition: setDataManager.h:138
DtSimRadio * myRadio
Definition: setDataManager.h:145
boost::signals2::connection myEventSignalConnection
Definition: setDataManager.h:149
DtLocalObject * myVrfObject
Definition: setDataManager.h:146
std::multimap< DtSetMessageType, DtSetDataCallbackInfo > DtSetDataCallbackMap
Definition: setDataManager.h:139
std::vector< DtSetMessageType > myClutterSets
Definition: setDataManager.h:143
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:140
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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)