File indexing completed on 2024-05-05 12:25:15
0001 /* 0002 SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef NETWORKMANAGERQT_FAKE_NETWORK_SETTINGS_CONNECTION_H 0008 #define NETWORKMANAGERQT_FAKE_NETWORK_SETTINGS_CONNECTION_H 0009 0010 #include <QObject> 0011 0012 #include <QDBusObjectPath> 0013 0014 #include "../generictypes.h" 0015 0016 class Connection : public QObject 0017 { 0018 Q_OBJECT 0019 Q_CLASSINFO("D-Bus Interface", "org.kde.fakenetwork.Settings.Connection") 0020 public: 0021 explicit Connection(QObject *parent = nullptr, const NMVariantMapMap &settings = NMVariantMapMap()); 0022 ~Connection() override; 0023 0024 Q_PROPERTY(bool Unsaved READ unsaved) 0025 0026 bool unsaved() const; 0027 0028 /* Not part of DBus interface */ 0029 QString connectionPath() const; 0030 void setConnectionPath(const QString &path); 0031 0032 public Q_SLOTS: // METHODS 0033 Q_SCRIPTABLE void Delete(); 0034 Q_SCRIPTABLE NMVariantMapMap GetSecrets(const QString &setting_name); 0035 Q_SCRIPTABLE NMVariantMapMap GetSettings(); 0036 Q_SCRIPTABLE void Save(); 0037 Q_SCRIPTABLE void Update(const NMVariantMapMap &properties); 0038 Q_SCRIPTABLE void UpdateUnsaved(const NMVariantMapMap &properties); 0039 0040 Q_SIGNALS: 0041 void connectionRemoved(const QDBusObjectPath &path); 0042 Q_SCRIPTABLE void Removed(); 0043 Q_SCRIPTABLE void Updated(); 0044 Q_SCRIPTABLE void PropertiesChanged(const QVariantMap &properties); 0045 0046 private: 0047 bool m_unsaved; 0048 NMVariantMapMap m_settings; 0049 0050 /* Not part of DBus interface */ 0051 QString m_connectionPath; 0052 }; 0053 0054 #endif