VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfAggregateObjectDataStateProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrfGuiCore/DtVrfObjectDataStateObjectAgent.hpp>
17 
18 #include <vrvVrl/vrvVrl.h>
19 //#include <vrvCore/DtSimDataProcessor.h>
20 
23 #include <vrvCore/DtSimEntryObjectAgent.hpp>
24 #include <vlutil/vlPerformanceStats.h>
25 
26 namespace makVrv
27 {
28  namespace DT_PROTOCOL_NAMESPACE
29  {
30  class DtStateListenerInterface;
31  }
32 }
33 
34 namespace makVrf
35 {
36  class DtNetworkMessageInterfaceHandlerAgent;
37 
38  namespace VRF_PROTOCOL_NAMESPACE
39  {
43  {
44  public:
45 
48 
51 
54  int sessionId, int messageVersion);
55 
58 
60  void postDrainInput();
61 
63  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
64 
66  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
67 
69  void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
70 
72  void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
73 
75  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
76  makVrv::DtSimStateObjectAgent& objectDriver);
77  virtual void updateExtendedState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
78  virtual void rangeItemsFrom(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
79  std::vector<DtRangeItem>&);
80 
81  virtual void setupState(
83 
84  boost::signal<void (makVrv::DtUniqueID, DtVrfObjectDataState&) > signal_stateUpdated;
85 
86  protected:
87 
89  static void postDrainInput(void* usr);
90 
91  protected:
92 
93  virtual void slot_modelSetChanged();
94 
95  //A Listener and a driver which will be updated with it.
97  {
98  public:
99 
101  DtVrfObjectDataStateObjectAgent& driver,
103 
105 
107 
108  //Are the updaters equal
109  bool operator==(const VrfAggregateObjectDataStateUpdater& orig) const;
110 
112  void update(double timeT);
113 
114  protected:
115 
117  DtVrfObjectDataStateObjectAgent* myObjectAgent;
119  };
120 
121  typedef std::set<makVrv::DtUniqueID> AggregateIdList;
122 
124  {
126  DtVrfObjectDataStateObjectAgent* myAgent;
128  };
129 
130  typedef std::map<makVrv::DtUniqueID,AggregateSimDataInstance > AggregateAgentMap;
131 
133  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,AggregateUpdaterGroup>
135 
136  protected:
137 
139 
142  DtTimedSection myTimer;
143  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
144 
148 
151 
152  mutable std::set<std::string> myRangeLabels;
153  std::map<makVrv::DtUniqueID, DtString> myExtendedLabels;
154  DtNetworkMessageInterfaceHandlerAgent* myNetworkMessageInterfaceHandlerAgent;
155 
156  typedef std::map<makVrv::DtUniqueID, DtVrfObjectDataState> StateMap;
158  };
159  }
160 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)