![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rtiAssistantForwarderClient.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef rtiAssistantForwarderClient_H_ 00010 #define rtiAssistantForwarderClient_H_ 00011 00015 00016 #include "rtiVersion.h" 00017 #include "rtiAssistantClient.h" 00018 #include "assistantConnectionInfo.h" 00019 00020 00021 struct DtNameAndConnStatus 00022 { 00023 MAKRti::DtString name; 00024 bool isConnected; 00025 }; 00026 typedef std::map<DtInetAddrAndPort, DtNameAndConnStatus> DtNeededFwConnMap; 00027 00034 class DT_DLL_ASSISTANT DtRtiAssistantForwarderClient : public DtRtiAssistantClient 00035 { 00036 public: 00037 00039 DtRtiAssistantForwarderClient( DtAssistantComponentType type, 00040 int port = DtASSISTANT_DEFAULT_PORT ); 00041 00043 virtual ~DtRtiAssistantForwarderClient(); 00044 00048 virtual void updateForwarderInfo( const MAKRti::DtInetAddr& reliableIpAddr, 00049 const MAKRti::DtInetAddr& bestEffortIpAddr, int udpPort, int tcpPort, 00050 bool fullCompliance, int forwarderPort, 00051 const MAKRti::DtInetAddr& additionalForwarder ); 00052 00057 virtual void updateExecConfirmed( bool confirmed, bool fullyCompliant ); 00058 00060 virtual void sendClientInfo(); 00061 00063 virtual void sendFullForwarderInfo(unsigned int numForwarderToForwarderConns, 00064 const std::vector<MAKRti::DtString>& forwarderIdentifiers, 00065 const std::vector<MAKRti::DtString>& forwarderConnectionHostNames, 00066 const std::vector<MAKRti::DtInetAddr>& forwarderConnectionAddrs, 00067 const std::vector<int>& forwarderConnectionPorts, 00068 unsigned int numForwarderExecConns, 00069 unsigned int numForwarderClientConns, 00070 const std::vector<MAKRti::DtString>& clientConnectionNames, 00071 const std::vector<MAKRti::DtString>& clientConnectionTypeNames, 00072 const std::vector<DtString>& clientConnectionProcessNames, 00073 const std::vector<DtString>& clientConnectionPIDs, 00074 const std::vector<DtString>& clientConnectionCommandArgs, 00075 const std::vector<MAKRti::DtString>& clientConnectionHostNames, 00076 const std::vector<MAKRti::DtInetAddr>& clientConnectionAddrs, 00077 const std::vector<MAKRti::DtString>& clientConnectionFederationNames, 00078 const std::vector<int>& clientConnectionHandles, 00079 const std::vector<int>& clientConnectionQueueStatus, 00080 const std::vector<DtHlaVersionId>& clientHlaVersions ); 00081 00084 virtual void sendWaitingForForwarders(bool isWaiting, const DtNeededFwConnMap& neededFws); 00085 00086 protected: 00087 00089 MAKRti::DtInetAddr myReliableAddr; 00090 00092 MAKRti::DtInetAddr myBestEffortAddr; 00093 00095 int myTcpPort; 00096 00098 int myUdpPort; 00099 00101 MAKRti::DtString myHostName; 00102 00104 bool myFullCompliance; 00105 00107 int myForwarderPort; 00108 00111 MAKRti::DtInetAddr myAdditionalForwarder; 00112 00115 bool myExecConfirmed; 00116 00117 }; 00118 00119 00120 #endif