MAK RTIspy API Documentation for HLA 1.3
subRegMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: subRegMsg.h,v $ $Revision: 1.14 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtAssocSubRegMsg_H_
00013 #define DtAssocSubRegMsg_H_
00014 #ifdef DDM
00015 
00016 #include "rtiMsg.h"
00017 #include "netSubRegMsg.h"
00018 #include "attrHandSet.h"
00019 
00020 class DtConnectionMgr;
00021 class DtAssocSubRegMsg;
00022 typedef void (*DtAssocSubRegCb)(const DtAssocSubRegMsg& msg, void* usr);
00023 
00024 class DT_DLL_LRC DtAssocSubRegMsg : public DtRtiMsg
00025 {
00026 public:
00027 
00029    DtAssocSubRegMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00030 
00032    DtAssocSubRegMsg(
00033       DtRegionHandle regSetHandleValue,
00034       DtObjectClassHandle classHandleValue,
00035       const DtAttributeHandleSet& attrSet,
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037 
00039    DtAssocSubRegMsg(const DtNetAssocSubRegMsg* netRepMsg,
00040       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00043    virtual ~DtAssocSubRegMsg();
00044 
00046    virtual DtRtiMsg* clone(bool copy = true) const; 
00047 
00049    virtual void set(
00050       DtRegionHandle regSetHandleValue,
00051       DtObjectClassHandle classHandleValue,
00052       const DtAttributeHandleSet& attrSet);
00053 
00055    virtual void setRegionSetHandle(DtRegionHandle handleValue);
00056    virtual DtRegionHandle regionSetHandle() const;
00057 
00059    virtual void setClassHandle(DtObjectClassHandle handleValue);
00060    virtual DtObjectClassHandle classHandle() const;
00061 
00063    virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
00064    virtual const DtAttributeHandleSet& attrHandles() const;
00065 
00067    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00068 
00069 public:
00070 
00072    static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00073       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00074 
00076    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00077 
00079    static void addCallback(DtConnectionMgr *conn, 
00080       DtAssocSubRegCb cb, void *usr, bool isMomCallback=false);
00081    static void removeCallback(DtConnectionMgr *conn, 
00082       DtAssocSubRegCb cb, void *usr, bool isMomCallback=false);
00083    
00084 protected:
00085    
00087    virtual DtNetAssocSubRegMsg* netAssocSubRegMsg();
00088    virtual const DtNetAssocSubRegMsg* netAssocSubRegMsg() const;
00089 
00091    virtual int minSize() const;
00092 
00094    virtual DtRtiMsgKind internalDtRtiMsgKind();
00095 
00097    virtual DtAssocSubRegMsg* self() const;
00098 
00099 protected:
00100    bool myDirty;
00101    DtAttributeHandleSet* myAttrs;
00102 };
00103 
00104 
00105 inline DtAssocSubRegMsg* DtAssocSubRegMsg::self() const
00106 {
00107    return const_cast<DtAssocSubRegMsg*>( this );
00108 }
00109 
00110 #endif
00111 #endif

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)