MAK RTIspy API Documentation for HLA 1.3
forwarderInfo.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: forwarderInfo.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtForwarderInfo_H_
00013 #define DtForwarderInfo_H_
00014 
00015 #include <rtiMsConfig.h>
00016 #include <map>
00017 #include <vlutil/vlString.h>
00018 #include <vlutil/vlInetAddr.h>
00019 #include <rtiVersion.h>
00020 #include <assistantForwarderStateMsg.h>
00021 
00023 class DT_DLL_ASSISTANTAPP DtAssistantNetworkCompInfo
00024 {
00025 public:
00026 
00028    DtAssistantNetworkCompInfo();
00029    DtAssistantNetworkCompInfo(const MAKRti::DtString& name);
00030    DtAssistantNetworkCompInfo(const DtAssistantNetworkCompInfo& orig);
00031 
00033    virtual ~DtAssistantNetworkCompInfo();
00034 
00036    virtual DtAssistantNetworkCompInfo& operator=(const DtAssistantNetworkCompInfo& other);
00037 
00039 
00040    MAKRti::DtString name() const { return myName; }
00041    void setName(const MAKRti::DtString& n) { myName = n; }
00042 
00043    MAKRti::DtInetAddr address() const { return myAddress; }
00044    void setAddress(const MAKRti::DtInetAddr& a) { myAddress = a; }
00045 
00046    MAKRti::DtString hostName() const { return myHostName; }
00047    void setHostName(const MAKRti::DtString& n) { myHostName = n; }
00048 
00049    MAKRti::DtString processName() const { return myProcessName; }
00050    void setProcessName(const MAKRti::DtString& n) { myProcessName = n; }
00051 
00052    MAKRti::DtString typeName() const { return myTypeName; }
00053    void setTypeName(const MAKRti::DtString& n) { myTypeName = n; }
00054 
00055    MAKRti::DtString commandArgs() const { return myCommandArgs; }
00056    void setCommandArgs(const MAKRti::DtString& a) { myCommandArgs = a; }
00057 
00058    MAKRti::DtString pid() const { return myPid; }
00059    void setPid(const MAKRti::DtString& p) { myPid = p; }
00060 
00061    MAKRti::DtString federationName() const { return myFederationName; }
00062    void setFederationName(const MAKRti::DtString& h) { myFederationName = h; }
00063 
00064    int federateHandle() const { return myFederateHandle; }
00065    void setFederateHandle(int h) { myFederateHandle = h; }
00066 
00067    int queueStatus() const { return myQueueStatus; }
00068    void setQueueStatus(int q) { myQueueStatus = q; }
00069 
00070    DtHlaVersionId hlaVersion() const { return myHlaVersion; }
00071    void setHlaVersion(DtHlaVersionId v) { myHlaVersion = v; }
00073 
00076    bool isValid() const { return !myAddress.isAnyAddr(); }
00077 
00078 protected:
00079 
00080    MAKRti::DtString myName;
00081    MAKRti::DtInetAddr myAddress;
00082    MAKRti::DtString myHostName;
00083    MAKRti::DtString myProcessName;
00084    MAKRti::DtString myTypeName;
00085    MAKRti::DtString myCommandArgs;
00086    MAKRti::DtString myPid;
00087    MAKRti::DtString myFederationName;
00088    int myFederateHandle;
00089    int myQueueStatus;
00090    DtHlaVersionId myHlaVersion;
00091 };
00092 
00093 typedef std::list<DtAssistantNetworkCompInfo> DtAssistantNetworkCompInfoList;
00094 
00096 class DT_DLL_ASSISTANTAPP DtAssistantForwarderInfo
00097 {
00098 
00099 public:
00100 
00102    DtAssistantForwarderInfo(bool isLocal);
00103 
00105    ~DtAssistantForwarderInfo();
00106 
00108    void updateFromStateMsg(const DtAssistantForwarderStateMsg& msg);
00109 
00112    const DtAssistantMsg* lastStateMsg() const { return myLastStateMessage; }
00113 
00115 
00116    typedef std::pair<MAKRti::DtString, int> DtFedexNameFedHdlPair;
00117    typedef std::map<DtFedexNameFedHdlPair, DtAssistantNetworkCompInfo> DtCompByFederationAndHandleMap;
00118    typedef std::map<MAKRti::DtString, DtAssistantNetworkCompInfo> DtPeerForwarderByIdMap;
00120 
00122 
00123    MAKRti::DtInetAddr address() const { return myAddr; }
00124    int port() const { return myPort; }
00125    MAKRti::DtString hostName() const;// { return myHostName; }
00126    const DtPeerForwarderByIdMap* peerForwarders() const { return &myPeerForwarders; }
00127    const DtAssistantNetworkCompInfo* rtiexecInfo() const { return &myRtiexec; }
00128    const DtAssistantNetworkCompInfo* federateInfo(
00129       const MAKRti::DtString& federation, int handle) const;
00130    const DtCompByFederationAndHandleMap* federates() const { return &myFederateConns; }
00131    const DtAssistantNetworkCompInfoList* unclassifiedConns() const { return &myUnclassifiedConns; }
00133 
00134 protected:
00135 
00137    MAKRti::DtInetAddr myAddr;
00138 
00140    int myPort;
00141 
00143    MAKRti::DtString myHostName;
00144 
00146    DtPeerForwarderByIdMap myPeerForwarders;
00147 
00149    DtAssistantNetworkCompInfo myRtiexec;
00150 
00153    DtCompByFederationAndHandleMap myFederateConns;
00154 
00157    std::list<DtAssistantNetworkCompInfo> myUnclassifiedConns;
00158 
00160    bool myIsLocal;
00161 
00163    DtAssistantMsg* myLastStateMessage;
00164 };
00165 
00166 
00167 #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)