![]() |
MAK RTIspy API Documentation for HLA Evolved
|
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