Lomiri
Loading...
Searching...
No Matches
Status.h
1/*
2 * Copyright (C) 2015 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
6 * by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranties of
10 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11 * PURPOSE. See the GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef WIZARD_STATUS_H
18#define WIZARD_STATUS_H
19
20#include <QObject>
21#include <QString>
22#include <QDBusInterface>
23
24class Status: public QObject
25{
26 Q_OBJECT
27 Q_PROPERTY(bool online READ online NOTIFY onlineChanged)
28 Q_PROPERTY(QString networkIcon READ networkIcon NOTIFY networkIconChanged)
29 Q_PROPERTY(QString batteryIcon READ batteryIcon NOTIFY batteryIconChanged)
30public:
31 Status();
32 ~Status() = default;
33
34 bool online() const;
35 QString networkIcon();
36
37 QString batteryIcon() const;
38
39Q_SIGNALS:
40 void networkIconChanged();
41 void onlineChanged();
42 void batteryIconChanged();
43
44private Q_SLOTS:
45 void onNMPropertiesChanged(const QVariantMap &changedProps);
46 void onUPowerPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps);
47
48private:
49 Q_DISABLE_COPY(Status)
50
51 // network status
52 void initNM();
53 QDBusInterface * m_nmIface = nullptr;
54
55 // battery status
56 void initUPower();
57 QDBusInterface * m_upowerIface = nullptr;
58};
59
60#endif