diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-11-29 17:31:31 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2018-11-29 17:31:42 +0100 |
commit | bedeef77586652c730e0b1e838075390c697e460 (patch) | |
tree | 10103a228de0531e547289cd38e4544fbff1ca66 | |
parent | 13efc365c8cd6067404f76f40a3ebe219e8845cf (diff) | |
download | NetworkManager-lr/balrog-kun/cli-d-wifi-connect.tar.gz |
cli/devices: remove redundant Device/AC state evaluationlr/balrog-kun/cli-d-wifi-connect
The state handling in add_and_activate_cb() and connect_device_cb() is
redundant to connected_state_cb() and in fact executed only if the
activation is really really really quick (which it never is).
Also, the return_text those implementations provide is different from
what connected_state_cb(), potentially confusing the users and adding
extra work for translators.
Not to mention extra lines of code, reading whose wastes our precious
time on the planet we could spend doing heroin instead.
-rw-r--r-- | clients/cli/devices.c | 46 |
1 files changed, 7 insertions, 39 deletions
diff --git a/clients/cli/devices.c b/clients/cli/devices.c index 2131d56cbf..d513a7f5bf 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -1849,7 +1849,6 @@ add_and_activate_cb (GObject *client, AddAndActivateInfo *info = (AddAndActivateInfo *) user_data; NmCli *nmc = info->nmc; NMDevice *device = info->device; - NMActiveConnectionState state; NMActiveConnection *active; GError *error = NULL; @@ -1872,36 +1871,7 @@ add_and_activate_cb (GObject *client, nmc->return_value = NMC_RESULT_ERROR_CON_ACTIVATION; quit (); } else { - state = nm_active_connection_get_state (active); - - if (state == NM_ACTIVE_CONNECTION_STATE_UNKNOWN) { - if (info->hotspot) - g_string_printf (nmc->return_text, _("Error: Failed to setup a Wi-Fi hotspot")); - else if (info->create) - g_string_printf (nmc->return_text, _("Error: Failed to add/activate new connection: Unknown error")); - else - g_string_printf (nmc->return_text, _("Error: Failed to activate connection: Unknown error")); - nmc->return_value = NMC_RESULT_ERROR_CON_ACTIVATION; - g_object_unref (active); - quit (); - } - - if (nmc->nowait_flag || state == NM_ACTIVE_CONNECTION_STATE_ACTIVATED) { - /* User doesn't want to wait or already activated */ - if (state == NM_ACTIVE_CONNECTION_STATE_ACTIVATED) { - if (nmc->nmc_config.print_output == NMC_PRINT_PRETTY) - nmc_terminal_erase_line (); - if (info->hotspot) - g_print (_("Hotspot '%s' activated on device '%s'\n"), - nm_active_connection_get_id (active), nm_device_get_iface (device)); - else if (info->create) - g_print (_("Connection with UUID '%s' created and activated on device '%s'\n"), - nm_active_connection_get_uuid (active), nm_device_get_iface (device)); - else - g_print (_("Connection with ID '%s', UUID '%s' activated on device '%s'\n"), - nm_active_connection_get_id (active), nm_active_connection_get_uuid (active), - nm_device_get_iface (device)); - } + if (nmc->nowait_flag) { g_object_unref (active); quit (); } else { @@ -1909,6 +1879,8 @@ add_and_activate_cb (GObject *client, g_signal_connect (device, "notify::state", G_CALLBACK (device_state_cb), active); g_signal_connect (active, "notify::state", G_CALLBACK (active_state_cb), device); + connected_state_cb (device, active); + g_timeout_add_seconds (nmc->timeout, timeout_cb, nmc); /* Exit if timeout expires */ if (nmc->nmc_config.print_output == NMC_PRINT_PRETTY) @@ -1952,7 +1924,6 @@ connect_device_cb (GObject *client, GAsyncResult *result, gpointer user_data) GError *error = NULL; const GPtrArray *devices; NMDevice *device; - NMDeviceState state; active = nm_client_activate_connection_finish (NM_CLIENT (client), result, &error); @@ -1982,14 +1953,8 @@ connect_device_cb (GObject *client, GAsyncResult *result, gpointer user_data) } device = g_ptr_array_index (devices, 0); - state = nm_device_get_state (device); - if (nmc->nowait_flag || state == NM_DEVICE_STATE_ACTIVATED) { - /* Don't want to wait or device already activated */ - if (state == NM_DEVICE_STATE_ACTIVATED && nmc->nmc_config.print_output == NMC_PRINT_PRETTY) { - nmc_terminal_erase_line (); - g_print (_("Device '%s' has been connected.\n"), nm_device_get_iface (device)); - } + if (nmc->nowait_flag) { g_object_unref (active); quit (); } else { @@ -2003,6 +1968,9 @@ connect_device_cb (GObject *client, GAsyncResult *result, gpointer user_data) g_object_ref (device); g_signal_connect (device, "notify::state", G_CALLBACK (device_state_cb), active); g_signal_connect (active, "notify::state", G_CALLBACK (active_state_cb), device); + + connected_state_cb (device, active); + /* Start timer not to loop forever if "notify::state" signal is not issued */ g_timeout_add_seconds (nmc->timeout, timeout_cb, nmc); } |