ssu
Loading...
Searching...
No Matches
ssufeaturemanager.cpp
Go to the documentation of this file.
1
7
8#include <QStringList>
9#include <QRegExp>
10#include <QDirIterator>
11
12#include "ssudeviceinfo.h"
13#include "ssufeaturemanager.h"
14#include "ssucoreconfig_p.h"
15#include "ssulog_p.h"
16#include "ssuvariables_p.h"
17#include "ssu.h"
18
19#include "../constants.h"
20
21SsuFeatureManager::SsuFeatureManager()
22 : QObject()
23{
25}
26
27
28// @TODO - allow enabling/disabling features
29// - export feature file for mic through ssu-ks
30// - add feature header in ssu-ks
31//
32// all features have a list of repositories in the repos key
33// if there are enabled/disabled features, check the repos keys from all enabled features
34// and only enable the repositories from those
35QStringList SsuFeatureManager::repos(bool rndRepo, int filter)
36{
37 QStringList r;
38
39 if ((filter & Ssu::BoardFilter) == Ssu::BoardFilter) {
40 QString repoHeader = QString("repositories-%1/")
41 .arg(rndRepo ? "rnd" : "release");
42
43 // take the global groups
44 featureSettings->beginGroup("repositories");
45 r.append(featureSettings->allKeys());
46 featureSettings->endGroup();
47
48 // and override with rnd/release specific groups
49 featureSettings->beginGroup(repoHeader);
50 r.append(featureSettings->allKeys());
51 featureSettings->endGroup();
52
53 r.removeDuplicates();
54 }
55 return r;
56}
57
58QString SsuFeatureManager::url(const QString &repo, bool rndRepo)
59{
60 QString repoHeader = QString("repositories-%1/")
61 .arg(rndRepo ? "rnd" : "release");
62
63 if (featureSettings->contains(repoHeader + repo))
64 return featureSettings->value(repoHeader + repo).toString();
65 else if (featureSettings->contains("repositories/" + repo))
66 return featureSettings->value("repositories/" + repo).toString();
67
68 return QString();
69}
@ BoardFilter
Only global repositories.
Definition ssu.h:51
#define SSU_FEATURE_CONFIGURATION
Path to the main ssu configuration file.
Definition constants.h:31
#define SSU_FEATURE_CONFIGURATION_DIR
Path to the main ssu configuration file.
Definition constants.h:34