1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 03:10:12 +02:00

Revert "Completely rip TomahawkSettings out of proxy code"

This reverts commit 36ef3a4420.

Conflicts:
	src/libtomahawk/utils/NetworkAccessManager.cpp
This commit is contained in:
Dominik Schmidt
2013-07-16 17:28:39 +02:00
parent 50de3c029d
commit 154ee5c70a
5 changed files with 18 additions and 157 deletions

View File

@@ -23,12 +23,15 @@
#include "NetworkProxyFactory.h" #include "NetworkProxyFactory.h"
#include "utils/Logger.h" #include "utils/Logger.h"
// TODO: get rid of this here!
#include "TomahawkSettings.h"
#include <QMutex> #include <QMutex>
#include <QStringList> #include <QStringList>
#include <QThread> #include <QThread>
#include <QCoreApplication> #include <QCoreApplication>
#include <QNetworkConfiguration> #include <QNetworkConfiguration>
#include <QNetworkAccessManager>
namespace Tomahawk namespace Tomahawk
{ {
@@ -54,7 +57,7 @@ NetworkProxyFactory::queryProxy( const QNetworkProxyQuery& query )
s_noProxyHostsMutex.lock(); s_noProxyHostsMutex.lock();
if ( !hostname.isEmpty() && s_noProxyHosts.contains( hostname ) ) if ( !hostname.isEmpty() && s_noProxyHosts.contains( hostname ) )
proxies << QNetworkProxy::NoProxy << systemProxyForQuery( query ); proxies << QNetworkProxy::NoProxy << systemProxyForQuery( query );
else if ( m_proxy.hostName().isEmpty() || proxyType() == QNetworkProxy::NoProxy ) else if ( m_proxy.hostName().isEmpty() || TomahawkSettings::instance()->proxyType() == QNetworkProxy::NoProxy )
proxies << systemProxyForQuery( query ); proxies << systemProxyForQuery( query );
else else
proxies << m_proxy << systemProxyForQuery( query ); proxies << m_proxy << systemProxyForQuery( query );
@@ -84,7 +87,7 @@ NetworkProxyFactory::setNoProxyHosts( const QStringList& hosts )
void void
NetworkProxyFactory::setProxy( const QNetworkProxy& proxy, bool useProxyDns ) NetworkProxyFactory::setProxy( const QNetworkProxy& proxy )
{ {
m_proxyChanged = false; m_proxyChanged = false;
if ( m_proxy != proxy ) if ( m_proxy != proxy )
@@ -94,12 +97,12 @@ NetworkProxyFactory::setProxy( const QNetworkProxy& proxy, bool useProxyDns )
QFlags< QNetworkProxy::Capability > proxyCaps; QFlags< QNetworkProxy::Capability > proxyCaps;
proxyCaps |= QNetworkProxy::TunnelingCapability; proxyCaps |= QNetworkProxy::TunnelingCapability;
proxyCaps |= QNetworkProxy::ListeningCapability; proxyCaps |= QNetworkProxy::ListeningCapability;
if ( useProxyDns ) if ( TomahawkSettings::instance()->proxyDns() )
proxyCaps |= QNetworkProxy::HostNameLookupCapability; proxyCaps |= QNetworkProxy::HostNameLookupCapability;
m_proxy.setCapabilities( proxyCaps ); m_proxy.setCapabilities( proxyCaps );
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Proxy using host" << proxy.hostName() << "and port" << proxy.port(); tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Proxy using host" << proxy.hostName() << "and port" << proxy.port();
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "setting proxy to use proxy DNS?" << useProxyDns; tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "setting proxy to use proxy DNS?" << (TomahawkSettings::instance()->proxyDns() ? "true" : "false");
} }
@@ -239,25 +242,25 @@ setNam( QNetworkAccessManager* nam, bool noMutexLocker )
{ {
tDebug( LOGVERBOSE ) << "creating initial gui thread (" << QCoreApplication::instance()->thread() << ") nam"; tDebug( LOGVERBOSE ) << "creating initial gui thread (" << QCoreApplication::instance()->thread() << ") nam";
// Should only get here on first initialization of the nam // Should only get here on first initialization of the nam
TomahawkSettings *s = TomahawkSettings::instance();
NetworkProxyFactory* proxyFactory = new NetworkProxyFactory(); NetworkProxyFactory* proxyFactory = new NetworkProxyFactory();
if ( proxyType() != QNetworkProxy::NoProxy && !proxyHost().isEmpty() ) if ( s->proxyType() != QNetworkProxy::NoProxy && !s->proxyHost().isEmpty() )
{ {
tDebug( LOGVERBOSE ) << "Setting proxy to saved values"; tDebug( LOGVERBOSE ) << "Setting proxy to saved values";
QNetworkProxy proxy( proxyType(), proxyHost(), proxyPort(), proxyUsername(), proxyPassword() ); QNetworkProxy proxy( s->proxyType(), s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() );
proxyFactory->setProxy( proxy, proxyDns() ); proxyFactory->setProxy( proxy );
//FIXME: Jreen is broke without this //FIXME: Jreen is broke without this
//QNetworkProxy::setApplicationProxy( proxy ); //QNetworkProxy::setApplicationProxy( proxy );
s_noProxyHostsMutex.lock(); s_noProxyHostsMutex.lock();
if ( !proxyNoProxyHosts().isEmpty() && s_noProxyHosts.isEmpty() ) if ( !s->proxyNoProxyHosts().isEmpty() && s_noProxyHosts.isEmpty() )
{ {
s_noProxyHostsMutex.unlock(); s_noProxyHostsMutex.unlock();
proxyFactory->setNoProxyHosts( proxyNoProxyHosts().split( ',', QString::SkipEmptyParts ) ); proxyFactory->setNoProxyHosts( s->proxyNoProxyHosts().split( ',', QString::SkipEmptyParts ) );
} }
else else
s_noProxyHostsMutex.unlock(); s_noProxyHostsMutex.unlock();
} }
QNetworkProxyFactory::setApplicationProxyFactory( proxyFactory ); QNetworkProxyFactory::setApplicationProxyFactory( proxyFactory );
nam->setProxyFactory( proxyFactory ); nam->setProxyFactory( proxyFactory );
s_threadNamHash[ QThread::currentThread() ] = nam; s_threadNamHash[ QThread::currentThread() ] = nam;
@@ -271,112 +274,5 @@ setNam( QNetworkAccessManager* nam, bool noMutexLocker )
setProxyFactory( dynamic_cast< NetworkProxyFactory* >( nam->proxyFactory() ), true ); setProxyFactory( dynamic_cast< NetworkProxyFactory* >( nam->proxyFactory() ), true );
} }
static bool s_proxyDns;
static QNetworkProxy::ProxyType s_proxyType;
static QString s_proxyHost;
static int s_proxyPort;
static QString s_proxyUsername;
static QString s_proxyPassword;
static QString s_proxyNoProxyHosts;
QString
proxyHost()
{
return s_proxyHost;
}
void
setProxyHost( const QString& host )
{
s_proxyHost = host;
}
QString
proxyNoProxyHosts()
{
return s_proxyNoProxyHosts;
}
void
setProxyNoProxyHosts( const QString& hosts )
{
s_proxyNoProxyHosts = hosts;
}
qulonglong
proxyPort()
{
return s_proxyPort;
}
void
setProxyPort( const qulonglong port )
{
s_proxyPort = port;
}
QString
proxyUsername()
{
return s_proxyUsername;
}
void
setProxyUsername( const QString& username )
{
s_proxyUsername = username;
}
QString
proxyPassword()
{
return s_proxyPassword;
}
void
setProxyPassword( const QString& password )
{
s_proxyPassword = password;
}
QNetworkProxy::ProxyType
proxyType()
{
return s_proxyType;
}
void
setProxyType( const QNetworkProxy::ProxyType type )
{
s_proxyType = type;
}
bool
proxyDns()
{
return s_proxyDns;
}
void
setProxyDns( bool proxyDns )
{
s_proxyDns = proxyDns;
}
} }
} }

