File indexing completed on 2025-02-02 05:02:43

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef SOLIDEXTRAS_NETWORKSTATUS_H
0008 #define SOLIDEXTRAS_NETWORKSTATUS_H
0009 
0010 #include "solidextras_export.h"
0011 
0012 #include <QObject>
0013 
0014 namespace SolidExtras {
0015 
0016 /** Basic information about the network status (connectivity, metering). */
0017 class SOLIDEXTRAS_EXPORT NetworkStatus : public QObject
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(State connectivity READ connectivity NOTIFY connectivityChanged)
0021     Q_PROPERTY(State metered READ metered NOTIFY meteredChanged)
0022 public:
0023     enum State {
0024         Unknown,
0025         Yes,
0026         No
0027     };
0028     Q_ENUM(State)
0029 
0030     explicit NetworkStatus(QObject *parent = nullptr);
0031     ~NetworkStatus() override;
0032 
0033     State connectivity() const;
0034     State metered() const;
0035 
0036 Q_SIGNALS:
0037     void connectivityChanged();
0038     void meteredChanged();
0039 };
0040 
0041 }
0042 
0043 #endif // SOLIDEXTRAS_NETWORKSTATUS_H