NetworkManagerQt

settings.h
1 /*
2  SPDX-FileCopyrightText: 2011 Ilia Kats <[email protected]>
3  SPDX-FileCopyrightText: 2011-2013 Lamarque V. Souza <[email protected]>
4  SPDX-FileCopyrightText: 2013 Jan Grulich <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8 
9 #ifndef NETWORKMANAGERQT_SETTINGS_H
10 #define NETWORKMANAGERQT_SETTINGS_H
11 
12 #include <networkmanagerqt/networkmanagerqt_export.h>
13 
14 #include "connection.h"
15 #include "generictypes.h"
16 #include "manager.h"
17 #include <QObject>
18 
19 #include <QString>
20 
21 namespace NetworkManager
22 {
23 /**
24  * This class manages provides access to connections and notify about new ones
25  */
26 class NETWORKMANAGERQT_EXPORT SettingsNotifier : public QObject
27 {
28  Q_OBJECT
29 Q_SIGNALS:
30  /**
31  * Emitted when the settings are modifiable by user
32  * @param canModify @p true if the user can modify the settings
33  */
34  void canModifyChanged(bool canModify);
35  /**
36  * Emitted when the hostname has changed
37  * @param hostname new hostname
38  */
39  void hostnameChanged(const QString &hostname);
40  /**
41  * Emitted when a new connection is added
42  *
43  * \note This signal is not emitted when the Network Manager
44  * daemon starts, if you are interested in keeping an
45  * updated listing of connections you must also watch for
46  * NetworkManager::Notifier::serviceAppeared() and
47  * NetworkManager::Notifier::serviceDisappeared() signals
48  */
49  void connectionAdded(const QString &path);
50  /**
51  * Emitted when a new connection is removed
52  *
53  * \note This signal is not emitted when the Network Manager
54  * daemon starts, if you are interested in keeping an
55  * updated listing of connections you must also watch for
56  * NetworkManager::Notifier::serviceAppeared() and
57  * NetworkManager::Notifier::serviceDisappeared() signals
58  */
59  void connectionRemoved(const QString &path);
60 };
61 /**
62  * Retrieves the list of connections.
63  */
64 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::List listConnections();
65 
66 /**
67  * Retrieves the connection for the given path, returns null if not found
68  */
69 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnection(const QString &path);
70 
71 /**
72  * Add new connection and save it to disk. This operation does not start
73  * the network connection unless (1) device is idle and able to connect to
74  * the network described by the new connection, and (2) the connection
75  * is allowed to be started automatically.
76  * Once the connection has been added, you will get a notification through
77  * SettingsNotifier::connectionAddComplete()
78  *
79  * @returns Uuid of the new connection that was just added.
80  *
81  * @since 0.9.9.0
82  */
83 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath> addConnection(const NMVariantMapMap &settings);
84 
85 /**
86  * Add new connection but do not save it to disk immediately. This
87  * operation does not start the network connection unless (1) device is
88  * idle and able to connect to the network described by the new connection,
89  * and (2) the connection is allowed to be started automatically.
90  *
91  * Use the 'Save' method on the connection to save these changes
92  * to disk. Note that unsaved changes will be lost if the
93  * connection is reloaded from disk (either automatically on file
94  * change or due to an explicit ReloadConnections call).
95  *
96  * Once the connection has been added, you will get a notification through
97  * SettingsNotifier::connectionAddComplete()
98  *
99  * @returns Uuid of the new connection that was just added.
100  *
101  * @since 0.9.9.0
102  */
103 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath> addConnectionUnsaved(const NMVariantMapMap &settings);
104 
105 /**
106  * Retrieves the connection for the given @p uuid, returns null if not found
107  */
108 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnectionByUuid(const QString &uuid);
109 
110 /**
111  * Loads or reloads the indicated connections from disk. You
112  * should call this after making changes directly to an on-disk
113  * connection file to make sure that NetworkManager sees the
114  * changes. (If "monitor-connection-files" in NetworkManager.conf
115  * is "true", then this will have no real effect, but is
116  * harmless.) As with AddConnection(), this operation does not
117  * necessarily start the network connection.
118  *
119  * @returns Success or failure of the operation as a whole. True if
120  * NetworkManager at least tried to load the indicated
121  * connections, even if it did not succeed. False if an error
122  * occurred before trying to load the connections (eg,
123  * permission denied).
124  *
125  * @returns Paths of connection files that could not be loaded.
126  *
127  * @since 0.9.9.0
128  */
129 NETWORKMANAGERQT_EXPORT QDBusPendingReply<bool, QStringList> loadConnections(const QStringList &filenames);
130 
131 /**
132  * Tells NetworkManager to reload all connection files from disk,
133  * including noticing any added or deleted connection files. By
134  * default, connections are re-read automatically any time they
135  * change, so you only need to use this command if you have set
136  * "monitor-connection-files=false" in NetworkManager.conf.
137  *
138  * @returns Success or failure.
139  *
140  * @since 0.9.9.0
141  */
142 NETWORKMANAGERQT_EXPORT QDBusPendingReply<bool> reloadConnections();
143 
144 /**
145  * Configure the following hostname
146  */
147 NETWORKMANAGERQT_EXPORT void saveHostname(const QString &hostname);
148 
149 /**
150  * Returns @p true if the user can modify the settings
151  */
152 NETWORKMANAGERQT_EXPORT bool canModify();
153 
154 /**
155  * Returns hostname of the machine
156  */
157 NETWORKMANAGERQT_EXPORT QString hostname();
158 
159 /**
160  * Notifier object for connecting signals
161  */
162 NETWORKMANAGERQT_EXPORT SettingsNotifier *settingsNotifier();
163 }
164 
165 #endif
NETWORKMANAGERQT_EXPORT bool canModify()
Returns true if the user can modify the settings.
Definition: settings.cpp:255
NETWORKMANAGERQT_EXPORT QDBusPendingReply< QDBusObjectPath > addConnection(const NMVariantMapMap &settings)
Add new connection and save it to disk.
Definition: settings.cpp:109
NETWORKMANAGERQT_EXPORT NetworkManager::Connection::List listConnections()
Retrieves the list of connections.
Definition: settings.cpp:71
This class allows querying the underlying system to discover the available network interfaces and rea...
Definition: accesspoint.h:20
NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnectionByUuid(const QString &uuid)
Retrieves the connection for the given uuid, returns null if not found.
Definition: settings.cpp:85
NETWORKMANAGERQT_EXPORT QString hostname()
Returns hostname of the machine.
Definition: settings.cpp:260
This class manages provides access to connections and notify about new ones.
Definition: settings.h:26
NETWORKMANAGERQT_EXPORT SettingsNotifier * settingsNotifier()
Notifier object for connecting signals.
Definition: settings.cpp:265
NETWORKMANAGERQT_EXPORT QDBusPendingReply< QDBusObjectPath > addConnectionUnsaved(const NMVariantMapMap &settings)
Add new connection but do not save it to disk immediately.
Definition: settings.cpp:114
NETWORKMANAGERQT_EXPORT QDBusPendingReply< bool > reloadConnections()
Tells NetworkManager to reload all connection files from disk, including noticing any added or delete...
Definition: settings.cpp:124
NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnection(const QString &path)
Retrieves the connection for the given path, returns null if not found.
Definition: settings.cpp:225
NETWORKMANAGERQT_EXPORT QDBusPendingReply< bool, QStringList > loadConnections(const QStringList &filenames)
Loads or reloads the indicated connections from disk.
Definition: settings.cpp:119
NETWORKMANAGERQT_EXPORT void saveHostname(const QString &hostname)
Configure the following hostname.
Definition: settings.cpp:134
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 21 2023 03:59:36 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.