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