File indexing completed on 2024-05-19 04:03:20
0001 /* 0002 SPDX-FileCopyrightText: 2005 Kevin Ottens <ervin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "ifaces/device.h" 0008 0009 #ifdef QT_DBUS_LIB 0010 #include <QDBusConnection> 0011 #include <QDBusMessage> 0012 #endif 0013 0014 Solid::Ifaces::Device::Device(QObject *parent) 0015 : QObject(parent) 0016 { 0017 } 0018 0019 Solid::Ifaces::Device::~Device() 0020 { 0021 } 0022 0023 QString Solid::Ifaces::Device::parentUdi() const 0024 { 0025 return QString(); 0026 } 0027 0028 void Solid::Ifaces::Device::registerAction(const QString &actionName, QObject *dest, const char *requestSlot, const char *doneSlot) const 0029 { 0030 #ifdef QT_DBUS_LIB 0031 QDBusConnection::sessionBus().connect(QString(), deviceDBusPath(), "org.kde.Solid.Device", actionName + "Requested", dest, requestSlot); 0032 0033 QDBusConnection::sessionBus().connect(QString(), deviceDBusPath(), "org.kde.Solid.Device", actionName + "Done", dest, doneSlot); 0034 #endif 0035 } 0036 0037 void Solid::Ifaces::Device::broadcastActionDone(const QString &actionName, int error, const QString &errorString) const 0038 { 0039 #ifdef QT_DBUS_LIB 0040 QDBusMessage signal = QDBusMessage::createSignal(deviceDBusPath(), "org.kde.Solid.Device", actionName + "Done"); 0041 signal << error << errorString; 0042 0043 QDBusConnection::sessionBus().send(signal); 0044 #endif 0045 } 0046 0047 void Solid::Ifaces::Device::broadcastActionRequested(const QString &actionName) const 0048 { 0049 #ifdef QT_DBUS_LIB 0050 QDBusMessage signal = QDBusMessage::createSignal(deviceDBusPath(), "org.kde.Solid.Device", actionName + "Requested"); 0051 QDBusConnection::sessionBus().send(signal); 0052 #endif 0053 } 0054 0055 QString Solid::Ifaces::Device::deviceDBusPath() const 0056 { 0057 const QByteArray encodedUdi = udi().toUtf8().toPercentEncoding(QByteArray(), ".~-", '_'); 0058 return QString("/org/kde/solid/Device_") + QString::fromLatin1(encodedUdi); 0059 } 0060 0061 QString Solid::Ifaces::Device::displayName() const 0062 { 0063 return description(); 0064 } 0065 0066 #include "moc_device.cpp"