![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: locDelMsg.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtLocDelMsg_H_ 00013 #define DtLocDelMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netLocDelMsg.h" 00017 00018 class DtConnectionMgr; 00019 class DtLocDelMsg; 00020 00021 namespace MAKRti 00022 { 00023 class DtString; 00024 } 00025 00026 typedef void (*DtLocDelCb)(const DtLocDelMsg& msg, void* usr); 00027 00028 class DT_DLL_LRC DtLocDelMsg : public DtRtiMsg 00029 { 00030 public: 00031 00033 DtLocDelMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00034 00035 DtLocDelMsg( 00036 DtObjectInstanceHandle objHandleValue, 00037 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 00040 DtLocDelMsg(const DtNetLocDelMsg* netRepMsg, 00041 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 00044 virtual ~DtLocDelMsg(); 00045 00047 virtual DtRtiMsg* clone(bool copy = true) const; 00048 00050 virtual void set(DtObjectInstanceHandle objHandleValue); 00051 00053 virtual void setObjHandle(DtObjectInstanceHandle id); 00054 virtual DtObjectInstanceHandle objHandle() const; 00055 00057 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00058 00059 public: 00060 00062 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00063 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00064 00066 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00067 00069 static void addCallback(DtConnectionMgr *conn, 00070 DtLocDelCb cb, void *usr); 00071 static void removeCallback(DtConnectionMgr *conn, 00072 DtLocDelCb cb, void *usr); 00073 00074 protected: 00075 00077 virtual DtNetLocDelMsg* netLocDelMsg(); 00078 virtual const DtNetLocDelMsg* netLocDelMsg() const; 00079 00081 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00082 00084 virtual int minSize() const; 00085 00087 virtual DtLocDelMsg* self() const; 00088 }; 00089 00090 00091 inline DtLocDelMsg* DtLocDelMsg::self() const 00092 { 00093 return const_cast<DtLocDelMsg*>( this ); 00094 } 00095 00096 #endif 00097