View File

@@ -22,9 +22,6 @@
#ifndef TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H #ifndef TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H
#define TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H #define TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H
#include <QNetworkProxy>
#include "DllMacro.h" #include "DllMacro.h"
class QNetworkAccessManager; class QNetworkAccessManager;
@@ -35,28 +32,6 @@ namespace Utils
{ {
DLLEXPORT QNetworkAccessManager* nam(); DLLEXPORT QNetworkAccessManager* nam();
DLLEXPORT void setNam( QNetworkAccessManager* nam, bool noMutexLocker = false ); DLLEXPORT void setNam( QNetworkAccessManager* nam, bool noMutexLocker = false );
// Proxy settings
DLLEXPORT bool proxyDns();
DLLEXPORT void setProxyDns( bool proxyDns );
DLLEXPORT QNetworkProxy::ProxyType proxyType();
DLLEXPORT void setProxyType( QNetworkProxy::ProxyType proxyType );
DLLEXPORT QString proxyHost();
DLLEXPORT void setProxyHost( const QString& proxyHost );
DLLEXPORT qulonglong proxyPort();
DLLEXPORT void setProxyPort( qulonglong proxyPort );
DLLEXPORT QString proxyUsername();
DLLEXPORT void setProxyUsername( const QString& proxyUsername );
DLLEXPORT QString proxyPassword();
DLLEXPORT void setProxyPassword( const QString& proxyPassword );
DLLEXPORT QString proxyNoProxyHosts();
DLLEXPORT void setProxyNoProxyHosts( const QString& proxyNoProxyHosts );
} }
} }

