summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-04-05 11:47:07 +0200
committerThomas Haller <thaller@redhat.com>2020-04-09 21:51:06 +0200
commit9e6a0192e205c3ff964624f49b958d48eea78dbd (patch)
tree6956a5b1c895d0eb9836040eb800f76624a03c83
parentbaee24c183449ac1230775313a13e7ef6e4ebd38 (diff)
downloadNetworkManager-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.am2
-rw-r--r--clients/cli/agent.c21
-rw-r--r--clients/cli/agent.h13
-rw-r--r--clients/cli/common.h8
-rw-r--r--clients/cli/connections.c43
-rw-r--r--clients/cli/connections.h2
-rw-r--r--clients/cli/devices.c36
-rw-r--r--clients/cli/devices.h2
-rw-r--r--clients/cli/general.c84
-rw-r--r--clients/cli/general.h17
-rw-r--r--clients/cli/nmcli.c23
-rw-r--r--clients/cli/nmcli.h21
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 */