MAK RTIspy API Documentation for HLA 1516
fixedGridObjDdmMgr.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2006 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: fixedGridObjDdmMgr.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef fixedGridObjectDataDistMgr_H_
00010 #define fixedGridObjectDataDistMgr_H_
00011 #ifdef DDM
00012 
00015 
00016 #include "rtiMsConfig.h"
00017 #include "objMgr.h"
00018 
00019 class DtFixedGridRegion;
00020 class DtFixedGridDataDistMgr;
00021 
00024 
00025 class DT_DLL_LRC DtFixedGridObjectDataDistMgr : public DtObjectMgr
00026 {
00027 protected:
00028 
00030    DtFixedGridObjectDataDistMgr(DtFederateMgr* fedMgrPtr);
00031 
00032 public:
00033 
00035    virtual ~DtFixedGridObjectDataDistMgr();
00036 
00037 private:
00038    
00040    DtFixedGridObjectDataDistMgr(DtFixedGridObjectDataDistMgr const& );
00041 
00043    DtFixedGridObjectDataDistMgr& operator= (DtFixedGridObjectDataDistMgr const& );
00044 
00045 public:
00046 
00048    virtual DtFixedGridDataDistMgr* ddmMgr();
00049    virtual DtFixedGridDataDistMgr* ddmMgr() const;
00050 
00052    virtual void subscribe(
00053       DtObjectClassHandle theClass,
00054       const DtAttributeHandleSet& attributeList,
00055       bool active);
00056 
00059    virtual void registerAssociateRegionForUpdates(DtRtiObject& object,
00060       DtAttributeHandleSet const& attributes, DtRegion& region);
00061 
00062 #ifdef DtIFSPEC1516
00063 
00064 
00065    virtual void sendRequestMsg(
00066       DtRequestType type, unsigned long idOrClass,
00067       const DtAttributeHandleSet& theSet,
00068       rti1516::VariableLengthData const & tag,
00069       bool anonymous,
00070       DtHandle regionHandle = 0);
00071 #elif defined(DtIFSPEC1516E)
00072 
00073 
00074    virtual void sendRequestMsg(
00075        DtRequestType type, unsigned long idOrClass,
00076        const DtAttributeHandleSet& theSet,
00077        rti1516e::VariableLengthData const & tag,
00078        bool anonymous,
00079        DtHandle regionHandle = 0);
00080 #endif
00081 
00083    virtual void deleteRegion(DtRegion& region);
00084 
00085 protected:
00086 
00088    virtual void associateRegionWithObject(DtObjectInstanceHandle handle,
00089       DtFixedGridRegion* region);
00090 
00093    virtual void unassociateRegionFromObject(DtObjectInstanceHandle handle,
00094       DtFixedGridRegion* region=0);
00095 
00097    virtual DtFixedGridRegion* regionAssociatedWithObject(DtObjectInstanceHandle handle);
00098 
00104    virtual void checkForRegionalSubscribe(DtObjectClassInfo& info);
00105 
00110    virtual void acquireAssociateRegionForUpdates(
00111       DtObjectInstanceHandle theObject, 
00112       const DtAttributeHandleSet& theAttributes);
00113 
00116    virtual void unassociateRegionForDivested(
00117       DtRtiObject& obj, const DtAttributeHandleSet& set, bool atomic);
00118 
00122    virtual bool acceptObjectChannel(unsigned long channel);
00123 
00126    virtual bool acceptRequestChannel(unsigned long channel);
00127 
00129    virtual void deleteObj(DtRtiObject* obj, bool isLocalDelete);
00130 
00132    virtual void sendRegisterMsg(DtRtiObject* object);
00133 
00135    virtual void sendUpdateMessage( DtUpdateMsg* update,
00136       DtObjectClassInfo* classDesc, DtUpdateType updateType,
00137       MAKRti::DtTransportType trans, unsigned int numberAttrs,
00138       MAKRti::DtInetAddr destAddr = MAKRti::DtInetAddr::inaddrAny(),
00139       unsigned int offset = 0);
00140 
00141 
00142 #ifdef DtIFSPEC13
00143 
00144    virtual void sendRequestMsg(
00145       DtRequestType type, unsigned long idOrClass,
00146       const DtAttributeHandleSet& theSet,
00147       char const * tag,
00148       bool anonymous,
00149       DtHandle regionHandle = 0);
00150 #endif
00151 
00153    virtual void sendPublishMsg(DtObjectClassHandle handle,
00154       const DtAttributeHandleSet& theSet);
00155 
00157    virtual void sendUnpublishMsg(DtObjectInstanceHandle handle,
00158       const DtAttributeHandleSet& theSet);
00159 
00161    virtual void sendSubscribeMsg(DtObjectClassHandle theObj,
00162       bool isPassive, bool replacement,
00163       const DtAttributeHandleSet& theSet);
00164 
00166    virtual void sendUnsubscribeMsg(DtObjectClassHandle handle,
00167       const DtAttributeHandleSet& theSet);
00168 
00169 #if 0
00170    virtual unsigned long sendDeleteMsg(DtObjectInstanceHandle handle,
00171       DtOrderHandle orderType,
00172       RTI::FedTime const * theTime,
00173       char const * tag);
00174 
00176    virtual void sendDiscoverMsg(DtObjectInstanceHandle objHandle,
00177       DtObjectClassHandle classHandle);
00178    virtual void sendRequestDiscoverMsg(DtObjectInstanceHandle objHandle);
00179    virtual void sendRemoveDiscoverMsg(DtObjectInstanceHandle objHandle);
00180 #endif
00181 
00182 protected:
00183 
00185    typedef std::set<DtFixedGridRegion*> DtFixedGridRegionSet;
00186 
00188    typedef std::map<DtObjectClassHandle, DtFixedGridRegionSet> DtFixedGridObjectClassRegionMap;
00189 
00191    typedef std::map<DtObjectInstanceHandle, DtFixedGridRegion*> DtFixedGridObjectRegionMap;
00192 
00193 protected:
00194 
00196    DtFixedGridObjectRegionMap myObjectRegionMap;
00197 
00199    DtFixedGridObjectClassRegionMap myObjectClassRegionMap;
00200 
00202    DtFixedGridRegion* myRegisterRegion;
00203 };
00204 
00205 #endif
00206 #endif
00207 
00208 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)