![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantTimeStateMsg.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantTimeStateMsg_H_ 00010 #define DtAssistantTimeStateMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "netAssistantTimeStateMsg.h" 00021 #include "federationInfo.h" 00022 00023 class DtRtiAssistantServer; 00024 class DtAssistantTimeStateMsg; 00025 00026 typedef void (*DtAssistantTimeStateCb)(const DtAssistantTimeStateMsg& inter, void* usr); 00027 00032 class DT_DLL_ASSISTANT DtAssistantTimeStateMsg : public DtAssistantMsg 00033 { 00034 public: 00035 00037 DtAssistantTimeStateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00038 00039 DtAssistantTimeStateMsg(const DtNetAssistantTimeStateMsg* netRepMsg, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 virtual ~DtAssistantTimeStateMsg(); 00044 00046 virtual DtAssistantMsg* clone(bool copy = true) const; 00047 00049 virtual MAKRti::DtString federationName() const; 00050 00052 virtual void setFederationName( const MAKRti::DtString& name ); 00053 00055 virtual void getFederateTimeStates( DtFederateInfoByHandleMap& federates ) const; 00056 00058 virtual void setFederateTimeStates( const DtFederateInfoByHandleMap& federates ); 00059 00061 virtual void printData() const; 00062 00063 public: 00064 00066 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00067 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00068 00069 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00070 00073 static void addCallback(DtRtiAssistantServer* conn, 00074 DtAssistantTimeStateCb cb, void* usr); 00075 static void removeCallback(DtRtiAssistantServer* conn, 00076 DtAssistantTimeStateCb cb, void* usr); 00077 00078 protected: 00079 00081 virtual DtNetAssistantTimeStateMsg* netAssistantTimeStateMsg(); 00082 virtual const DtNetAssistantTimeStateMsg* netAssistantTimeStateMsg() const; 00083 00085 virtual DtAssistantMsgKind internalMsgKind(); 00086 00088 virtual int minSize() const; 00089 00092 virtual void setNumFederates( unsigned num ); 00093 virtual unsigned numFederates() const; 00094 00096 virtual DtNetU32* federateHdlsPtr(); 00097 virtual const DtNetU32* federateHdlsPtr() const; 00098 00100 virtual DtNetU8* regulatingPtr(); 00101 virtual const DtNetU8* regulatingPtr() const; 00102 00104 virtual DtNetU8* constrainedPtr(); 00105 virtual const DtNetU8* constrainedPtr() const; 00106 00108 virtual void setLbtsStringsSize( unsigned size ); 00109 virtual unsigned lbtsStringsSize() const; 00110 00112 virtual const char* lbtsStringsPtr() const; 00113 virtual char* lbtsStringsPtr(); 00114 00116 virtual void setLookAheadStringsSize( unsigned size ); 00117 virtual unsigned lookAheadStringsSize() const; 00118 00120 virtual const char* lookAheadStringsPtr() const; 00121 virtual char* lookAheadStringsPtr(); 00122 00124 virtual void setTimeStringsSize( unsigned size ); 00125 virtual unsigned timeStringsSize() const; 00126 00128 virtual const char* timeStringsPtr() const; 00129 virtual char* timeStringsPtr(); 00130 00132 virtual void setFederationNameSize( unsigned size ); 00133 virtual unsigned federationNameSize() const; 00134 00136 virtual const char* federationNamePtr() const; 00137 virtual char* federationNamePtr(); 00138 00139 }; 00140 00141 #endif