File indexing completed on 2025-02-02 05:26:31

0001 /*
0002     SPDX-FileCopyrightText: 2010 Jacopo De Simoi <wilderkde@gmail.com>
0003     SPDX-FileCopyrightText: 2014 Lukáš Tinkl <ltinkl@redhat.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "devicenotificationsengine.h"
0009 
0010 #include <Plasma5Support/DataContainer>
0011 
0012 DeviceNotificationsEngine::DeviceNotificationsEngine(QObject *parent)
0013     : Plasma5Support::DataEngine(parent)
0014     , m_solidNotify(new KSolidNotify(this))
0015 {
0016     qWarning("DeviceNotificationsEngine is deprecated. Import KSolidNotify from org.kde.plasma.private.devicenotifier instead.");
0017     connect(m_solidNotify, &KSolidNotify::notify, this, &DeviceNotificationsEngine::notify);
0018     connect(m_solidNotify, &KSolidNotify::clearNotification, this, &DeviceNotificationsEngine::clearNotification);
0019 }
0020 
0021 DeviceNotificationsEngine::~DeviceNotificationsEngine()
0022 {
0023 }
0024 
0025 void DeviceNotificationsEngine::notify(Solid::ErrorType solidError, const QString &error, const QString &errorDetails, const QString &udi)
0026 {
0027     const QString source = QStringLiteral("%1 notification").arg(udi);
0028 
0029     Plasma5Support::DataEngine::Data notificationData;
0030     notificationData.insert(QStringLiteral("solidError"), solidError);
0031     notificationData.insert(QStringLiteral("error"), error);
0032     notificationData.insert(QStringLiteral("errorDetails"), errorDetails);
0033     notificationData.insert(QStringLiteral("udi"), udi);
0034 
0035     setData(source, notificationData);
0036 }
0037 
0038 void DeviceNotificationsEngine::clearNotification(const QString &udi)
0039 {
0040     removeSource(QStringLiteral("%1 notification").arg(udi));
0041 }
0042 
0043 K_PLUGIN_CLASS_WITH_JSON(DeviceNotificationsEngine, "plasma-dataengine-devicenotifications.json")
0044 
0045 #include "devicenotificationsengine.moc"