Skip to content

Latest commit

 

History

History
201 lines (154 loc) · 3.94 KB

ssud.cpp

File metadata and controls

201 lines (154 loc) · 3.94 KB
 
1
2
3
4
5
6
7
8
9
10
11
/**
* @file ssud.cpp
* @copyright 2013 Jolla Ltd.
* @author Bernd Wachter <bwachter@lart.info>
* @date 2013
*/
#include "ssud.h"
#include "ssuadaptor.h"
#include "libssu/ssudeviceinfo.h"
Sep 4, 2013
Sep 4, 2013
12
#include "libssu/ssurepomanager.h"
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <QDBusConnection>
const char *Ssud::SERVICE_NAME = "org.nemo.ssu";
const char *Ssud::OBJECT_PATH = "/org/nemo/ssu";
Ssud::Ssud(QObject *parent): QObject(parent){
QDBusConnection connection = QDBusConnection::systemBus();
if (!connection.registerService(SERVICE_NAME)) {
qFatal("Cannot register D-Bus service at %s", SERVICE_NAME);
}
if (!connection.registerObject(OBJECT_PATH, this)) {
qFatal("Cannot register object at %s", OBJECT_PATH);
}
Oct 24, 2013
Oct 24, 2013
29
30
31
32
33
34
35
36
37
// prepare for controlled suicide on boredom
const int AUTOCLOSE_TIMEOUT_MS = 180 * 1000;
autoclose.setSingleShot(true);
autoclose.setInterval(AUTOCLOSE_TIMEOUT_MS);
connect(&autoclose, SIGNAL(timeout()),
this, SLOT(quit()));
38
39
40
41
42
43
44
45
new SsuAdaptor(this);
connect(&ssu, SIGNAL(done()),
this, SIGNAL(done()));
connect(&ssu, SIGNAL(credentialsChanged()),
this, SIGNAL(credentialsChanged()));
connect(&ssu, SIGNAL(registrationStatusChanged()),
this, SIGNAL(registrationStatusChanged()));
Oct 24, 2013
Oct 24, 2013
46
47
48
// a cry for help everytime we do something to prevent suicide
autoclose.start();
49
50
51
52
53
54
55
56
}
Ssud::~Ssud(){
}
QString Ssud::deviceModel(){
SsuDeviceInfo deviceInfo;
Oct 24, 2013
Oct 24, 2013
57
autoclose.start();
58
return deviceInfo.deviceModel();
Sep 4, 2013
Sep 4, 2013
59
60
61
62
63
}
QString Ssud::deviceFamily(){
SsuDeviceInfo deviceInfo;
Oct 24, 2013
Oct 24, 2013
64
autoclose.start();
Sep 4, 2013
Sep 4, 2013
65
66
return deviceInfo.deviceFamily();
}
67
68
69
70
QString Ssud::deviceUid(){
SsuDeviceInfo deviceInfo;
Oct 24, 2013
Oct 24, 2013
71
autoclose.start();
72
return deviceInfo.deviceUid();
Sep 4, 2013
Sep 4, 2013
73
74
75
76
77
}
QString Ssud::deviceVariant(){
SsuDeviceInfo deviceInfo;
Oct 24, 2013
Oct 24, 2013
78
autoclose.start();
Sep 4, 2013
Sep 4, 2013
79
80
return deviceInfo.deviceVariant();
}
Oct 24, 2013
Oct 24, 2013
82
83
84
85
86
87
88
QString Ssud::displayName(int type){
SsuDeviceInfo deviceInfo;
autoclose.start();
return deviceInfo.displayName(type);
}
89
bool Ssud::error(){
Oct 24, 2013
Oct 24, 2013
90
autoclose.start();
91
92
93
94
return ssu.error();
}
QString Ssud::lastError(){
Oct 24, 2013
Oct 24, 2013
95
autoclose.start();
96
97
98
99
100
101
102
return ssu.lastError();
}
void Ssud::quit(){
QCoreApplication::quit();
}
Sep 4, 2013
Sep 4, 2013
103
bool Ssud::isRegistered(){
Oct 24, 2013
Oct 24, 2013
104
autoclose.start();
Sep 4, 2013
Sep 4, 2013
105
106
107
return ssu.isRegistered();
}
108
void Ssud::registerDevice(const QString &username, const QString &password){
Oct 24, 2013
Oct 24, 2013
109
autoclose.stop();
110
ssu.sendRegistration(username, password);
Oct 24, 2013
Oct 24, 2013
111
autoclose.start();
112
113
114
}
void Ssud::unregisterDevice(){
Oct 24, 2013
Oct 24, 2013
115
autoclose.start();
116
117
ssu.unregister();
};
Sep 4, 2013
Sep 4, 2013
118
119
120
int Ssud::deviceMode(){
Oct 24, 2013
Oct 24, 2013
121
autoclose.start();
Sep 4, 2013
Sep 4, 2013
122
123
124
125
126
127
128
129
return ssu.deviceMode();
}
void Ssud::setDeviceMode(int mode){
ssu.setDeviceMode(mode);
SsuRepoManager repoManager;
repoManager.update();
Oct 24, 2013
Oct 24, 2013
130
autoclose.start();
Sep 4, 2013
Sep 4, 2013
131
132
133
}
QString Ssud::flavour(){
Oct 24, 2013
Oct 24, 2013
134
autoclose.start();
Sep 4, 2013
Sep 4, 2013
135
136
137
138
139
140
141
142
return ssu.flavour();
}
void Ssud::setFlavour(const QString &flavour){
ssu.setFlavour(flavour);
SsuRepoManager repoManager;
repoManager.update();
Oct 24, 2013
Oct 24, 2013
143
autoclose.start();
Sep 4, 2013
Sep 4, 2013
144
145
146
147
}
QString Ssud::release(bool rnd){
Oct 24, 2013
Oct 24, 2013
148
autoclose.start();
Sep 4, 2013
Sep 4, 2013
149
150
151
152
153
154
155
156
return ssu.release(rnd);
}
void Ssud::setRelease(const QString &release, bool rnd){
ssu.setRelease(release, rnd);
SsuRepoManager repoManager;
repoManager.update();
Oct 24, 2013
Oct 24, 2013
157
autoclose.start();
Sep 4, 2013
Sep 4, 2013
158
159
160
161
162
}
void Ssud::modifyRepo(int action, const QString &repo){
SsuRepoManager repoManager;
Oct 24, 2013
Oct 24, 2013
163
164
autoclose.stop();
Sep 4, 2013
Sep 4, 2013
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
switch(action){
case Add:
repoManager.add(repo);
break;
case Remove:
repoManager.remove(repo);
break;
case Disable:
repoManager.disable(repo);
break;
case Enable:
repoManager.enable(repo);
break;
}
repoManager.update();
Oct 24, 2013
Oct 24, 2013
181
autoclose.start();
Sep 4, 2013
Sep 4, 2013
182
183
184
185
186
187
}
void Ssud::addRepo(const QString &repo, const QString &url){
SsuRepoManager repoManager;
repoManager.add(repo, url);
repoManager.update();
Oct 24, 2013
Oct 24, 2013
188
autoclose.start();
Sep 4, 2013
Sep 4, 2013
189
190
191
192
}
void Ssud::updateRepos(){
SsuRepoManager repoManager;
Oct 24, 2013
Oct 24, 2013
193
autoclose.stop();
Sep 4, 2013
Sep 4, 2013
194
repoManager.update();
Oct 24, 2013
Oct 24, 2013
195
autoclose.start();
Sep 4, 2013
Sep 4, 2013
196
}
Nov 8, 2013
Nov 8, 2013
197
198
199
200
201
void Ssud::updateStoreCredentials(const QString &userName, const QString &accessToken){
ssu.updateStoreCredentials(userName, accessToken);
autoclose.start();
}