aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-05-10 14:09:46 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-05-10 14:09:46 +0200
commit9cd61f1d0361c94ee4e1bed6fd1e80151db927cd (patch)
tree7384baf7d59465e1cb49ffbd5aa0bb1dd4554f3d
parentc4f4d617bab8275a62f72d39665051cda1fe950b (diff)
main: instantiate a afm_user_daemon proxy
* Create a single org::AGL::afm::user instance. * Do not make use of static object construction/destruction. * Use QScopedPointer in main() to manage the resource. * Users of this instance use an extern declaration of the global variable. Change-Id: Ia6db7aae8c8f6b135fe62bda495c68fdef004081 Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
-rw-r--r--homescreen/src/main.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/homescreen/src/main.cpp b/homescreen/src/main.cpp
index 47d4f16..59a259e 100644
--- a/homescreen/src/main.cpp
+++ b/homescreen/src/main.cpp
@@ -27,14 +27,37 @@
#include "statusbarmodel.h"
#include "applicationmodel.h"
+#include "afm_user_daemon_proxy.h"
+
+// XXX: We want this DBus connection to be shared across the different
+// QML objects, is there another way to do this, a nice way, perhaps?
+org::AGL::afm::user *afm_user_daemon_proxy;
+
+namespace {
+
+struct Cleanup {
+ static inline void cleanup(org::AGL::afm::user *p) {
+ delete p;
+ afm_user_daemon_proxy = Q_NULLPTR;
+ }
+};
+
void noOutput(QtMsgType, const QMessageLogContext &, const QString &)
{
}
+}
+
int main(int argc, char *argv[])
{
QGuiApplication a(argc, argv);
+ QScopedPointer<org::AGL::afm::user, Cleanup> afm_user_daemon_proxy(new org::AGL::afm::user("org.AGL.afm.user",
+ "/org/AGL/afm/user",
+ QDBusConnection::sessionBus(),
+ 0));
+ ::afm_user_daemon_proxy = afm_user_daemon_proxy.data();
+
QCoreApplication::setOrganizationDomain("LinuxFoundation");
QCoreApplication::setOrganizationName("AutomotiveGradeLinux");
QCoreApplication::setApplicationName("HomeScreen");