#include "bus.h" #include static const QString SERVICE_NAME("de.bwlehrpool.beamergui"); Bus* Bus::_instance = nullptr; Bus::Bus(QObject *parent) : QObject(parent), _hasListener(false) { } bool Bus::registerListener() { if (!QDBusConnection::systemBus().isConnected()) { qDebug() << "Cannot connect to system bus"; return false; } QDBusServiceWatcher *w = new QDBusServiceWatcher("de.bwlehrpool.beamergui", QDBusConnection::systemBus()); w->setParent(this); connect(w, &QDBusServiceWatcher::serviceRegistered, [=](const QString &service) { qDebug() << "Registered Service" << service; emit serviceConnected(); }); return true; } bool Bus::registerService() { if (!QDBusConnection::systemBus().isConnected()) { qDebug() << "Cannot connect to system bus"; return false; } if (!QDBusConnection::systemBus().registerService(SERVICE_NAME)) { qDebug() << QDBusConnection::systemBus().lastError().message(); return false; } return true; }