![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantFederationStateMsg.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantFederationStateMsg_H_ 00010 #define DtAssistantFederationStateMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "federationInfo.h" 00021 #include "netAssistantFederationStateMsg.h" 00022 00023 class DtRtiAssistantPeer; 00024 class DtRtiAssistantServer; 00025 class DtAssistantFederationStateMsg; 00026 class DtRtiConnectionInfo; 00027 00028 typedef void (*DtAssistantFederationStateCb)(const DtAssistantFederationStateMsg& inter, void* usr); 00029 00034 class DT_DLL_ASSISTANT DtAssistantFederationStateMsg : public DtAssistantMsg 00035 { 00036 public: 00037 00039 DtAssistantFederationStateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00041 DtAssistantFederationStateMsg(const DtNetAssistantFederationStateMsg* netRepMsg, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 00045 virtual ~DtAssistantFederationStateMsg(); 00046 00048 virtual DtAssistantMsg* clone(bool copy = true) const; 00049 00051 virtual bool noFederations() const; 00052 00054 virtual void setNoFederations(bool val); 00055 00057 virtual unsigned int federationHandle() const; 00058 00060 virtual void setFederationHandle( unsigned int handle ); 00061 00063 virtual bool isTestEnabled() const; 00064 00066 virtual void setIsTestEnabled( bool enabled ); 00067 00069 virtual bool isRemoval() const; 00070 00072 virtual void setIsRemoval( bool remove ); 00073 00075 virtual MAKRti::DtString federationName() const; 00076 00078 virtual void setFederationName( const MAKRti::DtString& name ); 00079 00081 virtual MAKRti::DtString fedFileName() const; 00082 00084 virtual void setFedFileName( const MAKRti::DtString& name ); 00085 00087 virtual void getFomModules(std::list<MAKRti::DtString>& fomModules ) const; 00088 00090 virtual void setFomModules( const std::list<MAKRti::DtString>& fomModules ); 00091 00093 virtual void getUpdatedFederateStates( DtFederateInfoByHandleMap& federates ) const; 00094 00096 virtual void setFederateStates( const DtFederateInfoByHandleMap& federates ); 00097 00100 virtual void getConnection( DtRtiConnectionInfo& conn, 00101 const MAKRti::DtInetAddr& address ) const; 00102 00104 virtual void setConnection( const DtRtiConnectionInfo& conn ); 00105 00107 virtual void printData() const; 00108 00109 public: 00110 00112 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00113 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00114 00115 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00116 00119 static void addCallback(DtRtiAssistantServer* conn, 00120 DtAssistantFederationStateCb cb, void* usr); 00121 static void removeCallback(DtRtiAssistantServer* conn, 00122 DtAssistantFederationStateCb cb, void* usr); 00123 00126 static void addCallback(DtRtiAssistantPeer* conn, 00127 DtAssistantFederationStateCb cb, void* usr); 00128 static void removeCallback(DtRtiAssistantPeer* conn, 00129 DtAssistantFederationStateCb cb, void* usr); 00130 00131 protected: 00132 00134 virtual DtNetAssistantFederationStateMsg* netAssistantFederationStateMsg(); 00135 virtual const DtNetAssistantFederationStateMsg* netAssistantFederationStateMsg() const; 00136 00138 virtual DtAssistantMsgKind internalMsgKind(); 00139 00141 virtual int minSize() const; 00142 00144 virtual void setAddressFamily( DtInetUtils::DtInetAddrFamily fam ); 00145 virtual DtInetUtils::DtInetAddrFamily addressFamily() const; 00146 00148 virtual void setFederationNameSize( unsigned size ); 00149 virtual unsigned federationNameSize() const; 00150 00152 virtual void setFedFileNameSize( unsigned size ); 00153 virtual unsigned fedFileNameSize() const; 00154 00156 virtual void setFomModulesSize( unsigned size ); 00157 virtual unsigned fomModulesSize() const; 00158 00160 virtual void setNumFederates( unsigned num ); 00161 virtual unsigned numFederates() const; 00162 00164 virtual void setFederateTypesSize( unsigned size ); 00165 virtual unsigned federateTypesSize() const; 00166 00168 virtual void setFederateNamesSize( unsigned size ); 00169 virtual unsigned federateNamesSize() const; 00170 00172 virtual void setFederateHostNamesSize( unsigned size ); 00173 virtual unsigned federateHostNamesSize() const; 00174 00176 virtual void setLbtsStringsSize( unsigned size ); 00177 virtual unsigned lbtsStringsSize() const; 00178 00180 virtual void setLookAheadStringsSize( unsigned size ); 00181 virtual unsigned lookAheadStringsSize() const; 00182 00184 virtual void setTimeStringsSize( unsigned size ); 00185 virtual unsigned timeStringsSize() const; 00186 00188 virtual DtNetU32* federateConnIdsPtr(); 00189 virtual const DtNetU32* federateConnIdsPtr() const; 00190 00192 virtual DtNetU32* federateHdlsPtr(); 00193 virtual const DtNetU32* federateHdlsPtr() const; 00194 00196 virtual DtNetU128* federateHostAddrsPtr(); 00197 virtual const DtNetU128* federateHostAddrsPtr() const; 00198 00201 virtual DtNetU32* federateWebServerAddrsPtr(); 00202 virtual const DtNetU32* federateWebServerAddrsPtr() const; 00203 00205 virtual DtNetU16* federateWebServerPortsPtr(); 00206 virtual const DtNetU16* federateWebServerPortsPtr() const; 00207 00210 virtual DtNetU16* federateNumInitiatedTestsPtr(); 00211 virtual const DtNetU16* federateNumInitiatedTestsPtr() const; 00212 00215 virtual DtNetU16* federateNumTestReportsPtr(); 00216 virtual const DtNetU16* federateNumTestReportsPtr() const; 00217 00219 virtual DtNetU8* federateTestEnablePtr(); 00220 virtual const DtNetU8* federateTestEnablePtr() const; 00221 00224 virtual DtNetU8* federateTestInProgressPtr(); 00225 virtual const DtNetU8* federateTestInProgressPtr() const; 00226 00229 virtual DtNetU8* federateContTestPtr(); 00230 virtual const DtNetU8* federateContTestPtr() const; 00231 00233 virtual DtNetU8* reconnectingPtr(); 00234 virtual const DtNetU8* reconnectingPtr() const; 00235 00237 virtual DtNetU8* disconnectedPtr(); 00238 virtual const DtNetU8* disconnectedPtr() const; 00239 00241 virtual DtNetU8* regulatingPtr(); 00242 virtual const DtNetU8* regulatingPtr() const; 00243 00245 virtual DtNetU8* constrainedPtr(); 00246 virtual const DtNetU8* constrainedPtr() const; 00247 00249 virtual DtNetU8* hlaVersionsPtr(); 00250 virtual const DtNetU8* hlaVersionsPtr() const; 00251 00253 virtual const char* federationNamePtr() const; 00254 virtual char* federationNamePtr(); 00255 00257 virtual const char* fedFileNamePtr() const; 00258 virtual char* fedFileNamePtr(); 00259 00261 virtual const char* fomModulesPtr() const; 00262 virtual char* fomModulesPtr(); 00263 00265 virtual const char* federateTypesPtr() const; 00266 virtual char* federateTypesPtr(); 00267 00269 virtual const char* federateNamesPtr() const; 00270 virtual char* federateNamesPtr(); 00271 00273 virtual const char* federateHostNamesPtr() const; 00274 virtual char* federateHostNamesPtr(); 00275 00277 virtual const char* lbtsStringsPtr() const; 00278 virtual char* lbtsStringsPtr(); 00279 00281 virtual const char* lookAheadStringsPtr() const; 00282 virtual char* lookAheadStringsPtr(); 00283 00285 virtual const char* timeStringsPtr() const; 00286 virtual char* timeStringsPtr(); 00287 }; 00288 00289 #endif