![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantStateObserveMsg.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantStateObserveMsg_H_ 00010 #define DtAssistantStateObserveMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "netAssistantStateObserveMsg.h" 00021 00022 class DtRtiAssistantPeer; 00023 class DtRtiAssistantClient; 00024 class DtAssistantStateObserveMsg; 00025 class DtRtiConnectionInfo; 00026 00027 typedef void (*DtAssistantStateObserveCb)(const DtAssistantStateObserveMsg& inter, void* usr); 00028 00029 enum DtAssistantStateObserveType 00030 { 00031 DtAssistantStateObserveFederationsOrRtiexec = 0, 00032 DtAssistantStateObserveForwarder, 00033 DtAssistantStateObserveForwarderPersistent 00034 }; 00035 00040 class DT_DLL_ASSISTANT DtAssistantStateObserveMsg : public DtAssistantMsg 00041 { 00042 public: 00043 00045 DtAssistantStateObserveMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00046 00048 DtAssistantStateObserveMsg(const DtNetAssistantStateObserveMsg* netRepMsg, 00049 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00050 00052 virtual ~DtAssistantStateObserveMsg(); 00053 00055 virtual DtAssistantMsg* clone(bool copy = true) const; 00056 00058 virtual bool isObserved() const; 00059 00061 virtual void setIsObserved( bool observed ); 00062 00064 virtual bool isLogRequest() const; 00065 00067 virtual void setIsLogRequest( bool observed ); 00068 00070 virtual void setDefunctRemovalTime( int removalTime ); 00071 00073 virtual int getDefunctRemovalTime() const; 00074 00076 virtual bool isSingleView() const; 00077 00079 virtual void setIsSingleView( bool oneTime ); 00080 00082 virtual unsigned int timeStateUpdateInterval() const; 00083 00085 virtual void setTimeStateUpdateInterval( unsigned int interval ); 00086 00088 virtual DtAssistantStateObserveType targetType() const; 00089 00091 virtual void setTargetType(DtAssistantStateObserveType target); 00092 00095 virtual void getConnection( DtRtiConnectionInfo& conn, 00096 const MAKRti::DtInetAddr& address ) const; 00097 00099 virtual void setConnection( const DtRtiConnectionInfo& conn ); 00100 00102 virtual void printData() const; 00103 00104 public: 00105 00107 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00108 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00109 00110 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00111 00114 static void addCallback(DtRtiAssistantClient* conn, 00115 DtAssistantStateObserveCb cb, void* usr); 00116 static void removeCallback(DtRtiAssistantClient* conn, 00117 DtAssistantStateObserveCb cb, void* usr); 00118 00121 static void addCallback(DtRtiAssistantPeer* conn, 00122 DtAssistantStateObserveCb cb, void* usr); 00123 static void removeCallback(DtRtiAssistantPeer* conn, 00124 DtAssistantStateObserveCb cb, void* usr); 00125 00126 protected: 00127 00129 virtual DtNetAssistantStateObserveMsg* netAssistantStateObserveMsg(); 00130 virtual const DtNetAssistantStateObserveMsg* netAssistantStateObserveMsg() const; 00131 00133 virtual DtAssistantMsgKind internalMsgKind(); 00134 00136 virtual int minSize() const; 00137 00138 }; 00139 00140 #endif 00141