summary refs log tree commit diff
path: root/src/MainWindow.cpp
diff options
context:
space:
mode:
authorLoren Burkholder <55629213+LorenDB@users.noreply.github.com>2022-04-14 11:02:55 -0400
committerGitHub <noreply@github.com>2022-04-14 15:02:55 +0000
commit686ebfdbecbcacdbdba6c6289f22479c2fe5133e (patch)
treeef4124f0ad74d78612555160bfd556a8e98d068b /src/MainWindow.cpp
parentTranslated using Weblate (Finnish) (diff)
downloadnheko-686ebfdbecbcacdbdba6c6289f22479c2fe5133e.tar.xz
Add D-Bus API (#916)
This adds functionality for viewing joined rooms and activating rooms.
Diffstat (limited to 'src/MainWindow.cpp')
-rw-r--r--src/MainWindow.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 7235f93d..ffc3c6c1 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -54,6 +54,10 @@
 #include "ui/UIA.h"
 #include "voip/WebRTCSession.h"
 
+#ifdef NHEKO_DBUS_SYS
+#include "dbus/NhekoDBusApi.h"
+#endif
+
 Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents)
 Q_DECLARE_METATYPE(std::vector<DeviceInfo>)
 Q_DECLARE_METATYPE(std::vector<mtx::responses::PublicRoomsChunk>)
@@ -282,6 +286,18 @@ MainWindow::registerQmlTypes()
         engine()->addImageProvider(QStringLiteral("jdenticon"), new JdenticonProvider());
 
     QObject::connect(engine(), &QQmlEngine::quit, &QGuiApplication::quit);
+
+#ifdef NHEKO_DBUS_SYS
+    if (UserSettings::instance()->exposeDBusApi()) {
+        if (QDBusConnection::sessionBus().isConnected() &&
+            QDBusConnection::sessionBus().registerService(NHEKO_DBUS_SERVICE_NAME)) {
+            nheko::dbus::init();
+            nhlog::ui()->info("Initialized D-Bus");
+            dbusAvailable_ = true;
+        } else
+            nhlog::ui()->warn("Could not connect to D-Bus!");
+    }
+#endif
 }
 
 void