MAK RTIspy API Documentation for HLA 1.3
deleteRoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: deleteRoMsg.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtDeleteRoMsg_H_
00013 #define DtDeleteRoMsg_H_
00014 
00015 #include "deleteMsg.h"
00016 #include "netDeleteMsg.h"
00017 
00018 class DtDeleteRoMsg;
00019 typedef void (*DtDeleteRoCb)(const DtDeleteRoMsg& inter, void* usr);
00020 
00023 class DT_DLL_LRC DtDeleteRoMsg : public DtDeleteMsg
00024 {
00025 public:
00026 
00028    DtDeleteRoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00029 
00031    DtDeleteRoMsg(
00032       DtObjectInstanceHandle theObj,
00033 #ifdef DtIFSPEC1516
00034       rti1516::VariableLengthData const& theTag,
00035 #elif defined(DtIFSPEC1516E)
00036       rti1516e::VariableLengthData const& theTag,
00037 #else
00038       char const * theTag,
00039 #endif
00040       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00043    DtDeleteRoMsg(const DtNetDeleteMsg* netRepMsg,
00044       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00045 
00047    virtual ~DtDeleteRoMsg();
00048 
00050    virtual DtRtiMsg* clone(bool copy = true) const; 
00051 
00053    virtual void set(DtObjectInstanceHandle theObj,
00054 #ifdef DtIFSPEC1516
00055       rti1516::VariableLengthData const& theTag);
00056 #elif defined(DtIFSPEC1516E)
00057       rti1516e::VariableLengthData const& theTag);
00058 #else
00059       char const * theTag);
00060 #endif
00061 
00063    virtual void setId(DtObjectInstanceHandle id);
00064    virtual DtObjectInstanceHandle id() 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       DtDeleteRoCb cb, void *usr);
00081    static void removeCallback(DtConnectionMgr *conn,
00082       DtDeleteRoCb cb, void *usr);
00083 
00084 protected:
00085 
00087    virtual DtNetDeleteMsg* netDeleteRoMsg();
00088    virtual const DtNetDeleteMsg* netDeleteRoMsg() const;
00089 
00091    virtual DtRtiMsgKind internalDtRtiMsgKind();
00092 
00094 #ifdef DtIFSPEC1516
00095    virtual int minSize(rti1516::VariableLengthData const& theTag) const;
00096 #elif defined(DtIFSPEC1516E)
00097    virtual int minSize(rti1516e::VariableLengthData const& theTag) const;
00098 #else
00099    virtual int minSize(char const * theTag=NULL) const;
00100 #endif
00101 
00103    virtual void setTagSize(int size);
00104    virtual int tagSize() const;
00105 
00107    virtual char* tagPtr();
00108 
00110    virtual DtDeleteRoMsg* selfRo() const;
00111 };
00112 
00113 
00114 inline DtDeleteRoMsg* DtDeleteRoMsg::selfRo() const
00115 {
00116    return (DtDeleteRoMsg*) this;
00117 }
00118 
00119 #endif
00120 

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)