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.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)