File indexing completed on 2025-01-19 06:44:34
0001 /* 0002 * BluezQt - Asynchronous Bluez wrapper library 0003 * 0004 * SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@broulik.de> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "battery.h" 0010 #include "battery_p.h" 0011 #include "macros.h" 0012 #include "utils.h" 0013 0014 #include <QVariantMap> 0015 0016 namespace BluezQt 0017 { 0018 BatteryPrivate::BatteryPrivate(const QString &path, const QVariantMap &properties) 0019 : QObject() 0020 , m_path(path) 0021 { 0022 // Init properties 0023 m_percentage = properties.value(QStringLiteral("Percentage")).toInt(); 0024 } 0025 0026 void BatteryPrivate::propertiesChanged(const QString &interface, const QVariantMap &changed, const QStringList &invalidated) 0027 { 0028 Q_UNUSED(invalidated) 0029 0030 if (interface != Strings::orgBluezBattery1()) { 0031 return; 0032 } 0033 0034 QVariantMap::const_iterator i; 0035 for (i = changed.constBegin(); i != changed.constEnd(); ++i) { 0036 const QVariant &value = i.value(); 0037 const QString &property = i.key(); 0038 0039 if (property == QLatin1String("Percentage")) { 0040 PROPERTY_CHANGED2(m_percentage, value.toInt(), percentageChanged) 0041 } 0042 } 0043 } 0044 0045 Battery::Battery(const QString &path, const QVariantMap &properties) 0046 : d(new BatteryPrivate(path, properties)) 0047 { 0048 } 0049 0050 Battery::~Battery() = default; 0051 0052 BatteryPtr Battery::toSharedPtr() const 0053 { 0054 return d->q.toStrongRef(); 0055 } 0056 0057 int Battery::percentage() const 0058 { 0059 return d->m_percentage; 0060 } 0061 0062 } // namespace BluezQt 0063 0064 #include "moc_battery.cpp" 0065 #include "moc_battery_p.cpp"