MAK RTIspy API Documentation for HLA 1.3
connQueryMgr.h
Go to the documentation of this file.
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

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)