MAK RTIspy API Documentation for HLA Evolved
federationStateInfo.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: federationStateInfo.h,v $ $Revision: 1.8 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef federationStateInfo_H_
00010 #define federationStateInfo_H_
00011 
00016 
00017 #include "rtiVersion.h"
00018 #include <vlutil/vlString.h>
00019 #include <vlutil/vlInetAddr.h>
00020 #include <map>
00021 #include <set>
00022 
00025 struct DtFederationInfo
00026 {
00027 public:
00028    DtFederationInfo( MAKRti::DtString name = MAKRti::DtString::nullString(), int handle = -1,
00029       MAKRti::DtString file = MAKRti::DtString::nullString(), bool testEn = true,
00030       MAKRti::DtInetAddr webIp = MAKRti::DtInetAddr(), int webPort = -1 ) :
00031       federationName( name ),
00032       federationHandle( handle ),
00033       fedFileName( file ),
00034       testEnabled( testEn )
00035       {}
00036 
00037       MAKRti::DtString federationName;
00038       int      federationHandle;
00039       MAKRti::DtString fedFileName;
00040       bool     testEnabled;
00041 };
00042 
00046 class DT_DLL_ASSISTANT DtFederateTimeStateInfo
00047 {
00048 public:
00049    DtFederateTimeStateInfo( unsigned long connId = 0, MAKRti::DtString fedType = "",
00050       MAKRti::DtString fedName = "", int handle = -1, MAKRti::DtString fedHostName = "", 
00051       MAKRti::DtInetAddr host = MAKRti::DtInetAddr(), DtHlaVersionId hlaVer = DtHla1516,
00052       MAKRti::DtInetAddr webServerHost = MAKRti::DtInetAddr(),
00053       int webServerPort = 0, bool testEn = false, bool testInProg = false, 
00054       bool contTest = false, unsigned numInitTests = 0, 
00055       unsigned numTestReps = 0 ) :
00056       connId( connId ),
00057       federateType( fedType ),
00058       federateName( fedName ),
00059       federateHandle( handle ),
00060       federateHostName( fedHostName ),
00061       federateHost( host ),
00062       hlaVersion( hlaVer ),
00063       federateWebServerHost( webServerHost ),
00064       federateWebServerPort( webServerPort ),
00065       testEnabled( testEn ),
00066       testInProgress( testInProg ),
00067       continuousTest( contTest ),
00068       numInitiatedTests( numInitTests ),
00069       numTestReports( numTestReps ),
00070       isRegulating( false ),
00071       isConstrained( false ),
00072       isReconnecting( false ),
00073       isDisconnected( false ) {}
00074 
00075    bool operator==(const DtFederateTimeStateInfo& rhs) const
00076    {
00077       return ( connId == rhs.connId && federateType == rhs.federateType &&
00078          federateName == rhs.federateName &&
00079          federateHostName == rhs.federateHostName && 
00080          federateHandle == rhs.federateHandle && 
00081          federateHost == rhs.federateHost && 
00082          hlaVersion == rhs.hlaVersion &&
00083          federateWebServerHost == rhs.federateWebServerHost && 
00084          federateWebServerPort == rhs.federateWebServerPort && 
00085          testEnabled == rhs.testEnabled &&
00086          testInProgress == rhs.testInProgress &&
00087          continuousTest == rhs.continuousTest &&
00088          numInitiatedTests == rhs.numInitiatedTests &&
00089          numTestReports == rhs.numTestReports &&
00090          isReconnecting == rhs.isReconnecting && 
00091          isDisconnected == rhs.isDisconnected && 
00092          isRegulating == rhs.isRegulating && 
00093          isConstrained == rhs.isConstrained && lbtsString == rhs.lbtsString &&
00094          lookAheadString == rhs.lookAheadString && timeString == rhs.timeString );
00095    }
00096    bool operator!=(const DtFederateTimeStateInfo& rhs) const
00097    {
00098       return !(*this == rhs);
00099    }
00100 
00101       unsigned long connId;
00102       MAKRti::DtString   federateType;
00103       MAKRti::DtString   federateName;
00104       MAKRti::DtString   federateHostName;
00105       int        federateHandle;
00106       MAKRti::DtInetAddr federateHost;
00107       DtHlaVersionId hlaVersion;
00108       MAKRti::DtInetAddr federateWebServerHost;
00109       int        federateWebServerPort;
00110 
00111       bool     testEnabled;
00112       bool     testInProgress;
00113       bool     continuousTest;
00114       unsigned numInitiatedTests;
00115       unsigned numTestReports;
00116 
00117       bool isReconnecting;
00118       bool isDisconnected;
00119 
00120       bool isRegulating;
00121       bool isConstrained;
00122 
00123       MAKRti::DtString lbtsString;
00124       MAKRti::DtString lookAheadString;
00125       MAKRti::DtString timeString;
00126 
00127       bool heartbeated;
00128 };
00129 
00130 // Related typedefs
00131 typedef std::map< int, DtFederateTimeStateInfo > DtFederateStateByHandleMap;
00132 typedef std::pair< std::set< int >, std::set< int > > DtPendingAchievedPair;
00133 typedef std::map< MAKRti::DtString, DtPendingAchievedPair > DtSyncPtToAchievedFederatesMap;
00134 struct DtFederationStateInfo
00135 {
00136    DtFederationInfo federationInfo;
00137    DtFederateStateByHandleMap federates;
00138    DtSyncPtToAchievedFederatesMap syncPts;
00139    std::map< int, int > localFederates; // handles and component IDs
00140    bool heartbeated;
00141 };
00142 typedef std::map< MAKRti::DtString, DtFederationStateInfo > DtFederationStateByNameMap;
00143 typedef std::map< int, MAKRti::DtString > DtFederationNameByHandleMap;
00144 
00145 
00146 #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)