![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: disableMsg.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtDisableMsg_H_ 00013 #define DtDisableMsg_H_ 00014 00015 #ifdef DtTIME 00016 00017 #include "rtiMsg.h" 00018 #include "netDisableMsg.h" 00019 00020 enum DtTimeServiceType 00021 { 00022 DtTimeRegulation=0, 00023 DtTimeConstrained 00024 }; 00025 00026 class DtConnectionMgr; 00027 class DtDisableMsg; 00028 typedef void (*DtDisableCb)(const DtDisableMsg& msg, void* usr); 00029 00030 class DT_DLL_LRC DtDisableMsg : public DtRtiMsg 00031 { 00032 public: 00033 00035 DtDisableMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00036 00038 DtDisableMsg( 00039 DtTimeServiceType type, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 DtDisableMsg(const DtNetDisable* netRepMsg, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 00047 virtual ~DtDisableMsg(); 00048 00050 virtual DtRtiMsg* clone(bool copy = true) const; 00051 00053 virtual void set(DtTimeServiceType type); 00054 00056 virtual void setServiceType(DtTimeServiceType type); 00057 virtual DtTimeServiceType serviceType() const; 00058 00060 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00061 00062 public: 00063 00065 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00066 00068 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00069 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00070 00072 static void addCallback(DtConnectionMgr *conn, 00073 DtDisableCb cb, void *usr); 00074 static void removeCallback(DtConnectionMgr *conn, 00075 DtDisableCb cb, void *usr); 00076 00077 protected: 00078 00080 DtRtiMsgKind internalDtRtiMsgKind(); 00081 00083 virtual DtNetDisable* netDisableMsg(); 00084 virtual const DtNetDisable* netDisableMsg() const; 00085 00087 virtual int minSize() const; 00088 00090 virtual DtDisableMsg* self() const; 00091 }; 00092 00093 inline DtDisableMsg* DtDisableMsg::self() const 00094 { 00095 return const_cast<DtDisableMsg*>( this ); 00096 } 00097 00098 #endif 00099 #endif 00100