summary refs log tree commit diff
path: root/src/nm-active-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-active-connection.c')
-rw-r--r--src/nm-active-connection.c78
1 files changed, 40 insertions, 38 deletions
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index aa83d6d5..a2f9ae4a 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -174,7 +174,7 @@ NM_UTILS_FLAGS2STR_DEFINE_STATIC (_state_flags_to_string, NMActivationStateFlags
 /*****************************************************************************/
 
 static void
-_settings_connection_updated (NMSettingsConnection *connection,
+_settings_connection_updated (NMSettingsConnection *sett_conn,
                               gboolean by_user,
                               gpointer user_data)
 {
@@ -196,24 +196,24 @@ _settings_connection_updated (NMSettingsConnection *connection,
 }
 
 static void
-_set_settings_connection (NMActiveConnection *self, NMSettingsConnection *connection)
+_set_settings_connection (NMActiveConnection *self, NMSettingsConnection *sett_conn)
 {
 	NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
 
-	if (priv->settings_connection.obj == connection)
+	if (priv->settings_connection.obj == sett_conn)
 		return;
 
 	if (priv->settings_connection.obj) {
 		g_signal_handlers_disconnect_by_func (priv->settings_connection.obj, _settings_connection_updated, self);
 		g_signal_handlers_disconnect_by_func (priv->settings_connection.obj, _settings_connection_flags_changed, self);
 	}
-	if (connection) {
-		g_signal_connect (connection, NM_SETTINGS_CONNECTION_UPDATED_INTERNAL, (GCallback) _settings_connection_updated, self);
+	if (sett_conn) {
+		g_signal_connect (sett_conn, NM_SETTINGS_CONNECTION_UPDATED_INTERNAL, (GCallback) _settings_connection_updated, self);
 		if (nm_active_connection_get_activation_type (self) == NM_ACTIVATION_TYPE_EXTERNAL)
-			g_signal_connect (connection, NM_SETTINGS_CONNECTION_FLAGS_CHANGED, (GCallback) _settings_connection_flags_changed, self);
+			g_signal_connect (sett_conn, NM_SETTINGS_CONNECTION_FLAGS_CHANGED, (GCallback) _settings_connection_flags_changed, self);
 	}
 
-	nm_dbus_track_obj_path_set (&priv->settings_connection, connection, TRUE);
+	nm_dbus_track_obj_path_set (&priv->settings_connection, sett_conn, TRUE);
 }
 
 NMActiveConnectionState
@@ -367,13 +367,13 @@ nm_active_connection_set_state_flags_full (NMActiveConnection *self,
 const char *
 nm_active_connection_get_settings_connection_id (NMActiveConnection *self)
 {
-	NMSettingsConnection *con;
+	NMSettingsConnection *sett_conn;
 
 	g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (self), NULL);
 
-	con = NM_ACTIVE_CONNECTION_GET_PRIVATE (self)->settings_connection.obj;
-	return con
-	       ? nm_connection_get_id (NM_CONNECTION (con))
+	sett_conn = NM_ACTIVE_CONNECTION_GET_PRIVATE (self)->settings_connection.obj;
+	return sett_conn
+	       ? nm_settings_connection_get_id (sett_conn)
 	       : NULL;
 }
 
@@ -388,31 +388,31 @@ _nm_active_connection_get_settings_connection (NMActiveConnection *self)
 NMSettingsConnection *
 nm_active_connection_get_settings_connection (NMActiveConnection *self)
 {
-	NMSettingsConnection *con;
+	NMSettingsConnection *sett_conn;
 
-	con = _nm_active_connection_get_settings_connection (self);
+	sett_conn = _nm_active_connection_get_settings_connection (self);
 
 	/* Only call this function on an active-connection that is already
 	 * fully set-up (i.e. that has a settings-connection). Other uses
 	 * indicate a bug. */
-	g_return_val_if_fail (con, NULL);
-	return con;
+	g_return_val_if_fail (sett_conn, NULL);
+	return sett_conn;
 }
 
 NMConnection *
 nm_active_connection_get_applied_connection (NMActiveConnection *self)
 {
-	NMConnection *con;
+	NMConnection *connection;
 
 	g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (self), NULL);
 
-	con = NM_ACTIVE_CONNECTION_GET_PRIVATE (self)->applied_connection;
+	connection = NM_ACTIVE_CONNECTION_GET_PRIVATE (self)->applied_connection;
 
 	/* Only call this function on an active-connection that is already
 	 * fully set-up (i.e. that has a settings-connection). Other uses
 	 * indicate a bug. */
-	g_return_val_if_fail (con, NULL);
-	return con;
+	g_return_val_if_fail (connection, NULL);
+	return connection;
 }
 
 static void
@@ -447,7 +447,7 @@ _set_applied_connection_take (NMActiveConnection *self,
 
 void
 nm_active_connection_set_settings_connection (NMActiveConnection *self,
-                                              NMSettingsConnection *connection)
+                                              NMSettingsConnection *sett_conn)
 {
 	NMActiveConnectionPrivate *priv;
 
@@ -455,7 +455,7 @@ nm_active_connection_set_settings_connection (NMActiveConnection *self,
 
 	priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
 
-	g_return_if_fail (NM_IS_SETTINGS_CONNECTION (connection));
+	g_return_if_fail (NM_IS_SETTINGS_CONNECTION (sett_conn));
 	g_return_if_fail (!priv->settings_connection.obj);
 	g_return_if_fail (!priv->applied_connection);
 
@@ -468,10 +468,10 @@ nm_active_connection_set_settings_connection (NMActiveConnection *self,
 	 * For example, we'd have to cancel all pending seret requests. */
 	g_return_if_fail (!nm_dbus_object_is_exported (NM_DBUS_OBJECT (self)));
 
-	_set_settings_connection (self, connection);
+	_set_settings_connection (self, sett_conn);
 
 	_set_applied_connection_take (self,
-	                              nm_simple_connection_new_clone (NM_CONNECTION (priv->settings_connection.obj)));
+	                              nm_simple_connection_new_clone (nm_settings_connection_get_connection (priv->settings_connection.obj)));
 }
 
 gboolean
@@ -503,8 +503,10 @@ nm_active_connection_clear_secrets (NMActiveConnection *self)
 
 	if (nm_settings_connection_has_unmodified_applied_connection (priv->settings_connection.obj,
 	                                                              priv->applied_connection,
-	                                                              NM_SETTING_COMPARE_FLAG_NONE))
-		nm_connection_clear_secrets ((NMConnection *) priv->settings_connection.obj);
+	                                                              NM_SETTING_COMPARE_FLAG_NONE)) {
+		/* FIXME(copy-on-write-connection): avoid modifying NMConnection instances and share them via copy-on-write. */
+		nm_connection_clear_secrets (nm_settings_connection_get_connection (priv->settings_connection.obj));
+	}
 	nm_connection_clear_secrets (priv->applied_connection);
 }
 
@@ -921,7 +923,7 @@ _settings_connection_flags_changed (NMSettingsConnection *settings_connection,
 
 	_set_activation_type_managed (self);
 	if (!nm_device_reapply (nm_active_connection_get_device (self),
-	                        NM_CONNECTION (nm_active_connection_get_settings_connection (self)),
+	                        nm_settings_connection_get_connection ((nm_active_connection_get_settings_connection (self))),
 	                        &error)) {
 		_LOGW ("failed to reapply new device settings on previously externally managed device: %s",
 		       error->message);
@@ -1112,7 +1114,7 @@ nm_active_connection_authorize (NMActiveConnection *self,
 {
 	NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
 	const char *wifi_permission = NULL;
-	NMConnection *con;
+	NMConnection *connection;
 
 	g_return_if_fail (result_func);
 	g_return_if_fail (!priv->auth.call_id_network_control);
@@ -1122,11 +1124,11 @@ nm_active_connection_authorize (NMActiveConnection *self,
 		g_return_if_fail (NM_IS_CONNECTION (initial_connection));
 		g_return_if_fail (!priv->settings_connection.obj);
 		g_return_if_fail (!priv->applied_connection);
-		con = initial_connection;
+		connection = initial_connection;
 	} else {
 		g_return_if_fail (NM_IS_SETTINGS_CONNECTION (priv->settings_connection.obj));
 		g_return_if_fail (NM_IS_CONNECTION (priv->applied_connection));
-		con = priv->applied_connection;
+		connection = priv->applied_connection;
 	}
 
 	priv->auth.call_id_network_control = nm_auth_manager_check_authorization (nm_auth_manager_get (),
@@ -1137,7 +1139,7 @@ nm_active_connection_authorize (NMActiveConnection *self,
 	                                                                          self);
 
 	/* Shared wifi connections require special permissions too */
-	wifi_permission = nm_utils_get_shared_wifi_permission (con);
+	wifi_permission = nm_utils_get_shared_wifi_permission (connection);
 	if (wifi_permission) {
 		priv->auth.call_id_wifi_shared_permission = nm_auth_manager_check_authorization (nm_auth_manager_get (),
 		                                                                                 priv->subject,
@@ -1227,13 +1229,13 @@ get_property (GObject *object, guint prop_id,
 		g_value_set_string (value, nm_dbus_track_obj_path_get (&priv->settings_connection));
 		break;
 	case PROP_ID:
-		g_value_set_string (value, nm_connection_get_id (NM_CONNECTION (priv->settings_connection.obj)));
+		g_value_set_string (value, nm_settings_connection_get_id (priv->settings_connection.obj));
 		break;
 	case PROP_UUID:
-		g_value_set_string (value, nm_connection_get_uuid (NM_CONNECTION (priv->settings_connection.obj)));
+		g_value_set_string (value, nm_settings_connection_get_uuid (priv->settings_connection.obj));
 		break;
 	case PROP_TYPE:
-		g_value_set_string (value, nm_connection_get_connection_type (NM_CONNECTION (priv->settings_connection.obj)));
+		g_value_set_string (value, nm_settings_connection_get_connection_type (priv->settings_connection.obj));
 		break;
 
 	case PROP_SPECIFIC_OBJECT:
@@ -1304,16 +1306,16 @@ set_property (GObject *object, guint prop_id,
 	NMActiveConnection *self = (NMActiveConnection *) object;
 	NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
 	const char *tmp;
-	NMSettingsConnection *con;
+	NMSettingsConnection *sett_conn;
 	NMConnection *acon;
 	int i;
 
 	switch (prop_id) {
 	case PROP_INT_SETTINGS_CONNECTION:
 		/* construct-only */
-		con = g_value_get_object (value);
-		if (con)
-			_set_settings_connection (self, con);
+		sett_conn = g_value_get_object (value);
+		if (sett_conn)
+			_set_settings_connection (self, sett_conn);
 		break;
 	case PROP_INT_APPLIED_CONNECTION:
 		/* construct-only */
@@ -1410,7 +1412,7 @@ constructed (GObject *object)
 
 	if (   !priv->applied_connection
 	    && priv->settings_connection.obj)
-		priv->applied_connection = nm_simple_connection_new_clone (NM_CONNECTION (priv->settings_connection.obj));
+		priv->applied_connection = nm_simple_connection_new_clone (nm_settings_connection_get_connection (priv->settings_connection.obj));
 
 	_LOGD ("constructed (%s, version-id %llu, type %s)",
 	       G_OBJECT_TYPE_NAME (self),