cli: default to showing modem info if no action specified

This commit is contained in:
Aleksander Morgado
2012-03-15 14:14:34 +01:00
parent c2e4d9cea7
commit 9e1b2105fb
2 changed files with 13 additions and 9 deletions
+9 -8
View File
@@ -43,7 +43,7 @@ static Context *ctx;
/* Options */
static gchar *modem_str;
static gboolean info_flag;
static gboolean info_flag; /* set when no action found */
static gboolean monitor_state_flag;
static gboolean enable_flag;
static gboolean disable_flag;
@@ -55,11 +55,7 @@ static gchar *delete_bearer_str;
static GOptionEntry entries[] = {
{ "modem", 'm', 0, G_OPTION_ARG_STRING, &modem_str,
"Specify modem by path or index",
NULL
},
{ "info", 'i', 0, G_OPTION_ARG_NONE, &info_flag,
"Get information of a given modem",
"Specify modem by path or index. Shows modem information if no action specified.",
NULL
},
{ "monitor-state", 'w', 0, G_OPTION_ARG_NONE, &monitor_state_flag,
@@ -118,8 +114,7 @@ mmcli_modem_options_enabled (void)
{
guint n_actions;
n_actions = (info_flag +
monitor_state_flag +
n_actions = (monitor_state_flag +
enable_flag +
disable_flag +
reset_flag +
@@ -128,6 +123,12 @@ mmcli_modem_options_enabled (void)
!!delete_bearer_str +
!!factory_reset_str);
if (n_actions == 0 && modem_str) {
/* default to info */
info_flag = TRUE;
n_actions++;
}
if (n_actions > 1) {
g_printerr ("error: too many modem actions requested\n");
exit (EXIT_FAILURE);
+4 -1
View File
@@ -220,7 +220,10 @@ main (gint argc, gchar **argv)
else
mmcli_manager_run_synchronous (connection);
}
/* Modem options? */
/* Modem options?
* NOTE: let this check be always the last one, as other groups also need
* having a modem specified, and therefore if -m is set, modem options
* are always enabled. */
else if (mmcli_modem_options_enabled ()) {
if (async_flag)
mmcli_modem_run_asynchronous (connection, cancellable);