26 #include "ssu_adaptor.h"
31 #include <QDBusConnection>
33 const char *Ssud::SERVICE_NAME =
"org.nemo.ssu";
34 const char *Ssud::OBJECT_PATH =
"/org/nemo/ssu";
36 Ssud::Ssud(QObject *parent)
39 qDBusRegisterMetaType<SsuRepo>();
40 qDBusRegisterMetaType<QList<SsuRepo>>();
41 QDBusConnection connection = QDBusConnection::systemBus();
42 if (!connection.registerObject(OBJECT_PATH,
this)) {
43 qFatal(
"Cannot register object at %s", OBJECT_PATH);
46 if (!connection.registerService(SERVICE_NAME)) {
47 qFatal(
"Cannot register D-Bus service at %s", SERVICE_NAME);
51 const int AUTOCLOSE_TIMEOUT_MS = 180 * 1000;
53 autoclose.setSingleShot(
true);
54 autoclose.setInterval(AUTOCLOSE_TIMEOUT_MS);
56 connect(&autoclose, SIGNAL(timeout()),
61 connect(&ssu, SIGNAL(done()),
62 this, SIGNAL(done()));
63 connect(&ssu, SIGNAL(credentialsChanged()),
64 this, SIGNAL(credentialsChanged()));
65 connect(&ssu, SIGNAL(registrationStatusChanged()),
66 this, SIGNAL(registrationStatusChanged()));
76 QString Ssud::brand() {
81 QString Ssud::deviceModel()
89 QString Ssud::deviceFamily()
97 QString Ssud::deviceUid()
105 QString Ssud::deviceVariant()
113 QString Ssud::displayName(
int type)
127 QString Ssud::lastError()
135 QCoreApplication::quit();
138 bool Ssud::isRegistered()
144 void Ssud::registerDevice(
const QString &username,
const QString &password)
151 void Ssud::unregisterDevice()
157 QString Ssud::domain()
164 int Ssud::deviceMode()
167 return ssu.deviceMode();
170 void Ssud::setDeviceMode(
int mode)
175 void Ssud::setDeviceMode(
int mode,
int editMode)
178 Ssu::DeviceModeFlags(mode),
187 QString Ssud::flavour()
193 void Ssud::setFlavour(
const QString &flavour)
203 QString Ssud::release(
bool rnd)
209 void Ssud::setRelease(
const QString &release,
bool rnd)
218 void Ssud::modifyRepo(
int action,
const QString &repo)
226 repoManager.
add(repo);
243 void Ssud::addRepo(
const QString &repo,
const QString &url)
246 repoManager.
add(repo, url);
251 void Ssud::updateRepos()
259 QList<SsuRepo> Ssud::listRepos(
bool rnd)
261 QList<SsuRepo> reposList;
264 for (
const QString &repo : repoManager.
repos(rnd)) {
265 const QString repoUrl = ssu.
repoUrl(repo, rnd);
269 ssuRepo.url = repoUrl;
271 reposList.append(ssuRepo);
277 QStringList Ssud::listDomains()
280 return ssu.listDomains();
283 void Ssud::setDomainConfig(
const QString &domain, QVariantMap config)
285 ssu.setDomainConfig(domain, config);
289 QVariantMap Ssud::getDomainConfig(
const QString &domain)
292 return ssu.getDomainConfig(domain);