![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: connQueryMgr.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef connQueryMgr_H_ 00010 #define connQueryMgr_H_ 00011 00014 00015 #include "rtiMsConfig.h" 00016 #include "assistantMsgQueue.h" 00017 #include "componentMgr.h" 00018 #include <qobject.h> 00019 #include <vlutil/vlSmartPointers.h> 00020 00021 class DtRtiAssistantServer; 00022 class DtRtiAssistantPeer; 00023 class DtRtiConnectionAndConfiguration; 00024 class DtConnectionCache; 00025 class DtAssistantRtiexecConnQueryDialog; 00026 class DtAssistantRtiForwarderConnQueryDialog; 00027 class DtAssistantLrcConnQueryDialog; 00028 class DtAssistantConnQueryWidget; 00029 class DtAssistantConnConfigWidget; 00030 class DtAssistantNoInterfacesFoundDialog; 00031 class DtAssistantInfo; 00032 class DtAssistantConnQueryMsg; 00033 class DtAssistantConnectionInfoMgr; 00034 class DtAssistantFederationsInfoMgr; 00035 class QSignalMapper; 00036 00040 class DT_DLL_ASSISTANTAPP DtAssistantConnQueryMgr : public DtAssistantMgr 00041 { 00042 Q_OBJECT 00043 00044 public: 00045 00047 DtAssistantConnQueryMgr( DtBoost::shared_ptr<DtRtiAssistantServer> server, 00048 DtBoost::shared_ptr<DtRtiAssistantPeer> peer, 00049 DtBoost::shared_ptr<DtAssistantPreferencesInfoMgr> prefMgr, 00050 DtBoost::shared_ptr<DtAssistantComponentMgr> compMgr, 00051 DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> connInfoMgr, 00052 DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> fedInfoMgr ); 00053 00055 virtual ~DtAssistantConnQueryMgr(); 00056 00057 private: 00058 00060 DtAssistantConnQueryMgr(DtAssistantConnQueryMgr const& ); 00061 00063 DtAssistantConnQueryMgr& operator= (DtAssistantConnQueryMgr const& ); 00064 00065 public: 00066 00068 virtual void tick(); 00069 00072 virtual void configWidget( DtAssistantConfigWidget** widget, QIcon& icon, QString& name ); 00073 00075 virtual void updateConfigWidget(); 00076 00078 virtual void processConfigWidgetAccept(); 00079 00083 virtual bool updateConfigFromWidgetResults( DtRtiConnectionInfoDataPair& connInfo, 00084 DtRtiConnectionConfigurationInfo& config, DtAssistantConnQueryWidget* widget ); 00085 00089 virtual void updateConnQueryWidget( DtAssistantConnQueryWidget* widget, 00090 bool preserveSelection ); 00091 00092 protected: 00093 00096 00097 00102 static void addConnQueryMsgToQueue( const DtAssistantConnQueryMsg& msg, void* usr); 00103 00105 virtual void addConnQueryMsgToQueue( const DtAssistantConnQueryMsg& msg ); 00106 00108 static void processConnQueryMsg(const DtAssistantConnQueryMsg& msg, void* usr); 00109 00111 virtual void processConnQueryMsg(const DtAssistantConnQueryMsg& msg); 00112 00114 00118 virtual bool checkForInterfaces(); 00119 00121 void processConnQueryResults( QWidget* widget, bool accepted ); 00122 00124 virtual void processUserAddedConnections( const DtRtiConnectionAndConfiguration& conns ); 00125 00127 virtual void processUserRemovedConnections( const DtRtiConnectionAndConfiguration& conns ); 00128 00130 virtual void addToAllConnQuery( const DtRtiConnectionAndConfiguration& conns ); 00131 00133 virtual void removeFromAllConnQuery( const DtRtiConnectionAndConfiguration& conns ); 00134 00137 void setChosenConnection( const DtRtiConnectionInfo& conn, 00138 const DtRtiConnectionConfigurationInfo& config ); 00139 00142 void clearChosenConnection(); 00143 00144 public slots: 00145 00148 void processConnectionsUpdate( const DtRtiConnectionAndConfiguration& conns ); 00149 00151 void processConnectionsRemoval( const DtRtiConnectionAndConfiguration& conns ); 00152 00154 void processAssistantFound( const DtAssistantInfo& assistant ); 00155 00157 void processAssistantLost( const DtAssistantInfo& assistant ); 00158 00160 void processConnQueryAccepted( QWidget* widget ); 00161 00163 void processConnQueryRejected( QWidget* widget ); 00164 00166 void startRtiexec( const DtRtiConnectionInfoDataPair&, const DtRtiConnectionConfigurationInfo& ); 00167 00169 void addProhibitedPort( int port, const MAKRti::DtString& reason ); 00170 00172 void removeProhibitedPort( int port ); 00173 00175 void closeConnQueryDialog( int id ); 00176 00178 void enableLoopbackDevice( bool val ); 00179 00182 void processNewUserAddedConnection( const DtRtiConnectionInfoDataPair&, 00183 DtAssistantConnQueryWidget* ); 00184 00187 void checkForConflictingUnsavedConns( DtAssistantConnQueryWidget* widget ); 00188 00191 void setStartRtiexecEnableBasedOnConn( const DtRtiConnectionInfoDataPair& ); 00192 00193 protected: 00194 00198 DtAssistantMsgQueue myConnQueryMsgQueue; 00199 00201 DtBoost::shared_ptr<DtAssistantPreferencesInfoMgr> myPrefMgr; 00202 00204 DtBoost::shared_ptr<DtAssistantComponentMgr> myCompMgr; 00205 00207 DtBoost::shared_ptr<DtAssistantConnectionInfoMgr> myConnInfoMgr; 00208 00210 DtBoost::shared_ptr<DtAssistantFederationsInfoMgr> myFedInfoMgr; 00211 00213 DtClock myClock; 00214 00216 DtAssistantLrcConnQueryDialog* myLrcConnQueryDlg; 00217 00219 DtAssistantRtiexecConnQueryDialog* myRtiexecOrForwarderConnQueryDlg; 00220 00223 DtAssistantConnConfigWidget* myConnConfigWidget; 00224 00226 DtAssistantNoInterfacesFoundDialog* myNoInterfacesFoundDialog; 00227 00229 00230 QSignalMapper* myConnQueryAcceptedMapper; 00231 QSignalMapper* myConnQueryRejectedMapper; 00233 00236 bool myLoopbackEnabled; 00237 00240 std::set< int > myCompsConnectingWithChosen; 00241 }; 00242 00243 #endif