summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2013-11-21 09:19:18 -0500
committerDan Winship <danw@gnome.org>2013-11-22 13:51:25 -0500
commit461920bb96c352f81a7326deef83df1845b21d4f (patch)
tree4751f271885e7cee1b665d0924055bdcfb66c364
parent472ee8104d3247ca9ee7a3fbea0da7939e0c99a2 (diff)
downloadNetworkManager-461920bb96c352f81a7326deef83df1845b21d4f.tar.gz
cli: add NMC_RESULT_ERROR_NOT_FOUND and use as appropriate
This will allow callers to distinguish "no such connection" from "connection failed to activate", etc. https://bugzilla.redhat.com/show_bug.cgi?id=1022256
-rw-r--r--cli/src/connections.c18
-rw-r--r--cli/src/devices.c20
-rw-r--r--cli/src/nmcli.h5
-rw-r--r--man/nmcli.1.in2
4 files changed, 25 insertions, 20 deletions
diff --git a/cli/src/connections.c b/cli/src/connections.c
index 138a83a76c..6a75a5c5fa 100644
--- a/cli/src/connections.c
+++ b/cli/src/connections.c
@@ -536,7 +536,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
printed = nmc_connection_detail (con, nmc);
} else {
g_string_printf (nmc->return_text, _("Error: %s - no such connection."), *argv);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
return nmc->return_value;
}
@@ -1065,7 +1065,7 @@ do_connections_show_active (NmCli *nmc, int argc, char **argv)
printed = nmc_active_connection_detail (acon, nmc); /* separate connections by blank line */
} else {
g_string_printf (nmc->return_text, _("Error: '%s' is not an active connection."), *argv);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
return nmc->return_value;
}
@@ -1536,12 +1536,12 @@ nmc_activate_connection (NmCli *nmc,
} else if (ifname) {
device = nm_client_get_device_by_iface (nmc->client, ifname);
if (!device) {
- g_set_error (error, NMCLI_ERROR, NMC_RESULT_ERROR_CON_ACTIVATION,
+ g_set_error (error, NMCLI_ERROR, NMC_RESULT_ERROR_NOT_FOUND,
_("unknown device '%s'."), ifname);
return FALSE;
}
} else {
- g_set_error_literal (error, NMCLI_ERROR, NMC_RESULT_ERROR_CON_ACTIVATION,
+ g_set_error_literal (error, NMCLI_ERROR, NMC_RESULT_ERROR_NOT_FOUND,
_("neither a valid connection nor device given"));
return FALSE;
}
@@ -1662,7 +1662,7 @@ do_connection_up (NmCli *nmc, int argc, char **argv)
if (!nmc_activate_connection (nmc, connection, ifname, ap, nsp, activate_connection_cb, &error)) {
g_string_printf (nmc->return_text, _("Error: %s."),
error ? error->message : _("unknown error"));
- nmc->return_value = NMC_RESULT_ERROR_CON_ACTIVATION;
+ nmc->return_value = error ? error->code : NMC_RESULT_ERROR_CON_ACTIVATION;
g_clear_error (&error);
goto error;
}
@@ -1734,7 +1734,7 @@ do_connection_down (NmCli *nmc, int argc, char **argv)
nm_client_deactivate_connection (nmc->client, active);
} else {
g_string_printf (nmc->return_text, _("Error: '%s' is not an active connection."), *arg_ptr);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -7018,7 +7018,7 @@ do_connection_edit (NmCli *nmc, int argc, char **argv)
found_con = find_connection (nmc->system_connections, selector, con);
if (!found_con) {
g_string_printf (nmc->return_text, _("Error: Unknown connection '%s'."), con);
- nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -7214,7 +7214,7 @@ do_connection_modify (NmCli *nmc, int argc, char **argv)
connection = find_connection (nmc->system_connections, selector, name);
if (!connection) {
g_string_printf (nmc->return_text, _("Error: Unknown connection '%s'."), name);
- nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto finish;
}
strv = g_strsplit (set_prop, ".", 2);
@@ -7397,7 +7397,7 @@ finish:
g_string_truncate (invalid_cons, invalid_cons->len-2); /* truncate trailing ", " */
g_string_printf (nmc->return_text, _("Error: cannot delete unknown connection(s): %s."),
invalid_cons->str);
- nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
g_string_free (invalid_cons, TRUE);
}
return nmc->return_value;
diff --git a/cli/src/devices.c b/cli/src/devices.c
index cad0723f9c..54a06893ff 100644
--- a/cli/src/devices.c
+++ b/cli/src/devices.c
@@ -1124,7 +1124,7 @@ do_devices_show (NmCli *nmc, int argc, char **argv)
}
if (!device) {
g_string_printf (nmc->return_text, _("Error: Device '%s' not found."), ifname);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
show_device_info (device, nmc);
@@ -1279,7 +1279,7 @@ do_device_connect (NmCli *nmc, int argc, char **argv)
if (!device) {
g_string_printf (nmc->return_text, _("Error: Device '%s' not found."), ifname);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -1414,7 +1414,7 @@ do_device_disconnect (NmCli *nmc, int argc, char **argv)
if (!device) {
g_string_printf (nmc->return_text, _("Error: Device '%s' not found."), ifname);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -1557,7 +1557,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv)
}
if (!device) {
g_string_printf (nmc->return_text, _("Error: Device '%s' not found."), ifname);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -1581,7 +1581,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv)
if (!ap) {
g_string_printf (nmc->return_text, _("Error: Access point with bssid '%s' not found."),
bssid_user);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
/* Add headers (field names) */
@@ -1650,7 +1650,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv)
if (!ap) {
g_string_printf (nmc->return_text, _("Error: Access point with bssid '%s' not found."),
bssid_user);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
} else {
@@ -2014,7 +2014,7 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv)
g_string_printf (nmc->return_text, _("Error: No network with SSID '%s' found."), param_user);
else
g_string_printf (nmc->return_text, _("Error: No access point with BSSID '%s' found."), param_user);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -2301,7 +2301,7 @@ do_device_wimax_list (NmCli *nmc, int argc, char **argv)
if (!device) {
g_string_printf (nmc->return_text, _("Error: Device '%s' not found."), ifname);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
@@ -2324,7 +2324,7 @@ do_device_wimax_list (NmCli *nmc, int argc, char **argv)
}
if (!nsp) {
g_string_printf (nmc->return_text, _("Error: NSP with name '%s' not found."), nsp_user);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
/* Add headers (field names) */
@@ -2375,7 +2375,7 @@ do_device_wimax_list (NmCli *nmc, int argc, char **argv)
}
if (!nsp) {
g_string_printf (nmc->return_text, _("Error: Access point with nsp '%s' not found."), nsp_user);
- nmc->return_value = NMC_RESULT_ERROR_UNKNOWN;
+ nmc->return_value = NMC_RESULT_ERROR_NOT_FOUND;
goto error;
}
} else {
diff --git a/cli/src/nmcli.h b/cli/src/nmcli.h
index d63a5cd5ff..c80c4fd4f7 100644
--- a/cli/src/nmcli.h
+++ b/cli/src/nmcli.h
@@ -55,7 +55,10 @@ typedef enum {
NMC_RESULT_ERROR_NM_NOT_RUNNING = 8,
/* nmcli and NetworkManager versions mismatch */
- NMC_RESULT_ERROR_VERSIONS_MISMATCH = 9
+ NMC_RESULT_ERROR_VERSIONS_MISMATCH = 9,
+
+ /* Connection/Device/AP not found */
+ NMC_RESULT_ERROR_NOT_FOUND = 10
} NMCResultCode;
typedef enum {
diff --git a/man/nmcli.1.in b/man/nmcli.1.in
index 540283f69c..6134ef77da 100644
--- a/man/nmcli.1.in
+++ b/man/nmcli.1.in
@@ -755,6 +755,8 @@ Connection deletion failed
NetworkManager is not running
.IP "9" 4
\fInmcli\fP and \fINetworkManager\fP versions mismatch
+.IP "10" 4
+Connection, device, or access point does not exist.
.SH EXAMPLES
.PP