![]() |
MAK RTIspy API Documentation for HLA 1.3
|
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