mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  * \class QgsNetworkAccessManager
 | |
|  * \brief network access manager for QGIS
 | |
|  * \ingroup core
 | |
|  * \since 1.5
 | |
|  *
 | |
|  * This class implements the QGIS network access manager.  It's a singleton
 | |
|  * that can be used across QGIS.
 | |
|  *
 | |
|  * Plugins can insert proxy factories and thereby redirect requests to
 | |
|  * individual proxies.
 | |
|  *
 | |
|  * If no proxy factories are there or none returns a proxy for an URL a
 | |
|  * fallback proxy can be set.  There's also a exclude list that defines URLs
 | |
|  * that the fallback proxy should not be used for, then no proxy will be used.
 | |
|  *
 | |
|  */
 | |
| class QgsNetworkAccessManager : QNetworkAccessManager
 | |
| {
 | |
| %TypeHeaderCode
 | |
| #include <qgsnetworkaccessmanager.h>
 | |
| %End
 | |
| 
 | |
|   public:
 | |
|     //! returns a pointer to the single instance
 | |
|     // and creates that instance on the first call.
 | |
|     static QgsNetworkAccessManager *instance();
 | |
| 
 | |
|     //! destructor
 | |
|     ~QgsNetworkAccessManager();
 | |
| 
 | |
|     //! insert a factory into the proxy factories list
 | |
|     void insertProxyFactory( QNetworkProxyFactory *factory /Transfer/ );
 | |
| 
 | |
|     //! remove a factory from the proxy factories list
 | |
|     void removeProxyFactory( QNetworkProxyFactory *factory /TransferBack/ );
 | |
| 
 | |
|     //! retrieve proxy factory list
 | |
|     const QList<QNetworkProxyFactory *> proxyFactories() const;
 | |
| 
 | |
|     //! retrieve fall back proxy (for urls that no factory returned proxies for)
 | |
|     const QNetworkProxy &fallbackProxy() const;
 | |
| 
 | |
|     //! retrieve exclude list (urls shouldn't use the fallback proxy)
 | |
|     QStringList excludeList() const;
 | |
| 
 | |
|     //! set fallback proxy and URL that shouldn't use it.
 | |
|     void setFallbackProxyAndExcludes( const QNetworkProxy &proxy, const QStringList &excludes );
 | |
| 
 | |
|     //! Get name for QNetworkRequest::CacheLoadControl
 | |
|     static QString cacheLoadControlName( QNetworkRequest::CacheLoadControl control );
 | |
| 
 | |
|     //! Get QNetworkRequest::CacheLoadControl from name
 | |
|     static QNetworkRequest::CacheLoadControl cacheLoadControlFromName( const QString &name );
 | |
| 
 | |
|     //! Setup the NAM according to the user's settings #spellok
 | |
|     void setupDefaultProxyAndCache();
 | |
| 
 | |
|     //! return whether the system proxy should be used
 | |
|     bool useSystemProxy() const;
 | |
| 
 | |
|   signals:
 | |
|     void requestAboutToBeCreated( QNetworkAccessManager::Operation, const QNetworkRequest &, QIODevice * );
 | |
|     void requestCreated( QNetworkReply * );
 | |
|     void requestTimedOut( QNetworkReply * );
 | |
| 
 | |
|   protected:
 | |
|     virtual QNetworkReply *createRequest( QNetworkAccessManager::Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0 );
 | |
| 
 | |
|   private:
 | |
|     QgsNetworkAccessManager( QObject *parent = 0 );
 | |
| };
 |