![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: resInitMsg.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtRestoreInitiateMsg_H_ 00013 #define DtRestoreInitiateMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netResInitMsg.h" 00017 00018 class DtConnectionMgr; 00019 class DtRestoreInitiateMsg; 00020 typedef void (*DtRestoreInitiateCb)(const DtRestoreInitiateMsg& inter, void* usr); 00021 00022 class DT_DLL_LRC DtRestoreInitiateMsg : public DtRtiMsg 00023 { 00024 public: 00025 00027 DtRestoreInitiateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00028 00030 DtRestoreInitiateMsg(const DtNetRestoreInitiateMsg* netRep, 00031 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00032 00034 DtRestoreInitiateMsg(DtFederateHandle oldHandleVal, 00035 DtFederateHandle newHandleVal, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 virtual ~DtRestoreInitiateMsg(); 00040 00042 virtual void set(DtFederateHandle oldHandleVal, 00043 DtFederateHandle newHandleVal); 00044 00046 virtual void setOldHandle(DtFederateHandle handle); 00047 virtual DtFederateHandle oldHandle() const; 00048 00050 virtual void setNewHandle(DtFederateHandle handle); 00051 virtual DtFederateHandle newHandle() const; 00052 00054 virtual DtRtiMsg* clone(bool copy = true) 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 00065 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00066 00068 static void addCallback(DtConnectionMgr* conn, 00069 DtRestoreInitiateCb cb, void* usr); 00070 static void removeCallback(DtConnectionMgr* conn, 00071 DtRestoreInitiateCb cb, void* usr); 00072 00073 protected: 00074 00076 virtual DtNetRestoreInitiateMsg* netRestoreInitiateMsg(); 00077 virtual const DtNetRestoreInitiateMsg* netRestoreInitiateMsg() const; 00078 00080 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00081 00083 virtual int minSize() const; 00084 00086 virtual DtRestoreInitiateMsg* self() const; 00087 00088 protected: 00089 00090 }; 00091 00092 inline DtRestoreInitiateMsg* DtRestoreInitiateMsg::self() const 00093 { 00094 return const_cast<DtRestoreInitiateMsg*>( this ); 00095 } 00096 00097 #endif 00098