File indexing completed on 2024-03-24 15:41:33

0001 /*
0002     SPDX-FileCopyrightText: 2011 Ilia Kats <ilia-kats@gmx.net>
0003     SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef NETWORKMANAGERQT_SETTINGS_P_H
0009 #define NETWORKMANAGERQT_SETTINGS_P_H
0010 
0011 #include <QDBusObjectPath>
0012 
0013 #include "dbus/settingsinterface.h"
0014 #include "settings.h"
0015 
0016 class QDBusPendingCallWatcher;
0017 
0018 namespace NetworkManager
0019 {
0020 class SettingsPrivate : public NetworkManager::SettingsNotifier
0021 {
0022     Q_OBJECT
0023     friend class NetworkManagerPrivate;
0024 
0025 public:
0026     SettingsPrivate();
0027     Connection::List listConnections();
0028     NetworkManager::Connection::Ptr findConnectionByUuid(const QString &uuid);
0029     QString hostname() const;
0030     bool canModify() const;
0031     QDBusPendingReply<QDBusObjectPath> addConnection(const NMVariantMapMap &);
0032     QDBusPendingReply<QDBusObjectPath> addConnectionUnsaved(const NMVariantMapMap &);
0033     QDBusPendingReply<bool, QStringList> loadConnections(const QStringList &filenames);
0034     void saveHostname(const QString &);
0035     QDBusPendingReply<bool> reloadConnections();
0036     Connection::Ptr findRegisteredConnection(const QString &);
0037 
0038     OrgFreedesktopNetworkManagerSettingsInterface iface;
0039     QMap<QString, Connection::Ptr> connections;
0040     bool m_canModify;
0041     QString m_hostname;
0042 protected Q_SLOTS:
0043     void onConnectionAdded(const QDBusObjectPath &);
0044     void onConnectionRemoved(const QDBusObjectPath &);
0045     void onConnectionRemoved(const QString &);
0046     void dbusPropertiesChanged(const QString &interfaceName, const QVariantMap &properties, const QStringList &invalidatedProperties);
0047     void propertiesChanged(const QVariantMap &properties);
0048     void initNotifier();
0049 
0050 protected:
0051     void daemonUnregistered();
0052     void init();
0053 };
0054 
0055 }
0056 
0057 #endif