28 #if QT_VERSION >= 0x40500
29 class QgsNetworkProxyFactory :
public QNetworkProxyFactory
32 QgsNetworkProxyFactory() {}
33 virtual ~QgsNetworkProxyFactory() {}
35 virtual QList<QNetworkProxy> queryProxy(
const QNetworkProxyQuery & query = QNetworkProxyQuery() )
40 foreach( QNetworkProxyFactory *f, nam->proxyFactories() )
42 QList<QNetworkProxy> proxies = f->queryProxy( query );
43 if ( proxies.size() > 0 )
48 if ( query.queryType() != QNetworkProxyQuery::UrlRequest )
51 QString url = query.url().toString();
55 if ( url.startsWith( exclude ) )
57 QgsDebugMsg( QString(
"using default proxy for %1 [exclude %2]" ).arg( url ).arg( exclude ) );
58 return QList<QNetworkProxy>() << QNetworkProxy();
62 QgsDebugMsg( QString(
"using user proxy for %1" ).arg( url ) );
81 : QNetworkAccessManager( parent )
83 #if QT_VERSION >= 0x40500
84 setProxyFactory(
new QgsNetworkProxyFactory() );
92 #if QT_VERSION >= 0x40500
93 void QgsNetworkAccessManager::insertProxyFactory( QNetworkProxyFactory *factory )
95 mProxyFactories.insert( 0, factory );
98 void QgsNetworkAccessManager::removeProxyFactory( QNetworkProxyFactory *factory )
100 mProxyFactories.removeAll( factory );
103 const QList<QNetworkProxyFactory *> QgsNetworkAccessManager::proxyFactories()
const
105 return mProxyFactories;