MAK RTIspy API Documentation for HLA 1.3
unsubObjMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: unsubObjMsg.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtUnsubObjMsg_H_
00013 #define DtUnsubObjMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netUnPObjMsg.h"
00017 
00018 typedef DtNetUnpubObjMsg DtNetUnsubObjMsg;
00019 class DtConnectionMgr;
00020 class DtUnsubObjMsg;
00021 class DtAttributeHandleSet;
00022 typedef void (*DtUnsubObjCb)(const DtUnsubObjMsg& inter, void* usr);
00023 
00024 class DT_DLL_LRC DtUnsubObjMsg : public DtRtiMsg
00025 {
00026 public:
00027 
00029    DtUnsubObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00030 
00031    DtUnsubObjMsg(
00032       DtObjectClassHandle theObj,
00033       const DtAttributeHandleSet& theSet,
00034       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035 
00037    DtUnsubObjMsg(const DtNetUnsubObjMsg* netRepMsg,
00038       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039 
00041    virtual ~DtUnsubObjMsg();
00042 
00044    virtual DtRtiMsg* clone(bool copy = true) const; 
00045 
00047    virtual void set(DtObjectClassHandle theObj,
00048       const DtAttributeHandleSet& theSet);
00049 
00051    virtual void setObjectClassHandle(DtObjectClassHandle hand);
00052    virtual DtObjectClassHandle objectClassHandle() const;
00053 
00055    virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
00056    virtual const DtAttributeHandleSet& attrHandles() const;
00057 
00059    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00060 
00061 public:
00062 
00064    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00065       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00066 
00068    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00069 
00071    static void addCallback(DtConnectionMgr* conn,
00072       DtUnsubObjCb cb, void* usr);
00073    static void removeCallback(DtConnectionMgr* conn,
00074       DtUnsubObjCb cb, void* usr);
00075 
00076 protected:
00077 
00079    virtual DtNetUnsubObjMsg* netUnsubObjMsg();
00080    virtual const DtNetUnsubObjMsg* netUnsubObjMsg() const;
00081 
00083    virtual DtRtiMsgKind internalDtRtiMsgKind();
00084 
00086    virtual int minSize() const;
00087 
00089    virtual DtUnsubObjMsg* self() const;
00090 
00091 protected:
00092 
00093    int myDirty;
00094    DtAttributeHandleSet* myAttrs;
00095 };
00096 
00097 
00098 inline DtUnsubObjMsg* DtUnsubObjMsg::self() const
00099 {
00100    return const_cast<DtUnsubObjMsg*>( this );
00101 }
00102 
00103 #endif
00104 

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)