MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedGridObjDdmMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fixedGridObjDdmMgr.h,v $ $Revision: 1.5 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef fixedGridObjectDataDistMgr_H_
10 #define fixedGridObjectDataDistMgr_H_
11 #ifdef DDM
12 
15 
16 #include "rtiMsConfig.h"
17 #include "objMgr.h"
18 
19 class DtFixedGridRegion;
20 class DtFixedGridDataDistMgr;
21 
24 
25 class DT_DLL_LRC DtFixedGridObjectDataDistMgr : public DtObjectMgr
26 {
27 protected:
28 
30  DtFixedGridObjectDataDistMgr(DtFederateMgr* fedMgrPtr);
31 
32 public:
33 
35  virtual ~DtFixedGridObjectDataDistMgr();
36 
37 private:
38 
40  DtFixedGridObjectDataDistMgr(DtFixedGridObjectDataDistMgr const& );
41 
43  DtFixedGridObjectDataDistMgr& operator= (DtFixedGridObjectDataDistMgr const& );
44 
45 public:
46 
48  virtual DtFixedGridDataDistMgr* ddmMgr();
49  virtual DtFixedGridDataDistMgr* ddmMgr() const;
50 
52  virtual void subscribe(
53  DtObjectClassHandle theClass,
54  const DtAttributeHandleSet& attributeList,
55  bool active);
56 
59  virtual void registerAssociateRegionForUpdates(DtRtiObject& object,
60  DtAttributeHandleSet const& attributes, DtRegion& region);
61 
62 #ifdef DtIFSPEC1516
63  virtual void sendRequestMsg(
66  DtRequestType type, unsigned long idOrClass,
67  const DtAttributeHandleSet& theSet,
68  rti1516::VariableLengthData const & tag,
69  bool anonymous,
70  DtHandle regionHandle = 0);
71 #elif defined(DtIFSPEC1516E)
72  virtual void sendRequestMsg(
75  DtRequestType type, unsigned long idOrClass,
76  const DtAttributeHandleSet& theSet,
77  rti1516e::VariableLengthData const & tag,
78  bool anonymous,
79  DtHandle regionHandle = 0);
80 #endif
81 
83  virtual void deleteRegion(DtRegion& region);
84 
85 protected:
86 
88  virtual void associateRegionWithObject(DtObjectInstanceHandle handle,
89  DtFixedGridRegion* region);
90 
93  virtual void unassociateRegionFromObject(DtObjectInstanceHandle handle,
94  DtFixedGridRegion* region=0);
95 
97  virtual DtFixedGridRegion* regionAssociatedWithObject(DtObjectInstanceHandle handle);
98 
104  virtual void checkForRegionalSubscribe(DtObjectClassInfo& info);
105 
110  virtual void acquireAssociateRegionForUpdates(
111  DtObjectInstanceHandle theObject,
112  const DtAttributeHandleSet& theAttributes);
113 
116  virtual void unassociateRegionForDivested(
117  DtRtiObject& obj, const DtAttributeHandleSet& set, bool atomic);
118 
122  virtual bool acceptObjectChannel(unsigned long channel);
123 
126  virtual bool acceptRequestChannel(unsigned long channel);
127 
129  virtual void deleteObj(DtRtiObject* obj, bool isLocalDelete);
130 
132  virtual void sendRegisterMsg(DtRtiObject* object);
133 
135  virtual void sendUpdateMessage( DtUpdateMsg* update,
136  DtObjectClassInfo* classDesc, DtUpdateType updateType,
137  MAKRti::DtTransportType trans, unsigned int numberAttrs,
138  MAKRti::DtInetAddr destAddr = MAKRti::DtInetAddr::inaddrAny(),
139  unsigned int offset = 0);
140 
141 
142 #ifdef DtIFSPEC13
143  virtual void sendRequestMsg(
145  DtRequestType type, unsigned long idOrClass,
146  const DtAttributeHandleSet& theSet,
147  char const * tag,
148  bool anonymous,
149  DtHandle regionHandle = 0);
150 #endif
151 
153  virtual void sendPublishMsg(DtObjectClassHandle handle,
154  const DtAttributeHandleSet& theSet);
155 
157  virtual void sendUnpublishMsg(DtObjectInstanceHandle handle,
158  const DtAttributeHandleSet& theSet);
159 
161  virtual void sendSubscribeMsg(DtObjectClassHandle theObj,
162  bool isPassive, bool replacement,
163  const DtAttributeHandleSet& theSet);
164 
166  virtual void sendUnsubscribeMsg(DtObjectClassHandle handle,
167  const DtAttributeHandleSet& theSet);
168 
169 #if 0
170  virtual unsigned long sendDeleteMsg(DtObjectInstanceHandle handle,
171  DtOrderHandle orderType,
172  RTI::FedTime const * theTime,
173  char const * tag);
174 
176  virtual void sendDiscoverMsg(DtObjectInstanceHandle objHandle,
177  DtObjectClassHandle classHandle);
178  virtual void sendRequestDiscoverMsg(DtObjectInstanceHandle objHandle);
179  virtual void sendRemoveDiscoverMsg(DtObjectInstanceHandle objHandle);
180 #endif
181 
182 protected:
183 
185  typedef std::set<DtFixedGridRegion*> DtFixedGridRegionSet;
186 
188  typedef std::map<DtObjectClassHandle, DtFixedGridRegionSet> DtFixedGridObjectClassRegionMap;
189 
191  typedef std::map<DtObjectInstanceHandle, DtFixedGridRegion*> DtFixedGridObjectRegionMap;
192 
193 protected:
194 
196  DtFixedGridObjectRegionMap myObjectRegionMap;
197 
199  DtFixedGridObjectClassRegionMap myObjectClassRegionMap;
200 
202  DtFixedGridRegion* myRegisterRegion;
203 };
204 
205 #endif
206 #endif
207 
208 
virtual void sendSubscribeMsg(DtObjectClassHandle theObj, bool isPassive, bool replacement, const DtAttributeHandleSet &theSet, DtFederateHandle fedHandle)
Send various types of RTI messages.
virtual void deleteRegion(Region *theRegion)
DtObjectMgr & operator=(DtObjectMgr const &)
Assignment not implemented – Assignment Not Allowed!
The declaration of the object manager class.
virtual void sendRemoveDiscoverMsg(DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle fedHandle)
Send various types of RTI messages.
virtual void sendDiscoverMsg(DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle, DtFederateHandle owner)
Send various types of RTI messages.
virtual void sendUnpublishMsg(DtObjectInstanceHandle handle, const DtAttributeHandleSet &theSet)
Send various types of RTI messages.
DtRequestType
Definition: reqObjMsg.h:24
virtual void sendPublishMsg(DtObjectClassHandle handle, const DtAttributeHandleSet &theSet)
Send various types of RTI messages.
virtual void sendUnsubscribeMsg(DtObjectClassHandle handle, const DtAttributeHandleSet &theSet)
Send various types of RTI messages.
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
virtual bool acceptRequestChannel(unsigned long channel)
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when...
DtUpdateType
Update type for object.
Definition: rtiObject.h:87
virtual void sendUpdateMessage(DtUpdateMsg *update, DtObjectClassInfo *classDesc, DtUpdateType updateType, MAKRti::DtTransportType trans, unsigned int numberAttrs, MAKRti::DtInetAddr destAddr=DtInetAddr::inaddrAny(), unsigned int offset=0)
Send update message.
virtual void sendRequestDiscoverMsg(DtObjectInstanceHandle objHandle, DtObjectClassHandle classHandle)
Send various types of RTI messages.
virtual bool acceptObjectChannel(unsigned long channel)
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when...
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
Definition: attrHandSet.h:37
virtual void sendRegisterMsg(DtRtiObject *object, DtBitMask *sendMask=0)
Send various types of RTI messages.
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:33
The RTI object maintains the internal RTI object state.
Definition: rtiObject.h:116
The object manager class processes the object management services.
Definition: objMgr.h:90
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:25
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: updateMsg.h:28
Definition: objClassInfo.h:37
virtual unsigned long deleteObj(DtObjectInstanceHandle objectID, RTI::FedTime const *theTime, char const *theTag)
Delete a locally simulated object Return retraction handle serial number.
virtual void subscribe(DtObjectClassHandle theClass, const DtAttributeHandleSet &attributeList, bool active)
Subscribe specified class attributes.
DtHandle DtOrderHandle
Definition: internalTypes.h:39

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)