![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2003 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: reserveNameMsg.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtReserveNameMsg_H_ 00013 #define DtReserveNameMsg_H_ 00014 00015 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00016 00017 #include "rtiMsConfig.h" 00018 #include <string> 00019 #include "rtiMsg.h" 00020 #include "netRtiMsgHdr.h" 00021 00022 class DtConnectionMgr; 00023 class DtNetReserveNameMsg; 00024 class DtReserveNameMsg; 00025 typedef void (*DtReserveNameCb)(const DtReserveNameMsg& inter, void* usr); 00026 00027 class DT_DLL_LRC DtReserveNameMsg : public DtRtiMsg 00028 { 00029 public: 00030 00032 DtReserveNameMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00033 00034 DtReserveNameMsg( 00035 char const * objectName, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 DtReserveNameMsg(DtNetReserveNameMsg const * netRepMsg, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 virtual ~DtReserveNameMsg(); 00044 00046 virtual DtRtiMsg* clone(bool copy = true) const; 00047 00049 virtual void set(char const * objectName); 00050 00052 virtual char const * objectName() const; 00053 virtual void setObjectName(char const * objectName); 00054 00056 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00057 00058 public: 00059 00061 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00062 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00063 00065 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00066 00068 static void addCallback(DtConnectionMgr* conn, 00069 DtReserveNameCb cb, void* usr, bool isMomCallback=false); 00070 static void removeCallback(DtConnectionMgr* conn, 00071 DtReserveNameCb cb, void* usr, bool isMomCallback=false); 00072 00073 protected: 00074 00076 virtual DtNetReserveNameMsg* netReserveNameMsg(); 00077 virtual DtNetReserveNameMsg const * netReserveNameMsg() const; 00078 00080 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00081 00083 virtual int minSize(char const * objectName) const; 00084 00086 virtual char* namePtr() const; 00087 00088 }; 00089 00090 #endif //! DtIFSPEC1516 00091 #endif //! DtReserveNameMsg_H_ 00092