mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-06 10:30:39 +01:00
libnm: factor out nml_init_data_return() for reuse
This commit is contained in:
parent
718e524a7f
commit
587c35b1f4
2 changed files with 30 additions and 20 deletions
|
|
@ -440,6 +440,30 @@ nml_init_data_new_async (GCancellable *cancellable,
|
|||
return init_data;
|
||||
}
|
||||
|
||||
void
|
||||
nml_init_data_return (NMLInitData *init_data,
|
||||
GError *error_take)
|
||||
{
|
||||
nm_assert (init_data);
|
||||
|
||||
nm_clear_pointer (&init_data->cancel_on_idle_source, nm_g_source_destroy_and_unref);
|
||||
nm_clear_g_signal_handler (init_data->cancellable, &init_data->cancelled_id);
|
||||
|
||||
if (init_data->is_sync) {
|
||||
if (error_take)
|
||||
g_propagate_error (init_data->data.sync.error_location, error_take);
|
||||
g_main_loop_quit (init_data->data.sync.main_loop);
|
||||
} else {
|
||||
if (error_take)
|
||||
g_task_return_error (init_data->data.async.task, error_take);
|
||||
else
|
||||
g_task_return_boolean (init_data->data.async.task, TRUE);
|
||||
g_object_unref (init_data->data.async.task);
|
||||
}
|
||||
nm_g_object_unref (init_data->cancellable);
|
||||
nm_g_slice_free (init_data);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
GError *
|
||||
|
|
@ -6952,30 +6976,13 @@ _init_start_complete (NMClient *self,
|
|||
GError *error_take)
|
||||
{
|
||||
NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
|
||||
NMLInitData *init_data;
|
||||
|
||||
init_data = g_steal_pointer (&priv->init_data);
|
||||
|
||||
NML_NMCLIENT_LOG_D (self, "%s init complete with %s%s%s",
|
||||
init_data->is_sync ? "sync" : "async",
|
||||
priv->init_data->is_sync ? "sync" : "async",
|
||||
NM_PRINT_FMT_QUOTED (error_take, "error: ", error_take->message, "", "success"));
|
||||
|
||||
nm_clear_pointer (&init_data->cancel_on_idle_source, nm_g_source_destroy_and_unref);
|
||||
nm_clear_g_signal_handler (init_data->cancellable, &init_data->cancelled_id);
|
||||
|
||||
if (init_data->is_sync) {
|
||||
if (error_take)
|
||||
g_propagate_error (init_data->data.sync.error_location, error_take);
|
||||
g_main_loop_quit (init_data->data.sync.main_loop);
|
||||
} else {
|
||||
if (error_take)
|
||||
g_task_return_error (init_data->data.async.task, error_take);
|
||||
else
|
||||
g_task_return_boolean (init_data->data.async.task, TRUE);
|
||||
g_object_unref (init_data->data.async.task);
|
||||
}
|
||||
nm_g_object_unref (init_data->cancellable);
|
||||
nm_g_slice_free (init_data);
|
||||
nml_init_data_return (g_steal_pointer (&priv->init_data),
|
||||
error_take);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -206,6 +206,9 @@ NMLInitData *nml_init_data_new_sync (GCancellable *cancellable,
|
|||
NMLInitData *nml_init_data_new_async (GCancellable *cancellable,
|
||||
GTask *task_take);
|
||||
|
||||
void nml_init_data_return (NMLInitData *init_data,
|
||||
GError *error_take);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef struct _NMLDBusObject NMLDBusObject;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue