File indexing completed on 2024-04-28 07:49:03
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_H 0008 #define NETWORKMANAGERQT_FAKE_NETWORK_SETTINGS_H 0009 0010 #include <QObject> 0011 0012 #include <QDBusObjectPath> 0013 0014 #include "../generictypes.h" 0015 0016 #include "connection.h" 0017 0018 class Settings : public QObject 0019 { 0020 Q_OBJECT 0021 Q_CLASSINFO("D-Bus Interface", "org.kde.fakenetwork.Settings") 0022 public: 0023 explicit Settings(QObject *parent = nullptr); 0024 ~Settings() override; 0025 0026 Q_PROPERTY(bool CanModify READ canModify) 0027 Q_PROPERTY(QList<QDBusObjectPath> Connections READ connections) 0028 Q_PROPERTY(QString Hostname READ hostname) 0029 0030 bool canModify() const; 0031 QList<QDBusObjectPath> connections() const; 0032 QString hostname() const; 0033 0034 private Q_SLOTS: 0035 void onConnectionRemoved(const QDBusObjectPath &connectionPath); 0036 0037 public Q_SLOTS: // METHODS 0038 Q_SCRIPTABLE QDBusObjectPath AddConnection(const NMVariantMapMap &connection); 0039 Q_SCRIPTABLE QDBusObjectPath AddConnectionUnsaved(const NMVariantMapMap &connection); 0040 Q_SCRIPTABLE QDBusObjectPath GetConnectionByUuid(const QString &uuid); 0041 Q_SCRIPTABLE QList<QDBusObjectPath> ListConnections(); 0042 Q_SCRIPTABLE void SaveHostname(const QString &hostname); 0043 0044 Q_SIGNALS: 0045 void connectionAdded(const QDBusObjectPath &connection); 0046 void connectionRemoved(const QDBusObjectPath &connection); 0047 Q_SCRIPTABLE void ConnectionRemoved(const QDBusObjectPath &connection); 0048 Q_SCRIPTABLE void NewConnection(const QDBusObjectPath &connection); 0049 Q_SCRIPTABLE void PropertiesChanged(const QVariantMap &properties); 0050 0051 private: 0052 bool m_canModify; 0053 QMap<QDBusObjectPath, Connection *> m_connections; 0054 QString m_hostname; 0055 0056 /* Not part of DBus interface */ 0057 int m_connectionCounter; 0058 }; 0059 0060 #endif