![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: joinConfMsg.h,v $ $Revision: 1.19 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtJoinConfirmMsg_H_ 00013 #define DtJoinConfirmMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netRtiMsgHdr.h" 00017 #include "netJoinConfMsg.h" 00018 #include <vlutil/vlString.h> 00019 00020 class DtConnectionMgr; 00021 class DtJoinConfirmMsg; 00022 typedef void (*DtJoinConfirmCb)(const DtJoinConfirmMsg& inter, void* usr); 00023 00024 class DT_DLL_LRC DtJoinConfirmMsg : public DtRtiMsg 00025 { 00026 public: 00027 00029 enum errorCodes { 00030 DtNoError = 0, 00031 DtCouldNotCreateTimeFactory, 00032 DtFomError, 00033 DtTimedOut, 00034 DtCrcMismatch, 00035 DtUnknownError}; 00036 00038 DtJoinConfirmMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00040 DtJoinConfirmMsg( unsigned long sourceIDValue, 00041 errorCodes errorCodeValue, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 00045 DtJoinConfirmMsg(const DtNetJoinConfirmMsg* netRepMsg, 00046 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00047 00049 virtual ~DtJoinConfirmMsg(); 00050 00052 virtual DtRtiMsg* clone(bool copy = true) const; 00053 00055 virtual void set( unsigned long sourceIDValue, 00056 errorCodes errorCodeValue); 00057 00062 virtual unsigned long sourceID() const; 00063 virtual void setSourceID(unsigned long sourceIDValue); 00064 00067 virtual void setErrorCode( errorCodes errorCodeVal ); 00068 virtual errorCodes errorCode() const; 00069 00071 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00072 00073 public: 00074 00076 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00077 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00078 00080 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00081 00083 static void addCallback(DtConnectionMgr* conn, 00084 DtJoinConfirmCb cb, void* usr, bool isMomCallback=false); 00085 static void removeCallback(DtConnectionMgr* conn, 00086 DtJoinConfirmCb cb, void* usr, bool isMomCallback=false); 00087 00088 protected: 00089 00091 virtual DtNetJoinConfirmMsg* netJoinConfirmMsg(); 00092 virtual const DtNetJoinConfirmMsg* netJoinConfirmMsg() const; 00093 00095 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00096 00098 virtual int minSize() const; 00099 00101 virtual DtJoinConfirmMsg* self() const; 00102 }; 00103 00104 00105 inline DtJoinConfirmMsg* DtJoinConfirmMsg::self() const 00106 { 00107 return const_cast<DtJoinConfirmMsg*>( this ); 00108 } 00109 00110 #endif 00111