on xenial help sign in
AbstractDBusServiceMonitor: expose system or session bus option
commit6b44b20d753bede88cb4e1fd022be56fc2c448b9 authorGerry Boland <gerry.boland@canonical.com> dateFri 5 Sep 2014, 15:12 (12 years ago) parentb4eb566
3 files changed+16−6
plugins/Unity/DashCommunicator/dashcommunicator.cpp+1−2 src/libunity8-private/abstractdbusservicemonitor.cpp+5−2 src/libunity8-private/abstractdbusservicemonitor.h+10−2
plugins/Unity/DashCommunicator/dashcommunicator.cpp+1−2
@@ -16,7 +16,6 @@
1616
1717#include "dashcommunicator.h"
1818
19−#include <QDBusConnection>
2019#include <QDBusConnectionInterface>
2120#include <QDBusInterface>
2221#include <QDebug>
@@ -24,7 +23,7 @@
2423DashCommunicator::DashCommunicator(QObject *parent)
2524 : AbstractDBusServiceMonitor("com.canonical.UnityDash",
2625 "/com/canonical/UnityDash",
27− "", parent)
26+ "", SessionBus, parent)
2827{
2928}
3029
src/libunity8-private/abstractdbusservicemonitor.cpp+5−2
@@ -26,12 +26,15 @@
2626#include <QDBusReply>
2727
2828AbstractDBusServiceMonitor::AbstractDBusServiceMonitor(const QString &service, const QString &path,
29− const QString &interface, QObject *parent)
29+ const QString &interface, const Bus bus,
30+ QObject *parent)
3031 : QObject(parent)
3132 , m_service(service)
3233 , m_path(path)
3334 , m_interface(interface)
34− , m_watcher(new QDBusServiceWatcher(service, QDBusConnection::sessionBus()))
35+ , m_watcher(new QDBusServiceWatcher(service,
36+ (bus == SystemBus) ? QDBusConnection::systemBus()
37+ : QDBusConnection::sessionBus()))
3538 , m_dbusInterface(nullptr)
3639{
3740 connect(m_watcher, &QDBusServiceWatcher::serviceRegistered, this, &AbstractDBusServiceMonitor::createInterface);
src/libunity8-private/abstractdbusservicemonitor.h+10−2
@@ -22,6 +22,7 @@
2222
2323#include <QObject>
2424#include <QString>
25+#include <QDBusConnection>
2526
2627class QDBusInterface;
2728class QDBusServiceWatcher;
@@ -29,11 +30,18 @@ class QDBusServiceWatcher;
2930class AbstractDBusServiceMonitor : public QObject
3031{
3132 Q_OBJECT
33+ Q_ENUMS(Bus)
3234 Q_PROPERTY(bool serviceAvailable READ serviceAvailable NOTIFY serviceAvailableChanged)
3335
3436public:
35− explicit AbstractDBusServiceMonitor(const QString &service, const QString &path,
36− const QString &interface, QObject *parent = 0);
37+ enum Bus {
38+ SessionBus,
39+ SystemBus,
40+ };
41+
42+ explicit AbstractDBusServiceMonitor(const QString &service, const QString &path, const QString &interface,
43+ const Bus bus = SessionBus,
44+ QObject *parent = 0);
3745 ~AbstractDBusServiceMonitor();
3846
3947 QDBusInterface* dbusInterface() const;