MAK RTIspy API Documentation for HLA 1.3
 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(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  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  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 
virtual void deleteRegion(Region *theRegion)
virtual SpaceHandle getInteractionRoutingSpaceHandle(InteractionClassHandle theHandle)
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
virtual void notifyAboutRegionModification(Region &theRegion)
virtual Region * createRegion(SpaceHandle theSpace, ULong numberOfExtents)
This file contains the declaration of the Connection Manager.
std::set< DtDimensionHandle > DtDimensionHandleSet
Definition: internalTypes.h:42
Definition: resignMsg.h:36
DtHandle DtRegionHandle
Definition: internalTypes.h:44
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
DtHandle DtDimensionHandle
Definition: internalTypes.h:41
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:35
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:88
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:45
virtual SpaceHandle getAttributeRoutingSpaceHandle(AttributeHandle theHandle, ObjectClassHandle whichClass)
Definition: fomMgr.h:53
long DtSpaceHandle
Definition: internalTypes.h:26
The object manager class processes the object management services.
Definition: objMgr.h:90
DtHandle DtAttributeHandle
Definition: internalTypes.h:37
DtHandle DtExtentIndex
Definition: internalTypes.h:46
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: saveFile.h:21

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)