![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: deleteRegMsg.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtDeleteRegMsg_H_ 00013 #define DtDeleteRegMsg_H_ 00014 #ifdef DDM 00015 00016 #include "rtiMsg.h" 00017 #include "netDelRegMsg.h" 00018 #include "region.h" 00019 00020 class DtConnectionMgr; 00021 class DtDeleteRegMsg; 00022 typedef void (*DtDeleteRegCb)(const DtDeleteRegMsg& msg, void* usr); 00023 00024 class DT_DLL_LRC DtDeleteRegMsg : public DtRtiMsg 00025 { 00026 public: 00027 00029 DtDeleteRegMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00030 00032 DtDeleteRegMsg(DtRegionHandle handleValue, 00033 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00034 00036 DtDeleteRegMsg(const DtNetDeleteRegMsg* netRepMsg, 00037 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 00040 virtual ~DtDeleteRegMsg(); 00041 00043 virtual DtRtiMsg* clone(bool copy = true) const; 00044 00046 virtual void set(DtRegionHandle handleValue); 00047 00049 virtual void setRegionHandle(DtRegionHandle handleValue); 00050 virtual DtRegionHandle regionHandle() const; 00051 00053 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00054 00055 public: 00056 00058 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00059 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00060 00062 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00063 00065 static void addCallback(DtConnectionMgr *conn, 00066 DtDeleteRegCb cb, void *usr); 00067 static void removeCallback(DtConnectionMgr *conn, 00068 DtDeleteRegCb cb, void *usr); 00069 00070 protected: 00071 00073 virtual DtNetDeleteRegMsg* netDeleteRegMsg(); 00074 virtual const DtNetDeleteRegMsg* netDeleteRegMsg() const; 00075 00077 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00078 00080 virtual int minSize() const; 00081 00083 virtual DtDeleteRegMsg* self() const; 00084 }; 00085 00086 inline DtDeleteRegMsg* DtDeleteRegMsg::self() const 00087 { 00088 return const_cast<DtDeleteRegMsg*>( this ); 00089 } 00090 00091 #endif 00092 #endif