VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
orbatSimDataProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrfGuiCore/orbatState.h>
19 
20 #include <vlutil/vlPerformanceStats.h>
21 
23 class DtRwOrbatData;
24 
25 namespace makVrv
26 {
27  class DtSimEntryObjectAgent;
28  class DtEntityStateListener;
29 
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtVrlinkConnection;
33  class DtAggregateExistenceListener;
34  class DtVrlinkAggregateStateListener;
35  class DtEntityExistenceListener;
37  }
38 }
39 
40 namespace makVrf
41 {
42  class DtOrbatStateObjectAgent;
43 
44  namespace VRF_PROTOCOL_NAMESPACE
45  {
46  class DtOrbatStateListenerInterface;
47 
50  {
51  public:
54 
57 
60  DtVrfRemoteController* remote);
61 
63  virtual ~DtOrbatSimDataProcessor();
64 
66  virtual void postDrainInput();
67 
69  virtual void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
70 
72  virtual void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
73 
75  virtual void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
76 
78  virtual void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
79 
81  virtual void entityDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
82 
84  virtual void entityToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
85 
87  virtual void addOrbatListener(DtOrbatStateListenerInterface& listener);
88 
90  virtual void removeOrbatListener(DtOrbatStateListenerInterface& listener);
91 
93  virtual void createAndSendState(DtOrbatStateListenerInterface& listener,
94  DtOrbatStateObjectAgent& objectDriver);
95  virtual bool setState(DtOrbatStateListenerInterface& listener, DtOrbatState& state);
96 
97  protected:
98 
99  static void postDrainInput(void* usr);
100 
101  virtual void slot_postAggregateUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener&);
102  virtual void slot_postEntityUpdateCallback(makVrv::DtEntityStateListener&);
103 
104  protected:
105 
106  //A Listener and a driver which will be updated with it.
108  {
109  public:
110 
112  DtOrbatStateObjectAgent& driver, DtOrbatSimDataProcessor& processor);
113 
115 
116  OrbatStateUpdater& operator=(const OrbatStateUpdater& orig);
117 
118  //Are the updaters equal
119  bool operator==(const OrbatStateUpdater& orig) const;
120 
122  void update(double timeT);
123 
124  protected:
125 
127  DtOrbatStateObjectAgent* myObjectAgent;
129  };
130 
131  typedef std::set<makVrv::DtUniqueID> OrbatIdList;
132 
134  {
136  DtOrbatStateObjectAgent* myAgent;
138  };
139 
140  typedef std::map<makVrv::DtUniqueID,OrbatSimDataInstance > OrbatAgentMap;
141 
143  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,OrbatUpdaterGroup>
145 
146  protected:
148 
152  DtTimedSection myTimer;
153  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
154 
159  };
160 
162  {
163  public:
166 
168 
171  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
173 
175  };
176  }
177 }

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)