VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTDLMessageDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
15 
16 #pragma once
17 
18 #include <vrfGuiCore/vrfGuiCore.h>
19 
20 #include <vrvUtil/signalslib.h>
21 #include <vrvCore/DtUniqueID.h>
26 #include <vrfutil/rwUUID.h>
27 
28 #include <boost/bind.hpp>
29 
30 class DtSpotReport;
31 
32 namespace makVrv
33 {
34  class DtDe;
35  class DtSimEntryObjectAgent;
36  class DtSimObjectEntry;
37 }
38 
39 namespace makVrf
40 {
41  class DtVrfTDLMessageDataHandler;
42  class DtVrfSimBackendManager;
43  class DtTDLGenericNetworkMessage;
44  class DtVrfTDLMessageDataHandlerCreatorInterface;
45 
47  {
48  public:
49 
51  static DtVrfTDLMessageDataProcessor& instance(makVrv::DtDe& de);
52 
54  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
55 
56  public:
57 
62  virtual bool addOrUpdateTDLMessage(const std::string& type, const DtTDLGenericNetworkMessage& message);
63 
65  virtual void removeTDLMessage(makVrv::DtUniqueID id);
66 
68  virtual void removeTDLMessage(const std::string& uniqueIdentifier);
69 
71  virtual void removeAllTDLMessages();
72 
75  virtual void addTDLMessageDataHandler(const std::string& s, DtVrfTDLMessageDataHandlerCreatorInterface*);
76 
77  virtual void removeTDLMessageDataHandler(const std::string& s);
78 
79  virtual bool isTDLMessageData(makVrv::DtUniqueID id) const;
80 
81  protected:
82  virtual DtVrfTDLMessageDataHandler* createVrfTDLMessageDataHandler(const std::string& type, makVrv::DtUniqueID) const;
83 
85  virtual bool createTDLMessageData(const std::string& type, const DtTDLGenericNetworkMessage&);
86 
89  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
90 
91  virtual DtVrfSimBackendManager& backendManager() const;
92 
93  virtual double simTime() const;
94 
95  protected:
98 
100  virtual ~DtVrfTDLMessageDataProcessor();
101 
103  virtual void tick();
104 
105  protected:
107  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
108 
109  typedef std::map<std::string, DtVrfTDLMessageDataHandler*> VrfTDLMessageDataHandlers;
111 
112  typedef std::map<makVrv::DtUniqueID, DtVrfTDLMessageDataHandler*> VrfTDLMessageDataHandlersById;
114 
116 
117  typedef std::set<makVrv::DtUniqueID> VrfTDLMessageDataIdList;
119 
121 
122  typedef std::map<std::string, DtVrfTDLMessageDataHandlerCreatorInterface*> VrfTDLMessageDataHandlerCreators;
124  };
125 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)