summaryrefslogblamecommitdiffstats
path: root/src/bus.cpp
blob: 1dadedbd617c132e375bf5d404958623b5922cae (plain) (tree)







































                                                                                                                  
#include "bus.h"

#include <QtDBus/QtDBus>

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;
}