![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantShutdownMsg.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef assistantShutdownMsg_H_ 00013 #define assistantShutdownMsg_H_ 00014 00017 00018 #include "assistantMsg.h" 00019 #include "netAssistantShutdownMsg.h" 00020 00021 class DtAssistantShutdownMsg; 00022 class DtRtiAssistantServer; 00023 class DtAssistantMsgQueue; 00024 00025 typedef void (*DtAssistantShutdownMsgCb)(const DtAssistantShutdownMsg& inter, void* usr); 00026 00027 00032 class DT_DLL_ASSISTANT DtAssistantShutdownMsg : public DtAssistantMsg 00033 { 00034 00035 public: 00036 00037 enum DtShutdownEnum 00038 { 00039 DtDoNotShutdown = 0, 00040 DtRequestShutdown, 00041 DtForceShutdown 00042 }; 00043 00045 DtAssistantShutdownMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00046 00048 DtAssistantShutdownMsg(const DtNetAssistantShutdownMsg* netRep, 00049 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00050 00052 virtual ~DtAssistantShutdownMsg(); 00053 00055 virtual DtAssistantMsg* clone(bool copy = true) const; 00056 00058 virtual void setIsAssistantToAssistant(bool yesNo); 00059 virtual bool isAssistantToAssistant() const; 00060 00062 virtual void setForceShutdown(bool yesNo); 00063 virtual bool isForceShutdown() const; 00064 00066 virtual void printData() const; 00067 00068 public: 00069 00071 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00072 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00073 00075 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00076 00078 static void addCallback(DtRtiAssistantServer* conn, 00079 DtAssistantShutdownMsgCb cb, void* usr); 00080 static void removeCallback(DtRtiAssistantServer* conn, 00081 DtAssistantShutdownMsgCb cb, void* usr); 00082 static void addCallback(DtAssistantMsgQueue* queue, 00083 DtAssistantShutdownMsgCb cb, void* usr); 00084 static void removeCallback(DtAssistantMsgQueue* queue, 00085 DtAssistantShutdownMsgCb cb, void* usr); 00086 00087 protected: 00088 00090 virtual DtNetAssistantShutdownMsg* netAssistantShutdownMsg(); 00091 virtual const DtNetAssistantShutdownMsg* netAssistantShutdownMsg() const; 00092 00094 virtual DtAssistantMsgKind internalMsgKind(); 00095 00097 virtual int minSize() const; 00098 00099 }; 00100 00101 #endif