MAK RTIspy API Documentation for HLA Evolved
assistantFederationStateMsg.h
Go to the documentation of this file.
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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)