MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objDdmMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: objDdmMgr.h,v $ $Revision: 1.56 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef objDdmMgr_H_
10 #define objDdmMgr_H_
11 #ifdef DDM
12 
15 
16 #include "objMgr.h"
17 #include "regionSetList.h"
18 #include "regMatchList.h"
19 #include "pubRegSet.h"
20 #include "subRegSet.h"
21 #include "remRegSet.h"
22 #include "objMgr.h"
23 #include "regSetPacket.h"
24 #include "objRegSetMsg.h"
25 
26 class DtRtiSaveFile;
27 class DtObjectClassInfo;
28 class DtSpaceInfo;
29 class DtPendingAssocRegion;
30 class DtRtiObject;
31 class DtDistributedDataDistMgr;
32 
33 class DtObjRegSetMsg;
34 class DtAssocPubRegMsg;
35 class DtAssocSubRegMsg;
36 class DtPubRegSetObjectAssociation;
37 
38 typedef std::map<DtRegionHandle, DtPubRegSetObjectAssociation*> DtPubRegSetObjAssocByRegionHandleMap;
39 typedef std::map<DtObjectInstanceHandle, DtPubRegSetObjAssocByRegionHandleMap> DtPendingPubRegAssocsMap;
40 
48 class DT_DLL_LRC DtObjectDataDistMgr : public DtObjectMgr
49 {
50 protected:
51 
53  DtObjectDataDistMgr(DtFederateMgr* fedMgr);
54 
55 public:
56 
58  virtual ~DtObjectDataDistMgr();
59 
60 private:
61 
63  DtObjectDataDistMgr(DtObjectDataDistMgr const& );
64 
66  DtObjectDataDistMgr& operator= (DtObjectDataDistMgr const& );
67 
68 public:
69 
71  virtual DtDistributedDataDistMgr* ddmMgr();
72  virtual DtDistributedDataDistMgr* ddmMgr() const;
73 
75  virtual void postJoinInit();
76 
78  virtual void resetDdm();
79 
81  virtual bool acceptObjectChannel(DtHandle channel);
82 
84  virtual bool acceptRequestChannel(DtHandle channel);
85 
87  virtual DtPubRegionSet* createPubRegionSet(DtRegionEntryList& regionList,
89 
96  virtual DtPubRegionSet* createPubRegionSet(
97  DtRegionRealization& region,
98  DtPubRegionSet* regionSet, bool regionIsAdded);
99 
105  virtual DtPubRegionSet* createPubRegionSet(
106  DtRegionEntryList const& regionList, DtPubRegionSet* regionSet,
107  bool regionAreAdded);
108 
110  virtual DtPubRegionSet* addPubRegion(DtRegionRealization& region,
113  DtPubRegionSet* regionSet);
114  virtual DtPubRegionSet* addPubRegionList(DtRegionEntryList const& regionList,
115  DtPubRegionSet* regionSet);
117 
121  virtual DtPubRegionSet* removePubRegion(DtRegionRealization& region,
122  DtPubRegionSet* regionSet);
123 
127  virtual DtPubRegionSet* removePubRegionList(
128  DtRegionEntryList const& regionList, DtPubRegionSet* regionSet);
129 
132  virtual DtPubRegionSet* getPubRegionSet(DtHandle regionSetHandle);
133 
136  virtual DtRemoteRegionSet* getRemotePubRegionSet(
137  DtHandle regionSetHandle);
138 
145  virtual DtSubRegionSet* createSubRegionSet(
146  DtRegionEntryList const& regionList, DtSubRegionSet* regionSet,
147  bool regionIsAdded);
148 
155  virtual DtSubRegionSet* createSubRegionSet(
156  DtRegionRealization& region, DtSubRegionSet* regionSet,
157  bool regionIsAdded);
158 
161  virtual DtSubRegionSet* addSubRegion(DtRegionRealization& region,
162  DtSubRegionSet* regionSet);
163 
166  virtual DtSubRegionSet* addSubRegionList(DtRegionEntryList const& regionList,
167  DtSubRegionSet* regionSet);
168 
172  virtual DtSubRegionSet* removeSubRegion(DtRegionRealization& region,
173  DtSubRegionSet* regionSet);
174 
178  virtual DtSubRegionSet* removeSubRegion(DtRegionEntryList const& regionList,
179  DtSubRegionSet* regionSet);
180 
183  virtual DtSubRegionSet* getSubRegionSet(DtHandle regionSetHandle);
184 
187  virtual DtRemoteRegionSet* getRemoteSubRegionSet(
188  DtHandle regionSetHandle);
189 
196  virtual DtSubRegionSet* createPasRegionSet(
197  DtRegionRealization& region, DtSubRegionSet* regionSet,
198  bool regionIsAdded);
199 
206  virtual DtSubRegionSet* createPasRegionSet(
207  DtRegionEntryList const& regionList, DtSubRegionSet* regionSet,
208  bool regionIsAdded);
209 
212  virtual DtSubRegionSet* addPasRegion(DtRegionRealization& region,
213  DtSubRegionSet* regionSet);
214 
217  virtual DtSubRegionSet* addPasRegion(
218  DtRegionEntryList const& regionList, DtSubRegionSet* regionSet);
219 
223  virtual DtSubRegionSet* removePasRegion(DtRegionRealization& region,
224  DtSubRegionSet* regionSet);
225 
229  virtual DtSubRegionSet* removePasRegion(DtRegionEntryList const& regionList,
230  DtSubRegionSet* regionSet);
231 
234  virtual DtSubRegionSet* getPasRegionSet(DtHandle regionSetHandle);
235 
237  virtual DtPubRegionSet* defaultPubRegionSet();
239  virtual DtSubRegionSet* defaultSubRegionSet();
240  virtual DtSubRegionSet* defaultPasRegionSet();
241  virtual DtRemoteRegionSet* defaultRemotePubRegionSet();
242  virtual DtRemoteRegionSet* defaultRemoteSubRegionSet();
244 
247  virtual void registerAssociateRegionForUpdates(
248  DtRegionEntryListWithAttributes& regionList, DtRtiObject* object);
249 
252  virtual void registerAssociateRegionForUpdates(DtRtiObject& object,
253  DtAttributeHandleSet const& attributes, DtRegion& region);
254 
256  virtual void sendRegister(DtRtiObject* obj);
257 
259  virtual void resendRegister(DtRtiObject* obj, DtBitMask* sendMask = 0);
260 
262  virtual void sendRegionSetMsg(DtObjRegSetType type,
263  const DtRegionSet &regionSet, DtUpdateType updateType=DtUpdateFederateObject,
264  DtBitMask* bitMask = 0);
265 
267  virtual void sendPendingRegister();
268 
270  virtual void sendAssocPublishRegionMsg(
271  DtHandle regSetHandleValue, DtObjectInstanceHandle objectHandleValue,
272  const char* objName, DtObjectClassHandle classHandleValue,
273  bool isRemovingAssoc, const DtAttributeHandleSet& attrSet,
275  DtBitMask* bitMask = 0);
276 
278  virtual void sendAssocSubscribeRegionMsg(
279  DtHandle regSetHandleValue, DtObjectClassHandle classHandleValue,
280  const DtAttributeHandleSet& attrSet, DtBitMask* mask = 0);
281 
284  void collectPendingRegisterWithRegion(DtRtiObject& object, DtBitMask* sendMask = 0);
285 
288  void collectPendingSubscribeWithRegion(DtObjectClassInfo& classDesc, DtFederateHandle fedHandle = 0);
289 
291  virtual void deleteSubRegionSet(DtSubRegionSet* regionSet);
292 
294  virtual void deleteRegion(DtRegionRealization& region);
295 
297  virtual void processResign(const DtResignMsg& msg);
298  virtual void processDeleteRegion(DtRegionRealization& region);
299 
301  virtual void notifyAboutRegionModification(DtRegionRealization &region);
302 
304  virtual void processNotifyRegion(DtRegionRealization &region, bool newRegion);
305 
307  virtual void processRequest(const DtRequestMsg& update);
308 
311  const DtAttributeHandleSet& attrHandles,
313  DtRemoteRegionSet* remoteRegSet);
314 
317  DtObjectClassInfo* classDesc, DtHandle regSetHandle);
318 
320  virtual void postTick();
321 
324  virtual void remoteSubscribeRegion(
325  DtObjectClassHandle classHandle,
326  const DtAttributeHandleSet& attrs,
327  DtFederateHandle fedHandle,
328  DtHandle regionSetHandle);
329 
331  virtual void removeRemoteSubscribeRegion(
332  DtObjectClassHandle classHandle,
333  DtFederateHandle fedHandle,
334  DtHandle regionSetHandle,
335  const DtAttributeHandleSet& attrSet);
336 
339  virtual void processRemoteUnsubscribeRegion();
340 
343  virtual void processRemoteScopeChanges(DtRemoteRegionSet* regionSet);
344 
346  virtual void processPubRegionSet(const DtObjRegSetMsg& msg);
348  virtual void processSubRegionSet(const DtObjRegSetMsg& msg);
349  virtual void processAssocPubReg(const DtAssocPubRegMsg& msg);
350  virtual void processAssocSubReg(const DtAssocSubRegMsg& msg);
352 
354  virtual bool save(DtRtiSaveFile& file);
355 
357  virtual void prepareToRestore();
358 
360  virtual bool restore( DtRtiSaveFile& file );
361 
362 public:
363 
365  static void processAssocPubReg(const DtAssocPubRegMsg& msg, void* usr);
367  static void processAssocSubReg(const DtAssocSubRegMsg& msg, void* usr);
368  static void processRegionSet(const DtObjRegSetMsg& msg, void* usr);
370 
371 protected:
373  void insertSubRegMask( DtObjectClassHandle classHandle, DtFederateHandle fedHandle );
376 
378  virtual DtHandle uniqueRegionSetHandle();
379 
382  virtual void registerAssociateDistributedRegionForUpdates(DtRtiObject& object,
383  DtAttributeHandleSet const& attributes, DtDistributedRegion& region);
384 
385 #if defined(DtIFSPEC13)
386  virtual void calculateRegionSet(unsigned long channel, const DtAhvps& reflectSet);
387 #else
388  virtual void calculateRegionSet(unsigned long channel, RTI_API::RegionHandleSet & regionHandles);
390 #endif
391 
394  virtual void setDiscoveredClass(DtRtiObject& object,
395  DtFederateHandle federateHandle, DtObjectClassHandle classHandle);
396 
401  virtual void checkForRegionalSubscribe(DtObjectClassInfo& info, DtFederateHandle fedHandle = 0);
402 
404  virtual void removeObjectAssociations(DtRtiObject& object);
405 
407  virtual void removeLocalObjectAssociations(DtRtiObject& object);
408 
410  virtual void removeRemoteObjectAssociations(DtRtiObject& object);
411 
413  virtual void addPendingAssocPubRegAdd(DtPubRegionSet& regionSet,
415  DtRtiObject& object, DtAttributeHandle attrHandle);
416  virtual void addPendingAssocPubRegRemove(DtPubRegionSet& regionSet,
417  DtRtiObject& object, DtAttributeHandle attrHandle);
418  virtual void addPendingUnassocPubReg(DtPubRegionSet& regionSet,
419  DtRtiObject& object, DtAttributeHandle attrHandle);
420  virtual void processPendingAssocPubReg();
422 
424  virtual void addPendingAssocSubRegAdd(DtSubRegionSet& regionSet,
426  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle);
427  virtual void addPendingAssocSubRegRemove(DtSubRegionSet& regionSet,
428  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle);
429  virtual void addPendingUnassocSubReg(DtSubRegionSet& regionSet,
430  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle,
431  DtSubRegionSet* pasRegionSet=0);
432  virtual void processPendingSubRegAssoc();
434 
436  virtual void addPendingAssocPasRegAdd(DtSubRegionSet& regionSet,
438  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle);
439  virtual void addPendingAssocPasRegRemove(DtSubRegionSet& regionSet,
440  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle);
441  virtual void addPendingUnassocPasReg(DtSubRegionSet& regionSet,
442  DtObjectClassInfo& classDesc, DtAttributeHandle attrHandle,
443  DtSubRegionSet* subRegionSet=0);
444  virtual void processPendingPasRegAssoc();
446 
448  virtual void collectPendingPubRegSet(DtObjectRegionSet* regionSet);
452  virtual void collectPendingSubRegSet(DtObjectRegionSet* regionSet);
453  virtual void collectPendingAssocPubReg(DtPubRegionSet& regionSet,
454  DtRtiObject& object, const DtAttributeHandleSet& attributes);
455  virtual void collectPendingAssocSubReg(DtSubRegionSet& regionSet,
456  DtObjectClassInfo& classDesc, const DtAttributeHandleSet& attributes,
457  DtFederateHandle fedHandle = 0);
458  virtual void processCollectedPubRegSet(
460  virtual void processCollectedAssocPubReg(
462  virtual void processCollectedSubRegSet();
463  virtual void processCollectedAssocSubReg();
465 
467  virtual void processAssocSubReg(DtRemoteRegionSet* regionSet,
468  DtObjectClassInfo* classDesc,
469  const DtAttributeHandleSet& attributes,
470  DtFederateHandle federateHandle);
471 
473  virtual void processAssocPubReg(
474  DtFederateHandle fedHandle,
475  DtRemoteRegionSet* regionSet,
476  DtObjectInstanceHandle objectHandle,
477  const char* objName,
478  DtObjectClassHandle classHandle,
479  const DtAttributeHandleSet& attributes,
480  bool isRemoveAssociation);
481 
485  virtual void evaluateScopeUpdates(DtRtiObject* object,
486  const DtAttributeHandleSet& removeAttrSet, bool invokeAdvisory);
487  virtual void evaluateScopeUpdates(DtRtiObject* object,
488  const DtAttributeHandleSet& removeAttrSet, bool invokeInScope, bool invokeOutOfScope);
489 
492  virtual void evaluateOutOfScopeUpdates(DtRtiObject* object,
493  const DtAttributeHandleSet& unSubAttrs, bool invokeAdvisory);
494 
501  virtual unsigned int evaluateMatchingAfterAdd(
502  DtRegionMatchList& matchList,
503  DtRegionMatchList& matchOverlapList,
504  DtLocalRegionSet& localRegionSet,
505  DtRemoteRegionSet& remoteRegionSet,
506  DtObjectClassInfo* classDesc,
507  const DtAttributeHandleSet& attributes,
508  bool localAdd);
509 
510 
514  virtual void evaluateMatchingLocalPubAfterAdd(
515  DtPubRegionSet& pubRegionSet,
516  DtObjectClassInfo* classDesc,
517  const DtAttributeHandleSet& attributes);
518 
522  virtual void evaluateMatchingRemotePubAfterAdd(DtRegionSetList& regSetList,
523  DtRemoteRegionSet& remotePubRegionSet,
524  DtObjectClassInfo* classDesc,
525  const DtAttributeHandleSet& attributes);
526 
530  virtual void evaluateMatchingLocalSubAfterAdd(
531  DtSubRegionSet& subRegionSet,
532  DtObjectClassInfo* classDesc,
533  const DtAttributeHandleSet& attributes,
534  std::set<DtObjectRegionSet*>& collectedJoins);
535 
539  virtual void evaluateMatchingRemoteSubAfterAdd(
540  DtRemoteRegionSet& remoteSubRegionSet,
541  DtObjectClassInfo* classDesc,
542  const DtAttributeHandleSet& attributes);
543 
548  virtual void evaluateMatchingAfterLocalRemove(DtRegionMatchList& matchList,
549  DtRegionMatchList& matchOverlapList, DtLocalRegionSet& regionSet,
550  DtObjectClassInfo& classDesc, const DtAttributeHandleSet& attributes,
551  std::set<DtObjectRegionSet*>* collectedDrops = 0);
552 
557  virtual void evaluateMatchingLocalPubAfterRemove(DtLocalRegionSet& regionSet,
558  DtObjectClassInfo& classDesc, const DtAttributeHandleSet& attributes);
559 
564  virtual void evaluateMatchingLocalSubAfterRemove(DtLocalRegionSet& regionSet,
565  DtObjectClassInfo& classDesc, const DtAttributeHandleSet& attributes,
566  std::set<DtObjectRegionSet*>& collectedDrops);
567 
570  virtual void evaluateMatchingAfterRemoteRemove(
571  DtRegionMatchList& matchList, DtRegionMatchList& matchOverlapList,
572  DtRemoteRegionSet& regionSet, DtObjectClassInfo& classDesc,
573  const DtAttributeHandleSet& attributes);
574 
577  virtual void evaluateMatchingRemotePubAfterRemove(
578  DtRemoteRegionSet& regionSet, DtObjectClassInfo& classDesc,
579  const DtAttributeHandleSet& attributes);
580 
583  virtual void evaluateMatchingRemoteSubAfterRemove(
584  DtRemoteRegionSet& regionSet, DtObjectClassInfo& classDesc,
585  const DtAttributeHandleSet& attributes);
586 
590  virtual void evaluateMatchingRemotePubForRemove(
591  DtRemoteRegionSet* regionSet, DtObjectInstanceHandle objectHandle,
592  DtObjectClassInfo* classDesc, bool isRemoveAssoc,
593  const DtAttributeHandleSet& attributes);
594 
598  virtual void evaluateMatchingRemoteSubForRemove(
599  DtFederateHandle federateHandle, DtRemoteRegionSet* regionSet,
600  DtObjectClassInfo* classDesc, const DtAttributeHandleSet& attributes);
601 
608  virtual void evaluateRegionSetOverlap(DtRegionSetList& evalList,
609  DtRegionMatchList& overlapList,
610  DtRegionMatchList& matchOverlapList,
611  DtObjectRegionSet& regionSet,
612  bool localEval,
613  std::set<DtRemoteRegionSet*>* overlapsAdded=0,
614  std::set<DtRemoteRegionSet*>* overlapsRemoved=0);
615 
623  virtual void evaluateRegionOverlap(DtRegionSetList& evalList,
624  DtRegionMatchList& overlapList,
625  DtRegionMatchList& matchOverlapList,
626  DtObjectRegionSet& regionSet, DtRegionRealization& region,
627  bool islocalEval,
628  std::set<DtRemoteRegionSet*>* overlapsAdded=0,
629  std::set<DtRemoteRegionSet*>* overlapsRemoved=0);
630 
633  virtual void discoverAssociatedObjects(std::set<DtRemoteRegionSet*> overlapsAdded);
634 
637  virtual void joinRegionSetGroups(std::set<DtRemoteRegionSet*> overlapsAdded);
638 
641  virtual void dropRegionSetGroups(std::set<DtRemoteRegionSet*> overlapsRemoved);
642 
644  virtual void addRemoteSubscribeRegion(DtRtiObject& object, DtRemoteRegionSet const& subRegSet);
645 
647  virtual void addRemoteSubscribeRegion(DtRtiObject& object, DtRemoteRegionSet const& subRegSet,
648  const DtAttributeHandleSet& attrs);
649 
651  virtual void removeRemoteSubscribeRegion(DtRtiObject& object, DtRemoteRegionSet const& subRegSet);
652 
654  virtual void removeRemoteSubscribeRegion(DtRtiObject& object, DtRemoteRegionSet const& subRegSet,
655  const DtAttributeHandleSet& attrs);
656 
657  // Walk through the object associations to the given region set and update
658  // the region subscriptions that have added and removed.
659  // Invoke advisories if applicable.
660  virtual void updateRemoteSubscribeRegion(DtPubRegionSet& regionSet,
661  std::set<DtRemoteRegionSet*> added, std::set<DtRemoteRegionSet*> removed);
662 
664  virtual void setAttrPubRegionSet(DtObjectInstanceHandle objectHandle,
667  DtAttributeHandle attrHandle, DtRemoteRegionSet* regSet);
668  virtual DtRemoteRegionSet* attrPubRegionSet(DtObjectInstanceHandle objectHandle,
669  DtAttributeHandle attrHandle);
671 
673  virtual void removeAttrPubRegionSet(DtObjectInstanceHandle objectHandle,
674  DtAttributeHandle attrHandle);
675 
677  virtual void removeAttrPubDefaultRegionSet(DtObjectInstanceHandle objectHandle,
678  DtAttributeHandle attrHandle);
679 
681  virtual void removeAttrPubDefaultRegionSet(DtObjectInstanceHandle objectHandle);
682 
684  virtual void removeAttrPubAllRegionSet(DtObjectInstanceHandle objectHandle,
685  DtAttributeHandle attrHandle);
686 
688  virtual void addObjectDefaultByClass(DtRtiObject* object);
690  virtual void removeObjectDefaultByClass(DtRtiObject* object);
691  virtual MAKRti::DtHashList* objectDefaultByClass(DtObjectClassHandle classHandle);
693 
695  virtual void getDefaultPubRegionSetAttrList(
696  DtObjectInstanceHandle objectHandle, DtAttributeHandleSet& attrList);
697 
699  virtual void setAttrSubRegionSet(DtFederateHandle fedHandle,
702  DtObjectClassHandle classHandle, DtAttributeHandle attrHandle,
703  DtRemoteRegionSet* regSet);
704  virtual void removeAttrSubRegionSet(DtFederateHandle fedHandle,
705  DtObjectClassHandle classHandle, DtAttributeHandle attrHandle);
706  virtual DtRemoteRegionSet* attrSubRegionSet(DtFederateHandle fedHandle,
707  DtObjectClassHandle classHandle, DtAttributeHandle attrHandle);
709 
713  virtual void acquireAssociateRegionForUpdates(
714  DtObjectInstanceHandle theObject,
715  const DtAttributeHandleSet& theAttributes);
716 
721  virtual void unassociateRegionForDivested(DtRtiObject& object,
722  const DtAttributeHandleSet& divestedAttrs, bool atomic);
723 
725  virtual void destroyRegionLists();
726 
728  virtual void writeRegionSet( DtRtiSaveRegionSetTypes type,
729  DtRtiSaveFile& saveFile,
730  DtObjectRegionSet* regSet );
731 
734  virtual void restoreLocalRegSet(DtObjRegionSetPacket* packet,
735  DtObjectRegionSet* regSet, bool isDefaultRegionSet=false);
736 
739  virtual void restoreRemoteRegSet(DtObjRegionSetPacket* packet,
740  DtRemoteRegionSet* regSet, bool isDefaultRegionSet=false);
741 
742 protected:
743 
745  DtPubRegionSet* myDefaultPubRegionSet;
747  DtSubRegionSet* myDefaultSubRegionSet;
748  DtSubRegionSet* myDefaultPasRegionSet;
749  DtRemoteRegionSet* myDefaultRemotePubRegionSet;
750  DtRemoteRegionSet* myDefaultRemoteSubRegionSet;
752 
754  DtRegionSetList myLocalPublish;
756  DtRegionSetList myRemotePublish;
758 
760  DtRegionMatchList myMatchPublish;
762  DtRegionMatchList myOverlapPublish;
763  DtRegionMatchList myMatchOverlapPub;
764  DtRegionSetList myLocalSubscribe;
765  DtRegionSetList myPassiveSubscribe;
766  DtRegionSetList myRemoteSubscribe;
767  DtRegionMatchList myMatchSubscribe;
768  DtRegionMatchList myOverlapSubscribe;
769  DtRegionMatchList myMatchOverlapSub;
771 
773  DtHandle myNextRegionSetHandle;
774 
776  MAKRti::DtHashList myPendingPubRegAdd;
778  MAKRti::DtHashList myPendingPubRegRemove;
779  MAKRti::DtHashList myPendingPubRegUnassoc;
780  MAKRti::DtHashList myPendingSubRegAdd;
781  MAKRti::DtHashList myPendingSubRegRemove;
782  MAKRti::DtHashList myPendingSubRegUnassoc;
783  MAKRti::DtHashList myPendingPasRegAdd;
784  MAKRti::DtHashList myPendingPasRegRemove;
785  MAKRti::DtHashList myPendingPasRegUnassoc;
786  MAKRti::DtList myPendingPubRegSets;
787  MAKRti::DtList myPendingSubRegSets;
788  DtPendingPubRegAssocsMap myPendingPubRegAssocs;
789  MAKRti::DtHashList myPendingSubRegAssocs;
790  DtObjectClassMaskMap myPendingSubRegAssocsMask;
792 
794  std::map<DtHandle,DtAttributeHandleSet*> myOldOnSet;
795 
797  MAKRti::DtHashList myRemoteObjectRegionSets;
798 
800  MAKRti::DtHashList myRemoteObjectDefaultAttrs;
801 
803  MAKRti::DtHashList myRemoteObjectDefaultByClass;
804 
806  MAKRti::DtHashList myRemoteClassRegionSets;
807 };
808 
809 #endif
810 #endif
811 
812 
virtual void prepareToRestore()
Prepare the state information to be restored (i.e., clear out existing data).
DtObjectMgr & operator=(DtObjectMgr const &)
Assignment not implemented – Assignment Not Allowed!
virtual bool save(DtRtiSaveFile &file)
DDM.
The declaration of the object manager class.
virtual void processResign(const DtResignMsg &msg)
Process the resign message.
virtual void removeObjectAssociations(DtRtiObject &object)
Remove associations to this object (e.g., regions)
virtual void sendRegister(DtRtiObject *obj)
Sends register information, if DDM is active then this information could include region and region as...
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:31
Definition: regSetPacket.h:37
virtual void provideAttrValueUpdate(const DtRtiObject *obj, const DtAttributeHandleSet &attrHandles, DtRtiApiTagConstRef tag)
Make the fedAmb call to provide attrValUpdate for this object.
virtual void setDiscoveredClass(DtRtiObject &object, DtFederateHandle federateHandle, DtObjectClassHandle classHandle)
Set the remote federate&#39;s discovered class and update the object&#39;s remote subscription information...
Definition: resignMsg.h:36
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
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:94
DtRtiApiVariableLengthData const & DtRtiApiTagConstRef
Definition: rtiApiTypes.h:98
virtual bool acceptObjectChannel(unsigned long channel)
Return true if the channel (region set handle) should be accepted NOTE: This always returns true when...
virtual void postJoinInit()
Post join processing. All managers shall have been created and initialized.
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
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
The RTI object maintains the internal RTI object state.
Definition: rtiObject.h:123
virtual void processRequest(const DtRequestMsg &msg)
Process messages.
DtRtiSaveRegionSetTypes
Definition: regSetPacket.h:20
virtual DtObjectClassInfo * firstSubscribedClass(DtObjectClassInfo *classDesc, DtHandle regSetHandle)
Returns most specific superclass of class, to which we are subscribed.
The object manager class processes the object management services.
Definition: objMgr.h:81
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
virtual bool restore(DtRtiSaveFile &file)
Restore the state information from the given file.
Definition: aHandValSet.h:33
virtual void sendPendingRegister()
Send pending Register.
DtBitMask represents a variable length bit-field which may be used to represent an array of boolean d...
Definition: bitMask.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveFile.h:21
Definition: objClassInfo.h:36
virtual void resendRegister(DtRtiObject *obj, DtBitMask *sendMask=0)
Re-sends register information, if DDM is active then this information could include region and region...
Definition: reqObjMsg.h:31
Definition: rtiObject.h:98
virtual void postTick()
Called after processing messages in RTI ambassador tick / evoke callbacks.

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)