VR-Forces 4.3.1 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 
25 namespace makVrv
26 {
27  namespace DT_PROTOCOL_NAMESPACE
28  {
29  class DtStateListenerInterface;
30  }
31 }
32 
33 namespace makVrf
34 {
35  class DtNetworkMessageInterfaceHandlerAgent;
36 
37  namespace VRF_PROTOCOL_NAMESPACE
38  {
42  {
43  public:
44 
47 
50 
53  int sessionId, int messageVersion);
54 
57 
59  void postDrainInput();
60 
62  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
63 
65  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
66 
68  void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
69 
71  void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
72 
74  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
75  makVrv::DtSimStateObjectAgent& objectDriver);
76  virtual void updateExtendedState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
77  virtual void rangeItemsFrom(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
78  std::vector<DtRangeItem>&);
79 
80  boost::signal<void (makVrv::DtUniqueID, DtVrfObjectDataState&) > signal_stateUpdated;
81 
82  protected:
83 
85  static void postDrainInput(void* usr);
86 
87  protected:
88 
89  //A Listener and a driver which will be updated with it.
91  {
92  public:
93 
95  DtVrfObjectDataStateObjectAgent& driver,
97 
99 
101 
102  //Are the updaters equal
103  bool operator==(const VrfAggregateObjectDataStateUpdater& orig) const;
104 
106  void update(double timeT);
107 
108  protected:
109 
111  DtVrfObjectDataStateObjectAgent* myObjectAgent;
113  };
114 
115  typedef std::set<makVrv::DtUniqueID> AggregateIdList;
116 
118  {
120  DtVrfObjectDataStateObjectAgent* myAgent;
122  };
123 
124  typedef std::map<makVrv::DtUniqueID,AggregateSimDataInstance > AggregateAgentMap;
125 
127  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,AggregateUpdaterGroup>
129 
130  protected:
131 
133 
136  DtTimedSection myTimer;
137  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
138 
142 
145 
146  mutable std::set<std::string> myRangeLabels;
147  std::map<makVrv::DtUniqueID, DtString> myExtendedLabels;
148  DtNetworkMessageInterfaceHandlerAgent* myNetworkMessageInterfaceHandlerAgent;
149 
150  typedef std::map<makVrv::DtUniqueID, DtVrfObjectDataState> StateMap;
152  };
153  }
154 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)