![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: savFinMsg.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtSaveFinishMsg_H_ 00013 #define DtSaveFinishMsg_H_ 00014 00015 #include "saveMsg.h" 00016 00017 class DtConnectionMgr; 00018 class DtSaveFinishedMsg; 00019 typedef void (*DtSaveFinishedCb)(const DtSaveFinishedMsg& msg, void* usr); 00020 00021 enum DtSaveFinishedResult 00022 { 00023 DtSaveFinishedSuccess, 00024 DtSaveFinishedRtiUnableToSave, 00025 DtSaveFinishedFederateFailure, 00026 DtSaveFinishedFederateResigned, 00027 DtSaveFinishedFailureDetected, 00028 DtSaveFinishedInvalidSaveTime, 00029 DtSaveFinishedAborted 00030 }; 00031 00032 class DT_DLL_LRC DtSaveFinishedMsg : public DtSaveMsg 00033 { 00034 public: 00035 00037 DtSaveFinishedMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 00040 DtSaveFinishedMsg( 00041 const char* theLabel, 00042 DtSaveFinishedResult result, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 00046 DtSaveFinishedMsg(const DtNetSaveMsg* netRepMsg, 00047 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00048 00050 virtual ~DtSaveFinishedMsg(); 00051 00053 virtual DtRtiMsg* clone(bool copy = true) const; 00054 00056 virtual void set(const char* theLabel, DtSaveFinishedResult theResult); 00057 00059 virtual void setFinishedResult(DtSaveFinishedResult theResult); 00060 virtual DtSaveFinishedResult finishedResult() const; 00061 00062 public: 00063 00065 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00066 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00067 00069 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00070 00072 static void addCallback(DtConnectionMgr *conn, 00073 DtSaveFinishedCb cb, void *usr); 00074 static void removeCallback(DtConnectionMgr *conn, 00075 DtSaveFinishedCb cb, void *usr); 00076 00077 protected: 00078 00080 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00081 00082 protected: 00083 00084 }; 00085 00086 #endif