![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: objDdmMgr13.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef objDdmMgr13_H_ 00010 #define objDdmMgr13_H_ 00011 #ifdef DDM 00012 #ifdef DtIFSPEC13 00013 00016 00017 #include "objDdmMgr.h" 00018 00024 class DT_DLL_LRC DtObjectDataDistMgr13 : public DtObjectDataDistMgr 00025 { 00026 protected: 00027 00029 DtObjectDataDistMgr13(DtFederateMgr* fedMgr); 00030 00031 public: 00032 00034 virtual ~DtObjectDataDistMgr13(); 00035 00036 private: 00037 00039 DtObjectDataDistMgr13(DtObjectDataDistMgr13 const& ); 00040 00042 DtObjectDataDistMgr13& operator= (DtObjectDataDistMgr13 const& ); 00043 00044 public: 00045 00047 virtual DtObjectInstanceHandle registerObjectInstanceWithRegion( 00048 DtObjectClassHandle theClass, 00049 DtAttributeHandle theAttributes[], 00050 DtRegion13 *theRegions[], 00051 unsigned long theNumberOfHandles, 00052 const char *theObject); 00053 00055 virtual void associateRegionForUpdates( 00056 DtRegion& theRegion, 00057 DtObjectInstanceHandle theObject, 00058 const DtAttributeHandleSet& theAttributes); 00059 00061 virtual void unassociateRegionForUpdates( 00062 DtRegion& theRegion, DtObjectInstanceHandle theObject); 00063 00065 virtual void subscribe( 00066 DtObjectClassHandle theClass, 00067 const DtAttributeHandleSet& attributeList, 00068 bool active); 00069 00071 virtual void subscribeObjectClassAttributesWithRegion ( 00072 DtObjectClassHandle theClass, 00073 DtRegion &theRegion, 00074 const DtAttributeHandleSet &attributeList, 00075 bool active); 00076 00078 virtual void unsubscribeClass( 00079 DtObjectClassHandle theClass); 00080 00082 virtual void unsubscribeObjectClassWithRegion ( 00083 DtObjectClassHandle theClass, DtRegion &theRegion); 00084 00086 virtual void requestClassAttributeValueUpdateWithRegion ( 00087 DtObjectClassHandle theClass, 00088 const DtAttributeHandleSet &theAttributes, 00089 const DtRegion &theRegion); 00090 00091 public: 00092 00094 static DtObjectMgr* create(DtFederateMgr* fedMgr); 00095 00096 protected: 00097 00099 virtual bool isValidRegionContext(DtObjectClassInfo const& classDesc, 00100 DtAttributeHandle attrHandle, DtDistributedRegion const& theRegion) const; 00101 00104 virtual DtRegionEntryListWithAttributes* getRegionList(MAKRti::DtList& masterList, 00105 DtRegionEntryListWithAttributes* seedList, DtRegionRealization* region); 00106 00109 virtual void collectRegionLists( 00110 DtRtiObject* object, 00111 DtAttributeHandle theAttributes[], 00112 DtRegion13 *theRegions[], 00113 unsigned long theNumberOfHandles, 00114 MAKRti::DtList& regionSets, 00115 DtAttributeHandleSet& defaultAttrSet); 00116 00119 virtual DtAttributeHandleSet pubAttributesToRemove( 00120 DtRegionRealization& region, DtRtiObject& object, 00121 const DtAttributeHandleSet& excludedAttrs); 00122 00125 virtual DtAttributeHandleSet subAttributesToRemove( 00126 DtRegionRealization& region, DtObjectClassInfo& classDesc, 00127 const DtAttributeHandleSet& attributes); 00128 00130 virtual void associateRegionToAttributes( 00131 DtRegionRealization& theRegion, 00132 DtRtiObject* obj, 00133 const DtAttributeHandleSet& theAttributes); 00134 00136 virtual void unassociateRegionFromAttributes(DtRegionRealization& theRegion, 00137 DtRtiObject& theObject, const DtAttributeHandleSet& theAttributes); 00138 00140 void subscribeObjectClassAttributesWithRegionActive( 00141 DtObjectClassInfo* classDesc, DtRegionRealization* region, 00142 const DtAttributeHandleSet &theAttributes); 00143 00145 void subscribeObjectClassAttributesWithRegionPassive( 00146 DtObjectClassInfo* classDesc, DtRegionRealization* region, 00147 const DtAttributeHandleSet &theAttributes); 00148 00150 virtual void unsubscribeObjectClassAttributesFromRegion ( 00151 DtObjectClassInfo& theClass, 00152 DtRegionRealization& theRegion, 00153 const DtAttributeHandleSet& theAttributes); 00154 }; 00155 00156 #endif //! !DtIFSPEC1516 00157 #endif //! DDM 00158 #endif //! objDdmMgr13_H_ 00159 00160