MAK RTIspy API Documentation for HLA 1516
deleteTsoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: deleteTsoMsg.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtDeleteTsoMsg_H_
00013 #define DtDeleteTsoMsg_H_
00014 
00015 #ifdef DtTIME
00016 
00017 #include "deleteMsg.h"
00018 #include "netDelTsoMsg.h"
00019 
00020 
00021 class DtDeleteTsoMsg;
00022 typedef void (*DtDeleteTsoCb)(const DtDeleteTsoMsg& inter, void* usr);
00023 
00025 
00026 class DT_DLL_LRC DtDeleteTsoMsg : public DtDeleteMsg
00027 {
00028 public:
00029 
00031    DtDeleteTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00032 
00034    DtDeleteTsoMsg(
00035       DtObjectInstanceHandle theObj,
00036       DtOrderHandle type,
00037 #ifdef DtIFSPEC1516
00038       rti1516::LogicalTime const &,
00039       rti1516::VariableLengthData const& theTag,
00040 #elif defined(DtIFSPEC1516E)
00041       rti1516e::LogicalTime const &,
00042       rti1516e::VariableLengthData const& theTag,
00043 #else
00044       RTI::FedTime const & theTime,
00045       char const * theTag,
00046 #endif
00047       unsigned long serialNumberVal,
00048       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00049 
00051    DtDeleteTsoMsg(const DtNetDeleteTsoMsg* netRepMsg,
00052       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00053 
00055    virtual ~DtDeleteTsoMsg();
00056 
00058    virtual DtRtiMsg* clone(bool copy = true) const; 
00059 
00061    virtual void set(DtObjectInstanceHandle theObj, 
00062       DtOrderHandle type,
00063 #ifdef DtIFSPEC1516
00064       rti1516::LogicalTime const &,
00065       rti1516::VariableLengthData const& theTag,
00066 #elif defined(DtIFSPEC1516E)
00067       rti1516e::LogicalTime const &,
00068       rti1516e::VariableLengthData const& theTag,
00069 #else
00070       RTI::FedTime const & theTime,
00071       char const * theTag,
00072 #endif
00073       unsigned long serialNumberVal);
00074 
00076    virtual void setId(DtObjectInstanceHandle id);
00077    virtual DtObjectInstanceHandle id() const;
00078 
00080    virtual void setOrderType(DtOrderHandle type);
00081    virtual DtOrderHandle orderType() const;
00082 
00084 #ifdef DtIFSPEC1516
00085    virtual void setTime(rti1516::LogicalTime const & time);
00086    virtual rti1516::LogicalTime const * time(
00087       DtLogicalTimeFactory* logicalTimeFactory) const;
00088 #elif defined(DtIFSPEC1516E)
00089    virtual void setTime(rti1516e::LogicalTime const & time);
00090    virtual rti1516e::LogicalTime const * time(
00091        DtLogicalTimeFactory* logicalTimeFactory) const;
00092 #else
00093    virtual void setTime(RTI::FedTime const & time);
00094    virtual RTI::FedTime const * time(
00095       DtLogicalTimeFactory* logicalTimeFactory) const;
00096 #endif
00097 
00099    virtual void setSerialNumber(unsigned long handleValue);
00100    virtual unsigned long serialNumber() const;
00101 
00103    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00104 
00105 public:
00106 
00108    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00109       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00110 
00112    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00113 
00115    static void addCallback(DtConnectionMgr *conn,
00116       DtDeleteTsoCb cb, void *usr);
00117    static void removeCallback(DtConnectionMgr *conn,
00118       DtDeleteTsoCb cb, void *usr);
00119 
00120 protected:
00121 
00123    virtual DtNetDeleteTsoMsg* netDeleteTsoMsg();
00124    virtual const DtNetDeleteTsoMsg* netDeleteTsoMsg() const;
00125 
00127    virtual DtRtiMsgKind internalDtRtiMsgKind();
00128 
00130 #ifdef DtIFSPEC1516
00131    virtual int minSize(rti1516::LogicalTime const * theTime=NULL,
00132       rti1516::VariableLengthData const& theTag=theDefaultTag) const;
00133 #elif defined(DtIFSPEC1516E)
00134    virtual int minSize(rti1516e::LogicalTime const * theTime=NULL,
00135        rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
00136 #else
00137    virtual int minSize(RTI::FedTime const * theTime=NULL,
00138       char const * theTag=NULL) const;
00139 #endif
00140 
00142    virtual void setTimeSize(int size);
00143    virtual int timeSize() const;
00144 
00146    virtual void setTagSize(int size);
00147    virtual int tagSize() const;
00148 
00150    virtual char* tagPtr();
00151 
00153    virtual char* timePtr();
00154 
00156    virtual int timeFieldSize() const;
00157 
00159    DtNetU32* serialNumberPtr() const;
00160 
00162    virtual DtDeleteTsoMsg* selfTso() const;
00163 };
00164 
00165 
00166 inline DtDeleteTsoMsg* DtDeleteTsoMsg::selfTso() const
00167 {
00168    return const_cast<DtDeleteTsoMsg*>( this );
00169 }
00170 
00171 #endif
00172 #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)