VR-Forces 4.2 Class Documentation
DtSpotReportDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
23 
26 
27 #pragma once
28 
29 #include <vrfGuiCore/vrfGuiCore.h>
30 
31 #include <vrvUtil/signalslib.h>
32 #include <vrvCore/DtUniqueID.h>
33 #include <vrvCore/DtSimDataProcessorInterface.h>
34 #include <vrvCore/DtSimEntryUpdater.h>
35 #include <vrvUtil/DtBalancedUpdater.h>
36 #include <vrvUtil/DtSignalConnectionManager.h>
37 
38 #include <boost/bind.hpp>
39 
40 namespace makVrv
41 {
42  class DtDe;
43  class DtSimEntryObjectAgent;
44  class DtSimObjectEntry;
45 }
46 
47 namespace makVrf
48 {
49  class DtSpotReportDataHandler;
50  class DtSpotReportDataHandlerCreatorInterface;
51 
52  class DT_DLL_VRFGUICORE DtSpotReportDataProcessor : public makVrv::DtSimDataProcessorInterface
53  {
54  public:
55 
57  static DtSpotReportDataProcessor& instance(makVrv::DtDe& de);
58 
60  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
61 
62  public:
65  virtual void addSpotReportHandler(const std::string& s, DtSpotReportDataHandlerCreatorInterface*);
66 
67  virtual void removeSpotReportHandler(const std::string& s);
68 
73  virtual std::string addOrUpdateSpotReport(const std::string& type, void* data, const std::string& key = "");
74 
76  virtual void removeSpotReport(makVrv::DtUniqueID id);
77 
79  virtual void removeAllSpotReports();
80 
82  virtual std::vector<makVrv::DtUniqueID> observing(makVrv::DtUniqueID) const;
83 
84  protected:
85  virtual DtSpotReportDataHandler* createSpotReportHandler(const std::string& s, makVrv::DtUniqueID) const;
86 
89  virtual std::string createSpotReport(const std::string& type, void* data, const std::string& key = "");
90 
91  protected:
93  virtual void processForceUpdateList();
94 
97  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
98 
99  protected:
101  DtSpotReportDataProcessor(makVrv::DtDe& sim);
102 
104  virtual ~DtSpotReportDataProcessor();
105 
106  protected:
107  typedef std::vector<makVrv::DtUniqueID> SpotReportIdList;
108  typedef std::map<std::string, DtSpotReportDataHandlerCreatorInterface*> SpotReportHandlerCreators;
109  typedef std::map<std::string, DtSpotReportDataHandler*> SpotReportHandlers;
110  typedef std::map<makVrv::DtUniqueID, DtSpotReportDataHandler*> SpotReportHandlersById;
111 
112  makVrv::DtDe& myDe;
113  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
114  makVrv::DtSignalConnectionManager myConnections;
119 
122  };
123 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)