MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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(DtIFSPEC13)
83  virtual DtRegion* createRegion(DtSpaceHandle spaceHandleValue, unsigned long numberOfExtents) = 0;
84 #else
85  virtual DtRegionHandle createRegion(DtDimensionHandleStdSet const & dimHandles) = 0;
86 #endif
87 
89  virtual void deleteRegion(DtRegion *regionPtr) = 0;
90 
92  virtual void deleteRegion(DtRegionHandle regionHandle) = 0;
93 
95  virtual void notifyAboutRegionModification(DtRegion* theRegion) = 0;
96 
98  virtual void notifyAboutRegionModification(DtRegionHandle regionHandle) = 0;
99 
101  virtual DtSpaceHandle getAttributeRoutingSpaceHandle(
102  DtAttributeHandle theHandle,
103  DtObjectClassHandle whichClass);
104 
106  virtual DtSpaceHandle getInteractionRoutingSpaceHandle(
107  DtInteractionClassHandle theHandle);
108 
109 #if !defined(DtIFSPEC13)
110 
112  virtual void setRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimensionHandle dimHandle,
113  unsigned long lower, unsigned long upper) = 0;
114  virtual void setRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimBounds const & dimBounds) = 0;
115  virtual DtDimBounds getRangeBounds(DtRegionHandle regionHandle, DtExtentIndex extentIndex, DtDimensionHandle dimHandle) = 0;
117 
120  virtual bool getDimensionHandleSet(DtRegionHandle theRegionHandle, RTI_API::DimensionHandleSet& dimSet) const = 0;
121 #endif
122 
124  virtual void preTick();
125 
127  virtual void postTick();
128 
130  virtual void processResign(const DtResignMsg& msg);
131 
133  virtual bool save(DtRtiSaveFile& file);
134 
136  virtual void prepareToRestore();
137 
139  virtual bool restore( DtRtiSaveFile& file );
140 
141 public:
142 
148  static DtDataDistMgr* create(DtFederateMgr* fedMgrPtr);
149 
152  static void setCreatorFunction(DtDataDistMgrCreator fn);
153 
158  static void setInternalCreatorFunction(DtDataDistMgrCreator fn);
159 
160 protected:
161 
163  virtual DtFederateMgr* federateMgr();
164  virtual DtFederateMgr* federateMgr() const;
165 
167  virtual DtRIDParameters* params();
168  virtual DtRIDParameters* params() const;
169 
171  virtual DtFomClassMgr* fom();
172  virtual DtFomClassMgr* fom() const;
173 
175  virtual DtConnectionMgr* connectMgr();
176  virtual DtConnectionMgr* connectMgr() const;
177 
179  virtual DtObjectMgr* objMgr();
180  virtual DtObjectMgr* objMgr() const;
181 
183  virtual DtInteractionMgr* interMgr();
184  virtual DtInteractionMgr* interMgr() const;
185 
186 protected:
187 
189  DtFederateMgr* myFederateMgr;
190 
192  bool myIsJoined;
193 
194 protected:
195 
197  static DtDataDistMgrCreator theCreator;
198 
200  static DtDataDistMgrCreator theInternalCreator;
201 };
202 
203 #endif
204 #endif
205 
206 
207 
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
This file contains the declaration of the Connection Manager.
Definition: resignMsg.h:36
DtHandle DtRegionHandle
Definition: internalTypes.h:65
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:30
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:46
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
Definition: fomMgr.h:49
long DtSpaceHandle
Definition: internalTypes.h:42
The object manager class processes the object management services.
Definition: objMgr.h:81
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
DtHandle DtExtentIndex
Definition: internalTypes.h:67
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveFile.h:21

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)