diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-07-14 16:53:24 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-09-18 17:32:11 +0200 |
commit | 06da3532428e3498c1e808ff8be1af48b540a6ff (patch) | |
tree | 80155896a11d61517bc7cb87df16b3f0ede16f25 /src/nm-activation-request.h | |
parent | c9b3617c35b3380428a1800e8aa6692ee68b4b74 (diff) | |
download | NetworkManager-06da3532428e3498c1e808ff8be1af48b540a6ff.tar.gz |
core: separate active and applied connection
Clone the connection upon activation. This makes it safe for the user
to modify the original connection while it is activated.
This involves several changes:
- NMActiveConnection gets @settings_connection and @applied_connection.
To support add-and-activate, we constructing a NMActiveConnection with
no connection set. Previously, we would set the "connection" field to
a temporary NMConnection. Now NMManager piggybacks this temporary
connection as object-data (TAG_ACTIVE_CONNETION_ADD_AND_ACTIVATE).
- get rid of the functions nm_active_connection_get_connection_type()
and nm_active_connection_get_connection_uuid(). From their names
it is unclear whether this returns the settings or applied connection.
The (few) callers should figure that out themselves.
- rename nm_active_connection_get_id() to
nm_active_connection_get_settings_connection_id(). This function
is only used internally for logging.
- dispatcher calls now get two connections as well. The
applied-connection is used for the connection data, while
the settings-connection is used for the connection path.
- needs special handling for properties that apply immediately
when changed (nm_device_reapply_settings_immediately()).
Co-Authored-By: Thomas Haller <thaller@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=724041
Diffstat (limited to 'src/nm-activation-request.h')
-rw-r--r-- | src/nm-activation-request.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/nm-activation-request.h b/src/nm-activation-request.h index 8c990d520f..929ce195f2 100644 --- a/src/nm-activation-request.h +++ b/src/nm-activation-request.h @@ -47,26 +47,28 @@ typedef struct { GType nm_act_request_get_type (void); -NMActRequest *nm_act_request_new (NMConnection *connection, +NMActRequest *nm_act_request_new (NMSettingsConnection *settings_connection, const char *specific_object, NMAuthSubject *subject, NMDevice *device); -NMConnection *nm_act_request_get_connection (NMActRequest *req); +NMSettingsConnection *nm_act_request_get_settings_connection (NMActRequest *req); -gboolean nm_act_request_get_shared (NMActRequest *req); +NMConnection *nm_act_request_get_applied_connection (NMActRequest *req); -void nm_act_request_set_shared (NMActRequest *req, gboolean shared); +gboolean nm_act_request_get_shared (NMActRequest *req); -void nm_act_request_add_share_rule (NMActRequest *req, - const char *table, - const char *rule); +void nm_act_request_set_shared (NMActRequest *req, gboolean shared); + +void nm_act_request_add_share_rule (NMActRequest *req, + const char *table, + const char *rule); /* Secrets handling */ typedef void (*NMActRequestSecretsFunc) (NMActRequest *req, NMActRequestGetSecretsCallId call_id, - NMConnection *connection, + NMSettingsConnection *connection, GError *error, gpointer user_data); @@ -78,6 +80,7 @@ NMActRequestGetSecretsCallId nm_act_request_get_secrets (NMActRequest *req, gpointer callback_data); void nm_act_request_cancel_secrets (NMActRequest *req, NMActRequestGetSecretsCallId call_id); +void nm_act_request_clear_secrets (NMActRequest *self); #endif /* __NETWORKMANAGER_ACTIVATION_REQUEST_H__ */ |