VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectDataStateProcessor.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>
14 
15 //#include <vrvCore/DtSimDataProcessor.h>
18 
21 #include <vrvCore/DtSimEntryObjectAgent.hpp>
23 
24 #include <vrfExtObjects/extEntityStateRepository.h>
25 
26 namespace makVrv
27 {
28  class DtEntityStateListener;
29 
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtEntityExistenceListener;
33  class DtStateListenerInterface;
34  }
35 }
36 
37 namespace makVrf
38 {
39  class DtNetworkMessageInterfaceHandlerAgent;
40 
41  namespace VRF_PROTOCOL_NAMESPACE
42  {
45  {
46  public:
47 
50 
53 
56 
59 
61  void postDrainInput();
62 
64  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
65 
67  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
68 
70  void entityDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
71 
73  void entityToBeDeleted(makVrv::DtEntityStateListener& listener);
74 
76  virtual void createAndSendState(makVrv::DtEntityStateListener& listener,
77  makVrv::DtSimStateObjectAgent& objectDriver);
78  virtual void updateExtendedState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
79  virtual void rangeItemsFrom(const DtExtEntityStateRepository& esr, std::vector<DtRangeItem>&) const;
80 
81  boost::signal<void (makVrv::DtUniqueID, DtVrfObjectDataState&) > signal_stateUpdated;
82 
83  protected:
84 
86  static void postDrainInput(void* usr);
87  void slot_postUpdateCallback(makVrv::DtEntityStateListener& listener);
88  void setupState(const DtExtEntityStateRepository&, DtVrfObjectDataState&) const;
89 
90  protected:
91 
92  //A Listener and a driver which will be updated with it.
94  {
95  public:
96 
98  DtVrfObjectDataStateObjectAgent& driver, DtVrfObjectDataStateProcessor&);
99 
101 
103 
104  //Are the updaters equal
105  bool operator==(const VrfObjectDataStateUpdater& orig) const;
106 
108  void update(double timeT);
109 
110  protected:
111 
113  DtVrfObjectDataStateObjectAgent* myObjectAgent;
115  };
116 
117  typedef std::set<makVrv::DtUniqueID> EntityIdList;
118 
120  {
122  DtVrfObjectDataStateObjectAgent* myAgent;
124  };
125 
126  typedef std::map<makVrv::DtUniqueID,EntitySimDataInstance > EntityAgentMap;
127 
129  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,EntityUpdaterGroup>
131 
132  protected:
133 
135 
138  DtTimedSection myTimer;
139  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
140 
144 
145  std::map<makVrv::DtUniqueID, DtVrfObjectDataState> myCache;
146 
149 
150  mutable std::set<std::string> myRangeLabels;
151  std::map<makVrv::DtUniqueID, DtString> myExtendedLabels;
152  DtNetworkMessageInterfaceHandlerAgent* myNetworkMessageInterfaceHandlerAgent;
153  };
154  }
155 }

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)