VR-Forces 4.1 Class Documentation
remoteComponentAttachmentManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: remoteComponentAttachmentManager.h,v $ $Revision: 1.2 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef DTREMOTECOMPONENTATTACHMENTMANAGER_H_
9 #define DTREMOTECOMPONENTATTACHMENTMANAGER_H_
10 
13 
15 #include <vl/globalObjDes.h>
16 
19 
21 #include <map>
22 
26 
27 class DtVrfObjectManager;
28 class DtFilename;
29 class DtVrfObject;
32 
36 {
37 protected:
40 
41 public:
42 
43  typedef std::map<DtGlobalObjectDesignatorKey,DtGlobalObjectDesignator> RecentArrivalsMap;
44  typedef RecentArrivalsMap::iterator ArrivalIterator;
45  typedef RecentArrivalsMap::const_iterator const_ArrivalIterator;
46 
48  {
49  Remove = -1,
50  NotReady = 0,
51  Ready
52  };
53 
54 public:
55 
58 
61 
62 public:
63 
65  virtual void addRecentArrival(DtVrfObject *pVrfObj);
66 
68  virtual void attach(const DtRemoteConfigurationMapEntry& entry,
69  DtVrfObject& obj);
70 
73  virtual DtRemoteConfigurationMapper* attachmentRules();
74  virtual const DtRemoteConfigurationMapper* attachmentRules() const;
76 
80  void setBuilderCreatorFcn(DtRemoteComponentConfigurationBuilder::CreatorFcn fcn);
82 
85  virtual void clear();
86 
92  virtual DtRemoteConfigurationMapper* createAttachmentRules(const char* pReaderWriterName);
93 
95  virtual void clearRecentArrivals();
96 
102  virtual EvaluationReadinessState checkReadinessCriteria(DtVrfObject& obj);
103 
109  virtual bool checkRejectionCriteria(DtVrfObject& obj);
110 
112  virtual void destroyAttachmentRules();
113 
116  virtual void evaluateAndAttach(DtVrfObject& obj);
117 
119  virtual bool initialize(const DtFilename& fromFile);
120 
123  virtual void processRemoveFromArrivals(DtVrfObject* pVrfObj);
124  virtual void processRemoveFromArrivals(const DtGlobalObjectDesignator& globalId);
126 
128  virtual void resetAllReflectedObjectsToNonVrfSimulated();
129 
131  virtual void resetReflectedObjectToNonVrfSimulated(DtVrfObject *pVrfObj);
132 
134  virtual void tick();
135 
138  DtTime tickRate() const;
139  void setTickRate(DtTime interval);
141 
143  DtVrfObjectManager* vrfObjectManager();
144  const DtVrfObjectManager* vrfObjectManager() const;
145 
146 public:
147 
149  virtual void processVrfObjectToBeRemoved(DtVrfObject* pVrfObject);
150 
153  static void vrfObjectToBeRemovedCallback(DtVrfObject* pVrfObject, void* pUsr);
154 
155 protected:
156 
160  virtual void doWork();
161 
162 protected:
163 
166 
168  DtTime myNextTick;
169 
172 
180 
184 
187 
189  DtTime myTickRate;
190 
193 
196 
197 
198 private:
202 };
203 
205 {
207 }
208 
210 {
212 }
213 
215 inline void DtRemoteComponentAttachmentManager::setTickRate(DtTime interval) {myTickRate = interval;}
216 
219 
220 #endif

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)