![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: unpubIntMsg.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtUnpubInterMsg_H_ 00013 #define DtUnpubInterMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netPubIntMsg.h" 00017 00018 typedef DtNetPubInterMsg DtNetUnpubInterMsg; 00019 class DtConnectionMgr; 00020 class DtUnpubInterMsg; 00021 typedef void (*DtUnpubInterCb)(const DtUnpubInterMsg& inter, void* usr); 00022 00023 class DT_DLL_LRC DtUnpubInterMsg : public DtRtiMsg 00024 { 00025 public: 00026 00028 DtUnpubInterMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00029 00030 DtUnpubInterMsg( 00031 DtInteractionClassHandle theInter, 00032 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00033 00035 DtUnpubInterMsg(const DtNetUnpubInterMsg* netRepMsg, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 virtual ~DtUnpubInterMsg(); 00040 00042 virtual DtRtiMsg* clone(bool copy = true) const; 00043 00045 virtual void set(DtInteractionClassHandle theInter); 00046 00048 virtual void setHandle(DtInteractionClassHandle hand); 00049 virtual DtInteractionClassHandle handle() const; 00050 00052 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00053 00054 public: 00055 00057 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00058 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00059 00061 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00062 00064 static void addCallback(DtConnectionMgr* conn, 00065 DtUnpubInterCb cb, void* usr); 00066 static void removeCallback(DtConnectionMgr* conn, 00067 DtUnpubInterCb cb, void* usr); 00068 00069 protected: 00070 00072 virtual DtNetUnpubInterMsg* netUnpubInterMsg(); 00073 virtual const DtNetUnpubInterMsg* netUnpubInterMsg() const; 00074 00076 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00077 00079 virtual int minSize() const; 00080 00082 virtual DtUnpubInterMsg* self() const; 00083 }; 00084 00085 00086 inline DtUnpubInterMsg* DtUnpubInterMsg::self() const 00087 { 00088 return const_cast<DtUnpubInterMsg*>( this ); 00089 } 00090 00091 #endif 00092