From 0477be354f65902eb805bef20e6863134e0566d7 Mon Sep 17 00:00:00 2001 From: Bernd Wachter Date: Fri, 5 Jul 2013 18:00:20 +0300 Subject: [PATCH] Move repo filter definition to repo manager --- libssu/ssudeviceinfo.cpp | 11 ++++++++--- libssu/ssudeviceinfo.h | 10 ++-------- libssu/ssurepomanager.cpp | 1 - libssu/ssurepomanager.h | 10 ++++++++++ rndssucli/rndssucli.cpp | 8 ++++---- ssuks/ssukickstarter.cpp | 2 +- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/libssu/ssudeviceinfo.cpp b/libssu/ssudeviceinfo.cpp index 5fd5ee9..86a71b9 100644 --- a/libssu/ssudeviceinfo.cpp +++ b/libssu/ssudeviceinfo.cpp @@ -316,7 +316,9 @@ QStringList SsuDeviceInfo::repos(bool rnd, int filter){ int adaptationCount = adaptationRepos().size(); QStringList result; - if (filter == NoFilter || filter == BoardFilter || filter == BoardFilterUserBlacklist){ + if (filter == SsuRepoManager::NoFilter || + filter == SsuRepoManager::BoardFilter || + filter == SsuRepoManager::BoardFilterUserBlacklist){ // for repo names we have adaptation0, adaptation1, ..., adaptationN for (int i=0; ibeginGroup("repository-urls"); result.append(ssuSettings->allKeys()); ssuSettings->endGroup(); @@ -353,7 +356,9 @@ QStringList SsuDeviceInfo::repos(bool rnd, int filter){ result.append(ssuSettings->value("enabled-repos").toStringList()); } - if (filter == NoFilter || filter == UserFilter || filter == BoardFilterUserBlacklist){ + if (filter == SsuRepoManager::NoFilter || + filter == SsuRepoManager::UserFilter || + filter == SsuRepoManager::BoardFilterUserBlacklist){ // read the disabled repositories from user configuration if (ssuSettings->contains("disabled-repos")){ foreach (const QString &key, ssuSettings->value("disabled-repos").toStringList()) diff --git a/libssu/ssudeviceinfo.h b/libssu/ssudeviceinfo.h index b7b8d0e..95b1faa 100644 --- a/libssu/ssudeviceinfo.h +++ b/libssu/ssudeviceinfo.h @@ -11,18 +11,12 @@ #include #include "ssusettings.h" +#include "ssurepomanager.h" class SsuDeviceInfo: public QObject { Q_OBJECT public: - enum RepoFilter { - NoFilter, - UserFilter, - BoardFilter, - BoardFilterUserBlacklist - }; - /** * Initialize with device to override autodetection */ @@ -74,7 +68,7 @@ class SsuDeviceInfo: public QObject { * only board-specific, or only user-specific are returned. * Disabled repositories are excluded depending on filter settings. */ - QStringList repos(bool rnd=false, int filter=NoFilter); + QStringList repos(bool rnd=false, int filter=SsuRepoManager::NoFilter); /** * Override device model autodetection */ diff --git a/libssu/ssurepomanager.cpp b/libssu/ssurepomanager.cpp index d261d10..524032f 100644 --- a/libssu/ssurepomanager.cpp +++ b/libssu/ssurepomanager.cpp @@ -238,7 +238,6 @@ QString SsuRepoManager::url(QString repoName, bool rndRepo, QString r; QStringList configSections; SsuVariables var; - SsuLog *ssuLog = SsuLog::instance(); SsuCoreConfig *settings = SsuCoreConfig::instance(); SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat); SsuDeviceInfo deviceInfo; diff --git a/libssu/ssurepomanager.h b/libssu/ssurepomanager.h index a1e577c..2ec215d 100644 --- a/libssu/ssurepomanager.h +++ b/libssu/ssurepomanager.h @@ -15,6 +15,16 @@ class SsuRepoManager: public QObject { Q_OBJECT public: + /** + * Filters to control the output of the repository lookup methods + */ + enum RepoFilter { + NoFilter, ///< All repositories (global + user) + UserFilter, ///< Only user configured repositories + BoardFilter, ///< Only global repositories, with user blacklist ignored + BoardFilterUserBlacklist ///< Only global repositories, with user blacklist applied + }; + SsuRepoManager(); /** * Add a repository. Note: Repositories ending with -debuginfo receive special diff --git a/rndssucli/rndssucli.cpp b/rndssucli/rndssucli.cpp index 4f80a6d..3bfcedb 100644 --- a/rndssucli/rndssucli.cpp +++ b/rndssucli/rndssucli.cpp @@ -318,7 +318,7 @@ void RndSsuCli::optRepos(QStringList opt){ // micMode? handle it and return, as it's a lot simpler than full mode if (micMode){ - repos = deviceInfo.repos(rndRepo, SsuDeviceInfo::BoardFilter); + repos = deviceInfo.repos(rndRepo, SsuRepoManager::BoardFilter); foreach (const QString &repo, repos){ QString repoName = repo; if (repo.endsWith("-debuginfo")){ @@ -338,10 +338,10 @@ void RndSsuCli::optRepos(QStringList opt){ } if (device.isEmpty()) - repos = deviceInfo.repos(rndRepo, SsuDeviceInfo::BoardFilterUserBlacklist); + repos = deviceInfo.repos(rndRepo, SsuRepoManager::BoardFilterUserBlacklist); else { qout << "Printing repository configuration for '" << device << "'" << endl << endl; - repos = deviceInfo.repos(rndRepo, SsuDeviceInfo::BoardFilter); + repos = deviceInfo.repos(rndRepo, SsuRepoManager::BoardFilter); } SsuCoreConfig *ssuSettings = SsuCoreConfig::instance(); @@ -373,7 +373,7 @@ void RndSsuCli::optRepos(QStringList opt){ repos.clear(); continue; } - repos = deviceInfo.repos(rndRepo, SsuDeviceInfo::UserFilter); + repos = deviceInfo.repos(rndRepo, SsuRepoManager::UserFilter); qout << endl << "Enabled repositories (user): " << endl; } else if (i==1){ repos = deviceInfo.disabledRepos(); diff --git a/ssuks/ssukickstarter.cpp b/ssuks/ssukickstarter.cpp index b6f848b..abe0a16 100644 --- a/ssuks/ssukickstarter.cpp +++ b/ssuks/ssukickstarter.cpp @@ -100,7 +100,7 @@ QStringList SsuKickstarter::repos(){ QStringList result; SsuDeviceInfo deviceInfo(deviceModel); - QStringList repos = deviceInfo.repos(rndMode, SsuDeviceInfo::BoardFilter); + QStringList repos = deviceInfo.repos(rndMode, SsuRepoManager::BoardFilter); foreach (const QString &repo, repos){ QString repoUrl = ssu.repoUrl(repo, rndMode, QHash(), repoOverride);