From 1e13e6b2a605fa7a17d5212caddab9aa5c601396 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Tue, 10 Sep 2013 14:14:18 +0200 Subject: [PATCH] Fetch serviceName from LocalConfigStorage. --- .../accounts/CredentialsManager.cpp | 12 ++++++---- .../accounts/LocalConfigStorage.cpp | 22 +++++++++++++------ src/libtomahawk/accounts/LocalConfigStorage.h | 5 ++++- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/libtomahawk/accounts/CredentialsManager.cpp b/src/libtomahawk/accounts/CredentialsManager.cpp index 570536ef4..d4316fb14 100644 --- a/src/libtomahawk/accounts/CredentialsManager.cpp +++ b/src/libtomahawk/accounts/CredentialsManager.cpp @@ -18,6 +18,10 @@ #include "CredentialsManager.h" +#ifdef Q_OS_MAC +#include "LocalConfigStorage.h" +#endif + #include "utils/Logger.h" #include @@ -94,7 +98,7 @@ CredentialsManager::loadCredentials( const QString &service ) // Therefore, we make sure that our LocalConfigStorage stores everything // into a single key. #ifdef Q_OS_MAC - if ( service == "Tomahawk" ) //LocalConfigStorage::m_credentialsServiceName + if ( service == LocalConfigStorage::credentialsServiceName() ) { QKeychain::ReadPasswordJob* j = new QKeychain::ReadPasswordJob( service, this ); j->setKey( OSX_SINGLE_KEY ); @@ -184,7 +188,7 @@ CredentialsManager::setCredentials( const CredentialsStorageKey& csKey, const QV m_credentials.remove( csKey ); #ifdef Q_OS_MAC - if ( csKey.service() == "Tomahawk" ) + if ( csKey.service() == LocalConfigStorage::credentialsServiceName() ) { rewriteCredentialsOsx( csKey.service() ); return; @@ -207,7 +211,7 @@ CredentialsManager::setCredentials( const CredentialsStorageKey& csKey, const QV m_credentials.insert( csKey, value ); #ifdef Q_OS_MAC - if ( csKey.service() == "Tomahawk" ) + if ( csKey.service() == LocalConfigStorage::credentialsServiceName() ) { rewriteCredentialsOsx( csKey.service() ); return; @@ -262,7 +266,7 @@ CredentialsManager::setCredentials( const CredentialsStorageKey& csKey, const QV void CredentialsManager::rewriteCredentialsOsx( const QString& service ) { - if ( service != "Tomahawk" ) //always LocalConfigStorage::m_credentialsServiceName + if ( service != LocalConfigStorage::credentialsServiceName() ) return; QVariantMap everythingMap; diff --git a/src/libtomahawk/accounts/LocalConfigStorage.cpp b/src/libtomahawk/accounts/LocalConfigStorage.cpp index 73cbf79d3..11e375b11 100644 --- a/src/libtomahawk/accounts/LocalConfigStorage.cpp +++ b/src/libtomahawk/accounts/LocalConfigStorage.cpp @@ -29,10 +29,18 @@ namespace Tomahawk namespace Accounts { +const QString LocalConfigStorage::s_credentialsServiceName = "Tomahawk"; + +#ifdef Q_OS_MAC +QString +LocalConfigStorage::credentialsServiceName() +{ + return s_credentialsServiceName; +} +#endif LocalConfigStorage::LocalConfigStorage( QObject* parent ) : ConfigStorage( parent ) - , m_credentialsServiceName( "Tomahawk" ) { m_accountIds = TomahawkSettings::instance()->accounts(); } @@ -46,10 +54,10 @@ LocalConfigStorage::init() CredentialsManager* cm = AccountManager::instance()->credentialsManager(); connect( cm, SIGNAL( serviceReady( QString ) ), this, SLOT( onCredentialsManagerReady( QString ) ) ); - AccountManager::instance()->credentialsManager()->addService( m_credentialsServiceName, + AccountManager::instance()->credentialsManager()->addService( s_credentialsServiceName, m_accountIds ); - tDebug() << Q_FUNC_INFO << "LOADING ALL CREDENTIALS FOR SERVICE" << m_credentialsServiceName << m_accountIds; + tDebug() << Q_FUNC_INFO << "LOADING ALL CREDENTIALS FOR SERVICE" << s_credentialsServiceName << m_accountIds; } @@ -63,7 +71,7 @@ LocalConfigStorage::id() const void LocalConfigStorage::onCredentialsManagerReady( const QString& service ) { - if ( service != m_credentialsServiceName ) + if ( service != s_credentialsServiceName ) return; //no need to listen for it any more @@ -109,7 +117,7 @@ LocalConfigStorage::save( const QString& accountId, const Account::Configuration s->sync(); CredentialsManager* c = AccountManager::instance()->credentialsManager(); - c->setCredentials( m_credentialsServiceName, accountId, cfg.credentials ); + c->setCredentials( s_credentialsServiceName, accountId, cfg.credentials ); if ( !m_accountIds.contains( accountId ) ) m_accountIds.append( accountId ); @@ -129,7 +137,7 @@ LocalConfigStorage::load( const QString& accountId, Account::Configuration& cfg s->endGroup(); CredentialsManager* c = AccountManager::instance()->credentialsManager(); - QVariant credentials = c->credentials( m_credentialsServiceName, accountId ); + QVariant credentials = c->credentials( s_credentialsServiceName, accountId ); if ( credentials.type() == QVariant::Hash ) cfg.credentials = credentials.toHash(); } @@ -149,7 +157,7 @@ LocalConfigStorage::remove( const QString& accountId ) s->remove( "accounts/" + accountId ); CredentialsManager* c = AccountManager::instance()->credentialsManager(); - c->setCredentials( m_credentialsServiceName, accountId, QVariantHash() ); + c->setCredentials( s_credentialsServiceName, accountId, QVariantHash() ); } } diff --git a/src/libtomahawk/accounts/LocalConfigStorage.h b/src/libtomahawk/accounts/LocalConfigStorage.h index 9e65da8e3..a5e6b238c 100644 --- a/src/libtomahawk/accounts/LocalConfigStorage.h +++ b/src/libtomahawk/accounts/LocalConfigStorage.h @@ -47,12 +47,15 @@ public: virtual void load( const QString& accountId, Account::Configuration& cfg ) const; virtual void remove( const QString& accountId ); +#ifdef Q_OS_MAC + static QString credentialsServiceName(); +#endif private slots: void onCredentialsManagerReady( const QString& service ); private: - const QString m_credentialsServiceName; + static const QString s_credentialsServiceName; QStringList m_accountIds; static LocalConfigStorage* s_instance;