![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: deleteMsg.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtDeleteMsg_H_ 00013 #define DtDeleteMsg_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include "rtiMsg.h" 00017 00018 class DtConnectionMgr; 00019 class DtDeleteMsg; 00020 typedef void (*DtDeleteCb)(const DtDeleteMsg& inter, void* usr); 00021 00022 00024 class DT_DLL_LRC DtDeleteMsg : public DtRtiMsg 00025 { 00026 public: 00027 00029 DtDeleteMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00030 00032 virtual ~DtDeleteMsg(); 00033 00035 virtual void setId(DtObjectInstanceHandle id) = 0; 00036 virtual DtObjectInstanceHandle id() const = 0; 00037 00039 #ifdef DtIFSPEC1516 00040 virtual void setTag(rti1516::VariableLengthData const& tag); 00041 virtual rti1516::VariableLengthData const& tag() const; 00042 #elif defined(DtIFSPEC1516E) 00043 virtual void setTag(rti1516e::VariableLengthData const& tag); 00044 virtual rti1516e::VariableLengthData const& tag() const; 00045 #else 00046 virtual void setTag(char const * tag); 00047 virtual char const * tag() const; 00048 #endif 00049 00050 protected: 00051 00053 virtual void setTagSize(int size) = 0; 00054 virtual int tagSize() const = 0; 00055 00057 virtual char* tagPtr() = 0; 00058 00060 virtual int tagFieldSize() const; 00061 00063 virtual DtDeleteMsg* self() const; 00064 00065 protected: 00066 #ifdef DtIFSPEC1516 00067 rti1516::VariableLengthData* myTag; 00068 #elif defined(DtIFSPEC1516E) 00069 rti1516e::VariableLengthData* myTag; 00070 #else 00071 char* myTag; 00072 #endif 00073 }; 00074 00075 00076 inline DtDeleteMsg* DtDeleteMsg::self() const 00077 { 00078 return const_cast<DtDeleteMsg*>( this ); 00079 } 00080 00081 #endif 00082