Merge lp:~mardy/online-accounts-api/style into lp:online-accounts-api

Proposed by Alberto Mardegan
Status: Merged
Merged at revision: 6
Proposed branch: lp:~mardy/online-accounts-api/style
Merge into: lp:online-accounts-api
Diff against target: 366 lines (+131/-96)
5 files modified
src/daemon/aacontext.cpp (+31/-25)
src/daemon/aacontext.h (+2/-2)
src/daemon/main.cpp (+2/-1)
src/daemon/manager.cpp (+71/-46)
src/daemon/manager.h (+25/-22)
To merge this branch: bzr merge lp:~mardy/online-accounts-api/style
Reviewer Review Type Date Requested Status
Online Accounts Pending
Review via email: mp+249168@code.launchpad.net

Description of the change

Style changes

- change whitespaces
- use camelcase for variable names
- prefix "m_" for class members
- sort #includes alphabetically
- use Qt keywords and classes when available

To post a comment you must log in.
lp:~mardy/online-accounts-api/style updated
6. By Alberto Mardegan

Remove mutable

7. By Alberto Mardegan

Review updates

8. By Alberto Mardegan

From the dbus branch

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/daemon/aacontext.cpp'
2--- src/daemon/aacontext.cpp 2015-02-10 08:12:59 +0000
3+++ src/daemon/aacontext.cpp 2015-02-11 12:59:36 +0000
4@@ -1,47 +1,53 @@
5 #include "aacontext.h"
6-#include <stdexcept>
7-#include <sys/apparmor.h>
8-#include <QDebug>
9+
10 #include <QDBusConnection>
11 #include <QDBusMessage>
12-
13-const int max_cache_size = 50;
14-
15-AppArmorContext::AppArmorContext() {
16-}
17-
18-AppArmorContext::~AppArmorContext() {
19-}
20-
21-QString AppArmorContext::getPeerSecurityContext(const QDBusConnection &bus, const QDBusMessage &message) {
22+#include <QDebug>
23+#include <sys/apparmor.h>
24+
25+const int maxCacheSize = 50;
26+
27+AppArmorContext::AppArmorContext()
28+{
29+}
30+
31+AppArmorContext::~AppArmorContext()
32+{
33+}
34+
35+QString AppArmorContext::getPeerSecurityContext(const QDBusConnection &bus,
36+ const QDBusMessage &message)
37+{
38 if (!aa_is_enabled()) {
39 return "unconfined";
40 }
41
42 QString peer_address = message.service();
43- try {
44- return contexts.at(peer_address);
45- } catch (const std::out_of_range &e) {
46+ QString &context = m_contexts[peer_address];
47+ /* If the peer_address was now known, it's now been added as an empty
48+ * QString. */
49+ if (!context.isEmpty()) {
50+ return context;
51 }
52
53- QDBusMessage msg = QDBusMessage::createMethodCall(
54- "org.freedesktop.DBus", "/org/freedesktop/DBus",
55- "org.freedesktop.DBus", "GetConnectionAppArmorSecurityContext");
56+ QDBusMessage msg =
57+ QDBusMessage::createMethodCall("org.freedesktop.DBus",
58+ "/org/freedesktop/DBus",
59+ "org.freedesktop.DBus",
60+ "GetConnectionAppArmorSecurityContext");
61 msg << peer_address;
62 QDBusMessage reply = bus.call(msg, QDBus::Block);
63
64- QString context;
65 if (reply.type() == QDBusMessage::ReplyMessage) {
66 context = reply.arguments().value(0).value<QString>();
67 } else {
68- qWarning() << "Could not determine AppArmor context: "
69- << reply.errorName() << ": " << reply.errorMessage();
70+ qWarning() << "Could not determine AppArmor context: " <<
71+ reply.errorName() << ": " << reply.errorMessage();
72 }
73
74 // If the context cache has hit the maximum size, clear it
75- if (contexts.size() >= max_cache_size) {
76- contexts.clear();
77+ if (m_contexts.size() >= maxCacheSize) {
78+ m_contexts.clear();
79 }
80- contexts[peer_address] = context;
81 return context;
82 }
83
84=== modified file 'src/daemon/aacontext.h'
85--- src/daemon/aacontext.h 2015-02-09 05:18:22 +0000
86+++ src/daemon/aacontext.h 2015-02-11 12:59:36 +0000
87@@ -1,9 +1,9 @@
88 #ifndef AACONTEXT_H
89 #define AACONTEXT_H
90
91-#include <map>
92 #include <QDBusConnection>
93 #include <QDBusMessage>
94+#include <QHash>
95 #include <QString>
96
97 class AppArmorContext {
98@@ -14,7 +14,7 @@
99 QString getPeerSecurityContext(const QDBusConnection &bus, const QDBusMessage &message);
100
101 private:
102- std::map<QString,QString> contexts;
103+ QHash<QString,QString> m_contexts;
104 };
105
106 #endif
107
108=== modified file 'src/daemon/main.cpp'
109--- src/daemon/main.cpp 2015-02-10 06:24:38 +0000
110+++ src/daemon/main.cpp 2015-02-11 12:59:36 +0000
111@@ -1,7 +1,8 @@
112 #include "manager.h"
113 #include "manageradaptor.h"
114
115-int main(int argc, char **argv) {
116+int main(int argc, char **argv)
117+{
118 QCoreApplication app(argc, argv);
119
120 qDBusRegisterMetaType<AccountInfo>();
121
122=== modified file 'src/daemon/manager.cpp'
123--- src/daemon/manager.cpp 2015-02-10 06:24:38 +0000
124+++ src/daemon/manager.cpp 2015-02-11 12:59:36 +0000
125@@ -1,40 +1,50 @@
126 #include "manager.h"
127+
128+#include <QDBusMessage>
129 #include <QDebug>
130-#include <QDBusMessage>
131 #include "aacontext.h"
132
133-using namespace std;
134-
135 static const char FORBIDDEN_ERROR[] = "com.ubuntu.OnlineAccounts.Error.Forbidden";
136
137-QDBusArgument &operator<<(QDBusArgument &argument, const AccountInfo &info) {
138- argument.beginStructure();
139- argument << info.account_id << info.details;
140- argument.endStructure();
141- return argument;
142-}
143-
144-const QDBusArgument &operator>>(const QDBusArgument &argument, AccountInfo &info) {
145- argument.beginStructure();
146- argument >> info.account_id >> info.details;
147- argument.endStructure();
148- return argument;
149-}
150-
151-
152-struct Manager::Private {
153- AppArmorContext apparmor;
154+QDBusArgument &operator<<(QDBusArgument &argument, const AccountInfo &info)
155+{
156+ argument.beginStructure();
157+ argument << info.accountId << info.details;
158+ argument.endStructure();
159+ return argument;
160+}
161+
162+const QDBusArgument &operator>>(const QDBusArgument &argument,
163+ AccountInfo &info)
164+{
165+ argument.beginStructure();
166+ argument >> info.accountId >> info.details;
167+ argument.endStructure();
168+ return argument;
169+}
170+
171+class ManagerPrivate {
172+public:
173+ AppArmorContext m_apparmor;
174 };
175
176-Manager::Manager(QObject *parent)
177- : QObject(parent), p(new Private) {
178-}
179-
180-Manager::~Manager() {
181-}
182-
183-bool Manager::canAccess(const QString &service_id) {
184- QString context = p->apparmor.getPeerSecurityContext(connection(), message());
185+Manager::Manager(QObject *parent):
186+ QObject(parent),
187+ d_ptr(new ManagerPrivate)
188+{
189+}
190+
191+Manager::~Manager()
192+{
193+ delete d_ptr;
194+}
195+
196+bool Manager::canAccess(const QString &serviceId)
197+{
198+ Q_D(Manager);
199+
200+ QString context = d->m_apparmor.getPeerSecurityContext(connection(),
201+ message());
202 // Could not determine peer's AppArmor context, so deny access
203 if (context.isEmpty()) {
204 return false;
205@@ -55,24 +65,27 @@
206 // Do the same on the service ID: we are only dealing with
207 // confined apps at this point, so only $pkgname prefixed
208 // services are accessible.
209- pos = service_id.indexOf('_');
210+ pos = serviceId.indexOf('_');
211 if (pos < 0) {
212 return false;
213 }
214- return service_id.left(pos) == pkgname;
215+ return serviceId.left(pos) == pkgname;
216 }
217
218-bool Manager::checkAccess(const QString &service_id) {
219- bool has_access = canAccess(service_id);
220- if (!has_access) {
221- sendErrorReply(FORBIDDEN_ERROR, QString("Access to service ID %1 forbidden").arg(service_id));
222+bool Manager::checkAccess(const QString &serviceId)
223+{
224+ bool hasAccess = canAccess(serviceId);
225+ if (!hasAccess) {
226+ sendErrorReply(FORBIDDEN_ERROR,
227+ QString("Access to service ID %1 forbidden").arg(serviceId));
228 }
229- return has_access;
230+ return hasAccess;
231 }
232
233-QList<AccountInfo> Manager::GetAccounts(const QStringList &service_ids) {
234- for (const auto &service_id : service_ids) {
235- if (!checkAccess(service_id)) {
236+QList<AccountInfo> Manager::GetAccounts(const QStringList &serviceIds)
237+{
238+ Q_FOREACH(const QString &serviceId, serviceIds) {
239+ if (!checkAccess(serviceId)) {
240 return QList<AccountInfo>();
241 }
242 }
243@@ -80,24 +93,36 @@
244 return QList<AccountInfo>({AccountInfo(0, QVariantMap())});
245 }
246
247-AccountInfo Manager::GetAccountInfo(const QString &service_id, uint account_id) {
248- if (!checkAccess(service_id)) {
249+AccountInfo Manager::GetAccountInfo(const QString &serviceId, uint accountId)
250+{
251+ Q_UNUSED(accountId);
252+
253+ if (!checkAccess(serviceId)) {
254 return AccountInfo();
255 }
256
257- return AccountInfo(account_id, QVariantMap());
258+ return AccountInfo(accountId, QVariantMap());
259 }
260
261-QVariantMap Manager::Authenticate(const QString &service_id, uint account_id, bool interactive, bool invalidate) {
262- if (!checkAccess(service_id)) {
263+QVariantMap Manager::Authenticate(const QString &serviceId, uint accountId,
264+ bool interactive, bool invalidate)
265+{
266+ Q_UNUSED(accountId);
267+ Q_UNUSED(interactive);
268+ Q_UNUSED(invalidate);
269+
270+ if (!checkAccess(serviceId)) {
271 return QVariantMap();
272 }
273
274 return QVariantMap();
275 }
276
277-AccountInfo Manager::Register(const QString &service_id, QVariantMap &credentials) {
278- if (!checkAccess(service_id)) {
279+AccountInfo Manager::Register(const QString &serviceId, QVariantMap &credentials)
280+{
281+ Q_UNUSED(credentials);
282+
283+ if (!checkAccess(serviceId)) {
284 return AccountInfo();
285 }
286
287
288=== modified file 'src/daemon/manager.h'
289--- src/daemon/manager.h 2015-02-10 06:24:38 +0000
290+++ src/daemon/manager.h 2015-02-11 12:59:36 +0000
291@@ -1,50 +1,53 @@
292-
293 #ifndef MANAGER_H
294 #define MANAGER_H
295
296-#include <memory>
297+#include <QDBusArgument>
298+#include <QDBusContext>
299 #include <QList>
300 #include <QObject>
301 #include <QVariantMap>
302-#include <QDBusArgument>
303-#include <QDBusContext>
304
305 struct AccountInfo {
306- uint account_id = 0;
307+ uint accountId;
308 QVariantMap details;
309
310- AccountInfo() {}
311- AccountInfo(uint account_id, const QVariantMap &details)
312- : account_id(account_id), details(details) {}
313-
314+ AccountInfo(): accountId(0) {}
315+ AccountInfo(uint accountId, const QVariantMap &details):
316+ accountId(accountId), details(details) {}
317 };
318 Q_DECLARE_METATYPE(AccountInfo)
319
320 QDBusArgument &operator<<(QDBusArgument &argument, const AccountInfo &info);
321-const QDBusArgument &operator>>(const QDBusArgument &argument, AccountInfo &info);
322+const QDBusArgument &operator>>(const QDBusArgument &argument,
323+ AccountInfo &info);
324
325-class Manager : public QObject, protected QDBusContext {
326+class ManagerPrivate;
327+class Manager: public QObject, protected QDBusContext
328+{
329 Q_OBJECT
330- struct Private;
331+
332 public:
333- explicit Manager(QObject *parent=nullptr);
334+ explicit Manager(QObject *parent = 0);
335 ~Manager();
336
337 public Q_SLOTS:
338- QList<AccountInfo> GetAccounts(const QStringList &service_ids);
339- AccountInfo GetAccountInfo(const QString &service_id, uint account_id);
340- QVariantMap Authenticate(const QString &service_id, uint account_id, bool interactive, bool invalidate);
341- AccountInfo Register(const QString &service_id, QVariantMap &credentials);
342+ QList<AccountInfo> GetAccounts(const QStringList &serviceIds);
343+ AccountInfo GetAccountInfo(const QString &serviceId, uint accountId);
344+ QVariantMap Authenticate(const QString &serviceId, uint accountId,
345+ bool interactive, bool invalidate);
346+ AccountInfo Register(const QString &serviceId, QVariantMap &credentials);
347
348 Q_SIGNALS:
349- void AccountChanged(const QString &service_id, uint account_id, bool enabled);
350- void CredentialsChanged(const QString &service_id, uint account_id);
351+ void AccountChanged(const QString &serviceId, uint accountId, bool enabled);
352+ void CredentialsChanged(const QString &serviceId, uint accountId);
353
354 private:
355- bool canAccess(const QString &service_id);
356- bool checkAccess(const QString &service_id);
357+ bool canAccess(const QString &serviceId);
358+ bool checkAccess(const QString &serviceId);
359 QString getPeerSecurityContext();
360- std::unique_ptr<Private> p;
361+
362+ Q_DECLARE_PRIVATE(Manager)
363+ ManagerPrivate *d_ptr;
364 };
365
366 #endif

Subscribers

People subscribed via source and target branches