diff options
author | Thomas Haller <thaller@redhat.com> | 2020-04-05 11:47:07 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2020-04-09 21:51:06 +0200 |
commit | 9e6a0192e205c3ff964624f49b958d48eea78dbd (patch) | |
tree | 6956a5b1c895d0eb9836040eb800f76624a03c83 | |
parent | baee24c183449ac1230775313a13e7ef6e4ebd38 (diff) | |
download | NetworkManager-9e6a0192e205c3ff964624f49b958d48eea78dbd.tar.gz |
cli: cleanup NMCCommand and declarations of func implementations
- move the main func declarations to nmcli.h and give them a common
prefix "nmc_command_func_" prefix.
- remove some of the header files that are now empty. In fact, these
headers did not really declare some well separated module. While we
probably should structure the code in nmcli better with better layering,
it was not and still is not. Having these dummy headers don't mean that
the code is well structured and they serve little purpose.
- move the static NMCommand lists variables into the function scope
where they are used.
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | clients/cli/agent.c | 21 | ||||
-rw-r--r-- | clients/cli/agent.h | 13 | ||||
-rw-r--r-- | clients/cli/common.h | 8 | ||||
-rw-r--r-- | clients/cli/connections.c | 43 | ||||
-rw-r--r-- | clients/cli/connections.h | 2 | ||||
-rw-r--r-- | clients/cli/devices.c | 36 | ||||
-rw-r--r-- | clients/cli/devices.h | 2 | ||||
-rw-r--r-- | clients/cli/general.c | 84 | ||||
-rw-r--r-- | clients/cli/general.h | 17 | ||||
-rw-r--r-- | clients/cli/nmcli.c | 23 | ||||
-rw-r--r-- | clients/cli/nmcli.h | 21 |
12 files changed, 108 insertions, 164 deletions
diff --git a/Makefile.am b/Makefile.am index 04c767adb2..5cff6eb12f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4481,9 +4481,7 @@ clients_cli_nmcli_SOURCES = \ clients/cli/utils.c \ clients/cli/utils.h \ clients/cli/agent.c \ - clients/cli/agent.h \ clients/cli/general.c \ - clients/cli/general.h \ clients/cli/connections.c \ clients/cli/connections.h \ clients/cli/devices.c \ diff --git a/clients/cli/agent.c b/clients/cli/agent.c index 93b5ca079a..699d4d4644 100644 --- a/clients/cli/agent.c +++ b/clients/cli/agent.c @@ -5,8 +5,6 @@ #include "nm-default.h" -#include "agent.h" - #include <stdio.h> #include <stdlib.h> #include <readline/readline.h> @@ -227,18 +225,17 @@ do_agent_all (NmCli *nmc, int argc, char **argv) return nmc->return_value; } -static const NMCCommand agent_cmds[] = { - { "secret", do_agent_secret, usage_agent_secret, TRUE, TRUE }, - { "polkit", do_agent_polkit, usage_agent_polkit, TRUE, TRUE }, - { "all", do_agent_all, usage_agent_all, TRUE, TRUE }, - { NULL, do_agent_all, usage, TRUE, TRUE }, -}; - NMCResultCode -do_agent (NmCli *nmc, int argc, char **argv) +nmc_command_func_agent (NmCli *nmc, int argc, char **argv) { - next_arg (nmc, &argc, &argv, NULL); - nmc_do_cmd (nmc, agent_cmds, *argv, argc, argv); + static const NMCCommand cmds[] = { + { "secret", do_agent_secret, usage_agent_secret, TRUE, TRUE }, + { "polkit", do_agent_polkit, usage_agent_polkit, TRUE, TRUE }, + { "all", do_agent_all, usage_agent_all, TRUE, TRUE }, + { NULL, do_agent_all, usage, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } diff --git a/clients/cli/agent.h b/clients/cli/agent.h deleted file mode 100644 index aad56bba1c..0000000000 --- a/clients/cli/agent.h +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2014 Red Hat, Inc. - */ - -#ifndef __NMC_AGENT_H__ -#define __NMC_AGENT_H__ - -#include "nmcli.h" - -NMCResultCode do_agent (NmCli *nmc, int argc, char **argv); - -#endif /* __NMC_AGENT_H__ */ diff --git a/clients/cli/common.h b/clients/cli/common.h index f8fad8c673..7bc4d383e3 100644 --- a/clients/cli/common.h +++ b/clients/cli/common.h @@ -62,14 +62,6 @@ int nmc_rl_set_deftext (void); char *nmc_parse_lldp_capabilities (guint value); -typedef struct { - const char *cmd; - NMCResultCode (*func) (NmCli *nmc, int argc, char **argv); - void (*usage) (void); - gboolean needs_client; - gboolean needs_nm_running; -} NMCCommand; - void nmc_do_cmd (NmCli *nmc, const NMCCommand cmds[], const char *cmd, int argc, char **argv); void nmc_complete_strv (const char *prefix, gssize nargs, const char *const*args); diff --git a/clients/cli/connections.c b/clients/cli/connections.c index 7fe22adf63..ff45473a92 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -9342,37 +9342,34 @@ nmcli_con_tab_completion (const char *text, int start, int end) return match_array; } -static const NMCCommand connection_cmds[] = { - { "show", do_connections_show, usage_connection_show, TRUE, TRUE }, - { "up", do_connection_up, usage_connection_up, TRUE, TRUE }, - { "down", do_connection_down, usage_connection_down, TRUE, TRUE }, - { "add", do_connection_add, usage_connection_add, TRUE, TRUE }, - { "edit", do_connection_edit, usage_connection_edit, TRUE, TRUE }, - { "delete", do_connection_delete, usage_connection_delete, TRUE, TRUE }, - { "reload", do_connection_reload, usage_connection_reload, FALSE, FALSE }, - { "load", do_connection_load, usage_connection_load, TRUE, TRUE }, - { "modify", do_connection_modify, usage_connection_modify, TRUE, TRUE }, - { "clone", do_connection_clone, usage_connection_clone, TRUE, TRUE }, - { "import", do_connection_import, usage_connection_import, TRUE, TRUE }, - { "export", do_connection_export, usage_connection_export, TRUE, TRUE }, - { "monitor", do_connection_monitor, usage_connection_monitor, TRUE, TRUE }, - { NULL, do_connections_show, usage, TRUE, TRUE }, -}; - -/* Entry point function for connections-related commands: 'nmcli connection' */ NMCResultCode -do_connections (NmCli *nmc, int argc, char **argv) -{ +nmc_command_func_connection (NmCli *nmc, int argc, char **argv) +{ + static const NMCCommand cmds[] = { + { "show", do_connections_show, usage_connection_show, TRUE, TRUE }, + { "up", do_connection_up, usage_connection_up, TRUE, TRUE }, + { "down", do_connection_down, usage_connection_down, TRUE, TRUE }, + { "add", do_connection_add, usage_connection_add, TRUE, TRUE }, + { "edit", do_connection_edit, usage_connection_edit, TRUE, TRUE }, + { "delete", do_connection_delete, usage_connection_delete, TRUE, TRUE }, + { "reload", do_connection_reload, usage_connection_reload, FALSE, FALSE }, + { "load", do_connection_load, usage_connection_load, TRUE, TRUE }, + { "modify", do_connection_modify, usage_connection_modify, TRUE, TRUE }, + { "clone", do_connection_clone, usage_connection_clone, TRUE, TRUE }, + { "import", do_connection_import, usage_connection_import, TRUE, TRUE }, + { "export", do_connection_export, usage_connection_export, TRUE, TRUE }, + { "monitor",do_connection_monitor, usage_connection_monitor, TRUE, TRUE }, + { NULL, do_connections_show, usage, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); - /* Register polkit agent */ nmc_start_polkit_agent_start_try (nmc); /* Set completion function for 'nmcli con' */ rl_attempted_completion_function = nmcli_con_tab_completion; - nmc_do_cmd (nmc, connection_cmds, *argv, argc, argv); - + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } diff --git a/clients/cli/connections.h b/clients/cli/connections.h index b419ba9c00..65d4ef13b7 100644 --- a/clients/cli/connections.h +++ b/clients/cli/connections.h @@ -8,8 +8,6 @@ #include "nmcli.h" -NMCResultCode do_connections (NmCli *nmc, int argc, char **argv); - void monitor_connections (NmCli *nmc); gboolean diff --git a/clients/cli/devices.c b/clients/cli/devices.c index 94f7c3c214..62cbdff0b4 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -4671,33 +4671,31 @@ nmcli_device_tab_completion (const char *text, int start, int end) return match_array; } -static const NMCCommand device_cmds[] = { - { "status", do_devices_status, usage_device_status, TRUE, TRUE }, - { "show", do_device_show, usage_device_show, TRUE, TRUE }, - { "connect", do_device_connect, usage_device_connect, TRUE, TRUE }, - { "reapply", do_device_reapply, usage_device_reapply, TRUE, TRUE }, - { "disconnect", do_devices_disconnect, usage_device_disconnect, TRUE, TRUE }, - { "delete", do_devices_delete, usage_device_delete, TRUE, TRUE }, - { "set", do_device_set, usage_device_set, TRUE, TRUE }, - { "monitor", do_devices_monitor, usage_device_monitor, TRUE, TRUE }, - { "wifi", do_device_wifi, usage_device_wifi, FALSE, FALSE }, - { "lldp", do_device_lldp, usage_device_lldp, FALSE, FALSE }, - { "modify", do_device_modify, usage_device_modify, TRUE, TRUE }, - { NULL, do_devices_status, usage, TRUE, TRUE }, -}; - NMCResultCode -do_devices (NmCli *nmc, int argc, char **argv) +nmc_command_func_device (NmCli *nmc, int argc, char **argv) { + static const NMCCommand cmds[] = { + { "status", do_devices_status, usage_device_status, TRUE, TRUE }, + { "show", do_device_show, usage_device_show, TRUE, TRUE }, + { "connect", do_device_connect, usage_device_connect, TRUE, TRUE }, + { "reapply", do_device_reapply, usage_device_reapply, TRUE, TRUE }, + { "disconnect", do_devices_disconnect, usage_device_disconnect, TRUE, TRUE }, + { "delete", do_devices_delete, usage_device_delete, TRUE, TRUE }, + { "set", do_device_set, usage_device_set, TRUE, TRUE }, + { "monitor", do_devices_monitor, usage_device_monitor, TRUE, TRUE }, + { "wifi", do_device_wifi, usage_device_wifi, FALSE, FALSE }, + { "lldp", do_device_lldp, usage_device_lldp, FALSE, FALSE }, + { "modify", do_device_modify, usage_device_modify, TRUE, TRUE }, + { NULL, do_devices_status, usage, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); - /* Register polkit agent */ nmc_start_polkit_agent_start_try (nmc); rl_attempted_completion_function = (rl_completion_func_t *) nmcli_device_tab_completion; - nmc_do_cmd (nmc, device_cmds, *argv, argc, argv); - + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } diff --git a/clients/cli/devices.h b/clients/cli/devices.h index 055d56e717..8b7aa90198 100644 --- a/clients/cli/devices.h +++ b/clients/cli/devices.h @@ -8,8 +8,6 @@ #include "nmcli.h" -NMCResultCode do_devices (NmCli *nmc, int argc, char **argv); - void nmc_complete_device (NMClient *client, const char *prefix, gboolean wifi_only); void nmc_complete_bssid (NMClient *client, const char *ifname, const char *bssid_prefix); diff --git a/clients/cli/general.c b/clients/cli/general.c index 6e7410ed20..893912aacb 100644 --- a/clients/cli/general.c +++ b/clients/cli/general.c @@ -5,8 +5,6 @@ #include "nm-default.h" -#include "general.h" - #include <stdlib.h> #include "nm-libnm-core-intern/nm-common-macros.h" @@ -868,28 +866,23 @@ do_general_hostname (NmCli *nmc, int argc, char **argv) } -static const NMCCommand general_cmds[] = { - { "status", do_general_status, usage_general_status, TRUE, TRUE }, - { "hostname", do_general_hostname, usage_general_hostname, TRUE, TRUE }, - { "permissions", do_general_permissions, usage_general_permissions, TRUE, TRUE }, - { "logging", do_general_logging, usage_general_logging, TRUE, TRUE }, - { "reload", do_general_reload, usage_general_reload, FALSE, FALSE }, - { NULL, do_general_status, usage_general, TRUE, TRUE }, -}; - -/* - * Entry point function for general operations 'nmcli general' - */ NMCResultCode -do_general (NmCli *nmc, int argc, char **argv) +nmc_command_func_general (NmCli *nmc, int argc, char **argv) { + static const NMCCommand cmds[] = { + { "status", do_general_status, usage_general_status, TRUE, TRUE }, + { "hostname", do_general_hostname, usage_general_hostname, TRUE, TRUE }, + { "permissions", do_general_permissions, usage_general_permissions, TRUE, TRUE }, + { "logging", do_general_logging, usage_general_logging, TRUE, TRUE }, + { "reload", do_general_reload, usage_general_reload, FALSE, FALSE }, + { NULL, do_general_status, usage_general, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); - /* Register polkit agent */ nmc_start_polkit_agent_start_try (nmc); - nmc_do_cmd (nmc, general_cmds, *argv, argc, argv); - + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } @@ -1039,22 +1032,18 @@ do_networking_show (NmCli *nmc, int argc, char **argv) return nmc->return_value; } -static const NMCCommand networking_cmds[] = { - { "on", do_networking_on, usage_networking_on, TRUE, TRUE }, - { "off", do_networking_off, usage_networking_off, TRUE, TRUE }, - { "connectivity", do_networking_connectivity, usage_networking_connectivity, TRUE, TRUE }, - { NULL, do_networking_show, usage_networking, TRUE, TRUE }, -}; - -/* - * Entry point function for networking commands 'nmcli networking' - */ NMCResultCode -do_networking (NmCli *nmc, int argc, char **argv) +nmc_command_func_networking (NmCli *nmc, int argc, char **argv) { - next_arg (nmc, &argc, &argv, NULL); - nmc_do_cmd (nmc, networking_cmds, *argv, argc, argv); + static const NMCCommand cmds[] = { + { "on", do_networking_on, usage_networking_on, TRUE, TRUE }, + { "off", do_networking_off, usage_networking_off, TRUE, TRUE }, + { "connectivity", do_networking_connectivity, usage_networking_connectivity, TRUE, TRUE }, + { NULL, do_networking_show, usage_networking, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } @@ -1168,26 +1157,21 @@ do_radio_wwan (NmCli *nmc, int argc, char **argv) return nmc->return_value; } -static const NMCCommand radio_cmds[] = { - { "all", do_radio_all, usage_radio_all, TRUE, TRUE }, - { "wifi", do_radio_wifi, usage_radio_wifi, TRUE, TRUE }, - { "wwan", do_radio_wwan, usage_radio_wwan, TRUE, TRUE }, - { NULL, do_radio_all, usage_radio, TRUE, TRUE }, -}; - -/* - * Entry point function for radio switch commands 'nmcli radio' - */ NMCResultCode -do_radio (NmCli *nmc, int argc, char **argv) +nmc_command_func_radio (NmCli *nmc, int argc, char **argv) { + static const NMCCommand cmds[] = { + { "all", do_radio_all, usage_radio_all, TRUE, TRUE }, + { "wifi", do_radio_wifi, usage_radio_wifi, TRUE, TRUE }, + { "wwan", do_radio_wwan, usage_radio_wwan, TRUE, TRUE }, + { NULL, do_radio_all, usage_radio, TRUE, TRUE }, + }; + next_arg (nmc, &argc, &argv, NULL); - /* Register polkit agent */ nmc_start_polkit_agent_start_try (nmc); - nmc_do_cmd (nmc, radio_cmds, *argv, argc, argv); - + nmc_do_cmd (nmc, cmds, *argv, argc, argv); return nmc->return_value; } @@ -1428,11 +1412,8 @@ ac_overview (NmCli *nmc, NMActiveConnection *ac) g_string_free (outbuf, TRUE); } -/* - * Entry point function for 'nmcli' without arguments. - */ NMCResultCode -do_overview (NmCli *nmc, int argc, char **argv) +nmc_command_func_overview (NmCli *nmc, int argc, char **argv) { NMDevice **devices; const GPtrArray *p; @@ -1546,11 +1527,8 @@ do_overview (NmCli *nmc, int argc, char **argv) return NMC_RESULT_SUCCESS; } -/* - * Entry point function for 'nmcli monitor' - */ NMCResultCode -do_monitor (NmCli *nmc, int argc, char **argv) +nmc_command_func_monitor (NmCli *nmc, int argc, char **argv) { next_arg (nmc, &argc, &argv, NULL); diff --git a/clients/cli/general.h b/clients/cli/general.h deleted file mode 100644 index dd63e43f72..0000000000 --- a/clients/cli/general.h +++ /dev/null @@ -1,17 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2010 - 2014 Red Hat, Inc. - */ - -#ifndef NMC_GENERAL_H -#define NMC_GENERAL_H - -#include "nmcli.h" - -NMCResultCode do_general (NmCli *nmc, int argc, char **argv); -NMCResultCode do_networking (NmCli *nmc, int argc, char **argv); -NMCResultCode do_radio (NmCli *nmc, int argc, char **argv); -NMCResultCode do_monitor (NmCli *nmc, int argc, char **argv); -NMCResultCode do_overview (NmCli *nmc, int argc, char **argv); - -#endif /* NMC_GENERAL_H */ diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c index 08d3ab16e0..d6bc3e512f 100644 --- a/clients/cli/nmcli.c +++ b/clients/cli/nmcli.c @@ -25,8 +25,6 @@ #include "common.h" #include "connections.h" #include "devices.h" -#include "general.h" -#include "agent.h" #include "settings.h" #if defined(NM_DIST_VERSION) @@ -258,17 +256,6 @@ usage (void) "\n")); } -static const NMCCommand nmcli_cmds[] = { - { "general", do_general, NULL, FALSE, FALSE }, - { "monitor", do_monitor, NULL, TRUE, FALSE }, - { "networking", do_networking, NULL, FALSE, FALSE }, - { "radio", do_radio, NULL, FALSE, FALSE }, - { "connection", do_connections, NULL, FALSE, FALSE }, - { "device", do_devices, NULL, FALSE, FALSE }, - { "agent", do_agent, NULL, FALSE, FALSE }, - { NULL, do_overview, usage, TRUE, TRUE }, -}; - static gboolean matches_arg (NmCli *nmc, int *argc, char ***argv, const char *pattern, char **arg) { @@ -702,6 +689,16 @@ set_colors (NmcColorOption color_option, static gboolean process_command_line (NmCli *nmc, int argc, char **argv) { + static const NMCCommand nmcli_cmds[] = { + { "general", nmc_command_func_general, NULL, FALSE, FALSE }, + { "monitor", nmc_command_func_monitor, NULL, TRUE, FALSE }, + { "networking", nmc_command_func_networking, NULL, FALSE, FALSE }, + { "radio", nmc_command_func_radio, NULL, FALSE, FALSE }, + { "connection", nmc_command_func_connection, NULL, FALSE, FALSE }, + { "device", nmc_command_func_device, NULL, FALSE, FALSE }, + { "agent", nmc_command_func_agent, NULL, FALSE, FALSE }, + { NULL, nmc_command_func_overview, usage, TRUE, TRUE }, + }; NmcColorOption colors = NMC_USE_COLOR_AUTO; char *base; diff --git a/clients/cli/nmcli.h b/clients/cli/nmcli.h index 96a1be1dde..0f071dc07b 100644 --- a/clients/cli/nmcli.h +++ b/clients/cli/nmcli.h @@ -164,4 +164,25 @@ void nmc_empty_output_fields (NmcOutputData *output_data); .output_data = g_ptr_array_new_full (20, g_free), \ } +/*****************************************************************************/ + +typedef struct { + const char *cmd; + NMCResultCode (*func) (NmCli *nmc, int argc, char **argv); + void (*usage) (void); + bool needs_client; + bool needs_nm_running; +} NMCCommand; + +NMCResultCode nmc_command_func_agent (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_general (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_networking (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_radio (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_monitor (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_overview (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_connection (NmCli *nmc, int argc, char **argv); +NMCResultCode nmc_command_func_device (NmCli *nmc, int argc, char **argv); + +/*****************************************************************************/ + #endif /* NMC_NMCLI_H */ |