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 #include #include @@ -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 #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 */