VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
spotReportGeneratorController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
15 #include <list>
18 #include "vrftasks/spotReport.h"
19 
22 class DtSimReport;
26 class DtSimMessage;
27 class DtVrfObjectMessage;
28 class DtSettingsObject;
29 class DtBoolSetting;
30 
49 {
50 private:
58 public:
59 
63  DtSimManager* simManager, DtComponentDescriptor* desc=0,
64  DtReaderWriterRegistry *parentRegistry=0);
65 
68 
72  virtual bool init();
73 
76  virtual const char* type() const;
77 
81  virtual void tick();
82 
84  static void setSpotReportingCallback(DtSimMessage * msg, void * usr);
85 
86  virtual void processSetSpotReporting(DtSimMessage * msg);
87 
91  virtual void setLocalEnabled(bool on);
92 
100  virtual void setGlobalEnabledOverridingLocal();
101 
104  virtual void resendSpotReports(unsigned long requestId);
105 
109  static DtSimComponent * creator(const DtString& name,
110  DtVrfObject* owner,
111  DtSimManager* simManager,
112  DtComponentDescriptor* desc = 0,
113  DtReaderWriterRegistry* parentRegistry = 0);
114 
115 protected:
116 
121  virtual void turnSpotReportingOn();
122  virtual void turnSpotReportingOff();
124 
126  virtual bool createPorts();
127 
133  virtual bool createPSR();
134 
137  static void objectAboutToBeRemovedCallback(DtVrfObject* object, void* usr);
138  virtual void processObjectAboutToBeRemoved(DtVrfObject* object);
139 
141  virtual void registerRadioMessageCallbacks();
142 
146  virtual void sendDestroyedReports(unsigned long resendId, bool queueMissing = false);
147 
151  virtual DtSpotReport* createDestroyedReport(unsigned long resendId, const DtUUID& entity, bool& objectIsNoLongerDestroyed);
152 
163  virtual void generateAndSendSpotReports();
164 
172  virtual bool isTypeAndForceForReport(
173  DtRwSensorContactInfo* contact);
174 
179  virtual DtSpotReport* createSpotReportForContact(
180  const DtRwSensorContactInfo& contactInfo);
181 
183  virtual void updateSpotReportForContact(DtSpotReport& spotReport,
184  const DtRwSensorContactInfo& contact);
185 
190  virtual void sendSpotReport(DtSpotReport& spotReport, bool superiorOnly);
191 
193  virtual void sendSpotReports(const std::vector<DtSimReport*>& spotReports, bool superiorOnly);
194 
196  virtual void sendStopSpottingReports(const std::set<DtUUID>& stoppedSpotting);
197 
203  virtual bool spotReportNeedsUpdateAndResend(const DtSpotReport& spotRep,
204  const DtRwSensorContactInfo& contact, DtSpotReport::Reason& reason) const;
205 
208  virtual double heartbeatDeltaFor(const DtSpotReport& spotRep,
209  const DtRwSensorContactInfo& contact) const;
210 
217  virtual const DtSimReportMessageType& spotReportTypeString() const;
218 
225  virtual const DtSimReportMessageType& stopSpottingReportTypeString() const;
226 
230  static void settingConsumerCallback(const DtSettingsObject* settingsObject,
231  void* usr);
234  virtual void readGlobalEnabledSetting(const DtBoolSetting* enabledSetting);
235 
238 
239  static void hostilitiesChangedCallback(DtU8 force, void* usr);
240  virtual void processHostilitiesChanged(DtU8 force);
242 
247  virtual bool reportingEnabled() const;
248 
252  virtual bool checkSpotReportUpdateConditions(const DtSpotReport& spotRep,
253  const DtRwSensorContactInfo& contact, DtSpotReport::Reason& reason) const;
254 
257  virtual bool checkDeltaDistanceConditions(const DtSpotReport& spotRep,
258  const DtRwSensorContactInfo& contact) const;
259 
261  virtual bool checkDeltaHeartbeatConditions(const DtSpotReport& spotRep,
262  const DtRwSensorContactInfo& contact) const;
263 
265  virtual bool entityHasUpdateRate(const DtRwSensorContactInfo& contactInfo) const;
266 
268  virtual void timedTick();
269 
271  static void objectAddedCb(DtVrfObject*, void* usr);
272  virtual void processObjectAdded(DtVrfObject*);
273 
274  static void requestSpotReportsCallback(DtSimMessage* msg, void* usr);
275  virtual void processRequestSpotReports(DtSimMessage* msg);
276 
278  virtual void processSetRemoteSensorReceiver(DtSimMessage* msg);
279 
281  static void setRemoteSensorReceiverCallback(DtSimMessage* msg, void* usr);
282 
283 protected:
284 
293 
294 
295 
296 
297 
298 
299 
302 
305 
309 
312 
316 
320 
322 
324 
325  typedef std::map<DtUUID, std::vector<unsigned long> > MissingDestroyedObjectsMap;
327 };
328 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)