View File

@@ -46,7 +46,7 @@ namespace Utils
virtual void setNoProxyHosts( const QStringList &hosts ); virtual void setNoProxyHosts( const QStringList &hosts );
virtual QStringList noProxyHosts() const { return m_noProxyHosts; } virtual QStringList noProxyHosts() const { return m_noProxyHosts; }
virtual void setProxy( const QNetworkProxy &proxy, bool useProxyDns ); virtual void setProxy( const QNetworkProxy &proxy );
virtual QNetworkProxy proxy() { return m_proxy; } virtual QNetworkProxy proxy() { return m_proxy; }
virtual NetworkProxyFactory& operator=( const NetworkProxyFactory &rhs ); virtual NetworkProxyFactory& operator=( const NetworkProxyFactory &rhs );

View File

@@ -296,12 +296,12 @@ SettingsDialog::saveSettings()
if ( !m_advancedWidgetUi->enableProxyCheckBox->isChecked() ) if ( !m_advancedWidgetUi->enableProxyCheckBox->isChecked() )
{ {
tDebug() << Q_FUNC_INFO << "Got NoProxy selected"; tDebug() << Q_FUNC_INFO << "Got NoProxy selected";
proxyFactory->setProxy( QNetworkProxy::NoProxy, s->proxyDns() ); proxyFactory->setProxy( QNetworkProxy::NoProxy );
} }
else else
{ {
tDebug() << Q_FUNC_INFO << "Got Socks5Proxy selected"; tDebug() << Q_FUNC_INFO << "Got Socks5Proxy selected";
proxyFactory->setProxy( QNetworkProxy( QNetworkProxy::Socks5Proxy, s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() ), s->proxyDns() ); proxyFactory->setProxy( QNetworkProxy( QNetworkProxy::Socks5Proxy, s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() ) );
if ( !s->proxyNoProxyHosts().isEmpty() ) if ( !s->proxyNoProxyHosts().isEmpty() )
{ {
tDebug() << Q_FUNC_INFO << "noproxy hosts:" << s->proxyNoProxyHosts(); tDebug() << Q_FUNC_INFO << "noproxy hosts:" << s->proxyNoProxyHosts();

View File

@@ -198,16 +198,6 @@ TomahawkApp::init()
new ACLRegistryImpl( this ); new ACLRegistryImpl( this );
tDebug( LOGINFO ) << "Setting NAM."; tDebug( LOGINFO ) << "Setting NAM.";
TomahawkSettings *s = TomahawkSettings::instance();
Tomahawk::Utils::setProxyDns( s->proxyDns() );
Tomahawk::Utils::setProxyType( s->proxyType() );
Tomahawk::Utils::setProxyHost( s->proxyHost() );
Tomahawk::Utils::setProxyPort( s->proxyPort() );
Tomahawk::Utils::setProxyUsername( s->proxyUsername() );
Tomahawk::Utils::setProxyPassword( s->proxyPassword() );
Tomahawk::Utils::setProxyNoProxyHosts( s->proxyNoProxyHosts() );
// Cause the creation of the nam, but don't need to address it directly, so prevent warning // Cause the creation of the nam, but don't need to address it directly, so prevent warning
Q_UNUSED( Tomahawk::Utils::nam() ); Q_UNUSED( Tomahawk::Utils::nam() );