17#include "lomiridbusvirtualobject.h"
20#include <QDBusMessage>
23LomiriDBusVirtualObject::LomiriDBusVirtualObject(
const QString &path,
const QString &service,
bool async, QObject *parent)
24 : QDBusVirtualObject(parent)
25 , m_connection(QDBusConnection::sessionBus())
31 QTimer::singleShot(0,
this, &LomiriDBusVirtualObject::registerObject);
37LomiriDBusVirtualObject::~LomiriDBusVirtualObject()
41 m_connection.unregisterObject(path());
44QDBusConnection LomiriDBusVirtualObject::connection()
const
49QString LomiriDBusVirtualObject::path()
const
56void LomiriDBusVirtualObject::notifyPropertyChanged(
const QString& interface,
const QString& node,
const QString& propertyName,
const QVariant &value)
59 QVariantMap changedProps;
61 changedProps.insert(propertyName, value);
63 message = QDBusMessage::createSignal(path() +
"/" + node,
64 QStringLiteral(
"org.freedesktop.DBus.Properties"),
65 QStringLiteral(
"PropertiesChanged"));
67 message << changedProps;
68 message << QStringList();
70 connection().send(message);
73void LomiriDBusVirtualObject::registerObject()
75 if (!m_connection.registerVirtualObject(m_path,
this, QDBusConnection::VirtualObjectRegisterOption::SubPath)) {
76 qWarning() <<
"Unable to register DBus object" << m_path;
78 if (!m_service.isEmpty()) {
79 if (!m_connection.registerService(m_service)) {
80 qWarning() <<
"Unable to register DBus service" << m_service;