device: minor cleanup of nm_device_complete_connection() and add code comment
Regarding the cleanup: remove the success variable and instead error out early.
This commit is contained in:
@@ -135,8 +135,6 @@ complete_connection (NMDevice *device,
|
|||||||
_("ADSL connection"),
|
_("ADSL connection"),
|
||||||
NULL,
|
NULL,
|
||||||
FALSE); /* No IPv6 yet by default */
|
FALSE); /* No IPv6 yet by default */
|
||||||
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -4767,6 +4767,16 @@ nm_device_generate_connection (NMDevice *self,
|
|||||||
return g_steal_pointer (&connection);
|
return g_steal_pointer (&connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nm_device_complete_connection:
|
||||||
|
*
|
||||||
|
* Complete the connection. This is solely used for AddAndActivate where the user
|
||||||
|
* may pass in an incomplete connection and a device, and the device tries to
|
||||||
|
* make sense of it and complete it for activation. Otherwise, this is not
|
||||||
|
* used.
|
||||||
|
*
|
||||||
|
* Returns: success or failure.
|
||||||
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
nm_device_complete_connection (NMDevice *self,
|
nm_device_complete_connection (NMDevice *self,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
@@ -4774,27 +4784,28 @@ nm_device_complete_connection (NMDevice *self,
|
|||||||
const GSList *existing_connections,
|
const GSList *existing_connections,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean success = FALSE;
|
NMDeviceClass *klass;
|
||||||
|
|
||||||
g_return_val_if_fail (self != NULL, FALSE);
|
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
|
||||||
g_return_val_if_fail (connection != NULL, FALSE);
|
g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE);
|
||||||
|
|
||||||
if (!NM_DEVICE_GET_CLASS (self)->complete_connection) {
|
klass = NM_DEVICE_GET_CLASS (self);
|
||||||
|
|
||||||
|
if (!klass->complete_connection) {
|
||||||
g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION,
|
g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION,
|
||||||
"Device class %s had no complete_connection method",
|
"Device class %s had no complete_connection method",
|
||||||
G_OBJECT_TYPE_NAME (self));
|
G_OBJECT_TYPE_NAME (self));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = NM_DEVICE_GET_CLASS (self)->complete_connection (self,
|
if (!klass->complete_connection (self,
|
||||||
connection,
|
connection,
|
||||||
specific_object,
|
specific_object,
|
||||||
existing_connections,
|
existing_connections,
|
||||||
error);
|
error))
|
||||||
if (success)
|
return FALSE;
|
||||||
success = nm_connection_verify (connection, error);
|
|
||||||
|
|
||||||
return success;
|
return nm_connection_verify (connection, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
Reference in New Issue
Block a user