/* SPDX-FileCopyrightText: 2007 Christopher Blauvelt SPDX-License-Identifier: LGPL-2.0-only */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class DeviceSignalMapper : public QSignalMapper { Q_OBJECT public: explicit DeviceSignalMapper(QObject *parent = nullptr); ~DeviceSignalMapper() override; void setMapping(QObject *device, const QString &udi); Q_SIGNALS: void deviceChanged(const QString &udi, const QString &property, QVariant value); protected: QMap signalmap; }; class BatterySignalMapper : public DeviceSignalMapper { Q_OBJECT public: explicit BatterySignalMapper(QObject *parent = nullptr); ~BatterySignalMapper() override; public Q_SLOTS: void chargePercentChanged(int value); void chargeStateChanged(int newState); void presentStateChanged(bool newState); }; class StorageAccessSignalMapper : public DeviceSignalMapper { Q_OBJECT public: explicit StorageAccessSignalMapper(QObject *parent = nullptr); ~StorageAccessSignalMapper() override; public Q_SLOTS: void accessibilityChanged(bool accessible); };