MAK RTIspy API Documentation for HLA 1.3
ddmMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: ddmMgr.h,v $ $Revision: 1.32 $ $State: Exp $
7 *********************************************************************/
8 #ifndef ddmMgr_H_
9 #define ddmMgr_H_
10 #ifdef DDM
11 
14 
15 #include "rtiMsConfig.h"
16 #include <vlutil/vlHashlist.h>
17 #include "fomMgr.h"
18 #include "connectMgr.h"
19 #include "regionList.h"
20 #include "dimRangeBounds.h"
21 
22 class DtRtiSaveFile;
23 class DtRegion;
24 class DtFederateMgr;
25 class DtResignMsg;
26 
34 class DT_DLL_LRC DtDataDistMgr
35 {
36 public:
38  typedef DtDataDistMgr* (*DtDataDistMgrCreator)(DtFederateMgr* p);
39 
40 protected:
41 
43  DtDataDistMgr(DtFederateMgr* fedMgrPtr);
44 
45 public:
46 
48  virtual ~DtDataDistMgr();
49 
50 private:
51 
53  DtDataDistMgr(DtDataDistMgr const& );
54 
56  DtDataDistMgr& operator= (DtDataDistMgr const& );
57 
58 public:
59 
61  virtual void postJoinInit();
62 
64  virtual bool isPostJoined() const;
65 
67  virtual bool active();
68 
70  virtual DtRegion* localRegion(DtRegionHandle regionHandle) = 0;
71 
73  virtual bool isMemberLocalRegions(DtRegionHandle regionHandle) = 0;
74 
76  virtual DtRegion* remoteRegion(DtRegionHandle regionHandle) = 0;
77 
79  virtual bool isMemberRemoteRegions(DtRegionHandle regionHandle) = 0;
80 
82 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
83  virtual DtRegionHandle createRegion(DtDimensionHandleSet const & dimHandles) = 0;
84 #else
85  virtual DtRegion* createRegion(DtSpaceHandle spaceHandleValue,
86  unsigned long numberOfExtents) = 0;
87 #endif
88 
90  virtual void deleteRegion(DtRegion *regionPtr) = 0;
91 
93  virtual void deleteRegion(DtRegionHandle regionHandle) = 0;
94 
96  virtual void notifyAboutRegionModification(DtRegion* theRegion) = 0;
97 
99  virtual void notifyAboutRegionModification(DtRegionHandle regionHandle) = 0;
100 
103  DtAttributeHandle theHandle,
104  DtObjectClassHandle whichClass);
105 
108  DtInteractionClassHandle theHandle);
109 
110 #ifdef DtIFSPEC1516
111 
112  virtual void setRangeBounds(DtRegionHandle regionHandle,
113  DtExtentIndex extentIndex, DtDimensionHandle dimHandle,
114  unsigned long lower, unsigned long upper) = 0;
115  virtual void setRangeBounds(DtRegionHandle regionHandle,
116  DtExtentIndex extentIndex, DtDimBounds const & dimBounds) = 0;
117  virtual DtDimBounds getRangeBounds(DtRegionHandle regionHandle,
118  DtExtentIndex extentIndex, DtDimensionHandle dimHandle) = 0;
119 
122  virtual bool getDimensionHandleSet(
123  DtRegionHandle theRegionHandle,
124  rti1516::DimensionHandleSet& dimSet) const = 0;
125 #elif defined(DtIFSPEC1516E)
126 
127  virtual void setRangeBounds(DtRegionHandle regionHandle,
128  DtExtentIndex extentIndex, DtDimensionHandle dimHandle,
129  unsigned long lower, unsigned long upper) = 0;
130  virtual void setRangeBounds(DtRegionHandle regionHandle,
131  DtExtentIndex extentIndex, DtDimBounds const & dimBounds) = 0;
132  virtual DtDimBounds getRangeBounds(DtRegionHandle regionHandle,
133  DtExtentIndex extentIndex, DtDimensionHandle dimHandle) = 0;
134 
137  virtual bool getDimensionHandleSet(
138  DtRegionHandle theRegionHandle,
139  rti1516e::DimensionHandleSet& dimSet) const = 0;
140 #endif
141 
143  virtual void preTick();
144 
146  virtual void postTick();
147 
149  virtual void processResign(const DtResignMsg& msg);
150 
152  virtual bool save(DtRtiSaveFile& file);
153 
155  virtual void prepareToRestore();
156 
158  virtual bool restore( DtRtiSaveFile& file );
159 
160 public:
161 
167  static DtDataDistMgr* create(DtFederateMgr* fedMgrPtr);
168 
171  static void setCreatorFunction(DtDataDistMgrCreator fn);
172 
177  static void setInternalCreatorFunction(DtDataDistMgrCreator fn);
178 
179 protected:
180 
182  virtual DtFederateMgr* federateMgr();
183  virtual DtFederateMgr* federateMgr() const;
184 
186  virtual DtRIDParameters* params();
187  virtual DtRIDParameters* params() const;
188 
190  virtual DtFomClassMgr* fom();
191  virtual DtFomClassMgr* fom() const;
192 
194  virtual DtConnectionMgr* connectMgr();
195  virtual DtConnectionMgr* connectMgr() const;
196 
198  virtual DtObjectMgr* objMgr();
199  virtual DtObjectMgr* objMgr() const;
200 
202  virtual DtInteractionMgr* interMgr();
203  virtual DtInteractionMgr* interMgr() const;
204 
205 protected:
206 
208  DtFederateMgr* myFederateMgr;
209 
211  bool myIsJoined;
212 
213 protected:
214 
216  static DtDataDistMgrCreator theCreator;
217 
219  static DtDataDistMgrCreator theInternalCreator;
220 };
221 
222 #endif
223 #endif
224 
225 
226 

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)