VR-Forces 4.1 Class Documentation
DtVrlinkAggregateSimDataProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: DtVrlinkAggregateSimDataProcessor.h,v $ $Revision: 1.1 $ $State: Exp $
7 *******************************************************************************/
8 
12 
13 #pragma once
14 
16 
17 #include <vrvVrl/vrvVrl.h>
18 
23 
24 #include <vlutil/vlPerformanceStats.h>
25 
27 
28 namespace makVrv
29 {
30  class DtSimEntryObjectAgent;
31 
32  namespace DT_PROTOCOL_NAMESPACE
33  {
34  class DtVrlinkConnection;
35  class DtAggregateExistenceListener;
36  class DtVrlinkAggregateStateListener;
37  }
38 }
39 
40 namespace makVrf
41 {
42  class DtAggregateStateObjectAgent;
43 
44  namespace VRF_PROTOCOL_NAMESPACE
45  {
46 
49  {
50  public:
53 
56 
59 
61  virtual ~DtAggregateSimDataProcessor();
62 
64  void postDrainInput();
65 
67  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
68 
70  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
71 
73  void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
74 
76  void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
77 
79  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
80  DtAggregateStateObjectAgent& objectDriver);
83 
84  protected:
85 
86  static void postDrainInput(void* usr);
87 
88  virtual void slot_postUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener&);
89 
90  protected:
91 
92  //A Listener and a driver which will be updated with it.
94  {
95  public:
96 
98  DtAggregateStateObjectAgent& driver, DtAggregateSimDataProcessor& processor);
99 
101 
102  AggregateStateUpdater& operator=(const AggregateStateUpdater& orig);
103 
104  //Are the updaters equal
105  bool operator==(const AggregateStateUpdater& orig) const;
106 
108  void update(double timeT);
109 
110  protected:
111 
113  DtAggregateStateObjectAgent* myObjectAgent;
115  };
116 
117  typedef std::vector<makVrv::DtUniqueID> AggregateIdList;
118 
120  {
122  DtAggregateStateObjectAgent* myAgent;
124  };
125 
126  typedef std::map<makVrv::DtUniqueID,AggregateSimDataInstance > AggregateAgentMap;
127 
129  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,AggregateUpdaterGroup>
131 
132  protected:
134 
137  DtTimedSection myTimer;
138  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
139 
143 
144  typedef boost::unordered_map<makVrv::DtUniqueID, DtVrlinkSimulatedAggregateState> AggregateStates;
146  };
147  }
148 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)