aboutsummaryrefslogtreecommitdiff
path: root/cli/mmcli-manager.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2018-12-03 15:21:29 +0100
committerDan Williams <dcbw@redhat.com>2018-12-04 17:26:59 +0000
commitc7af14cc80509fd05500c747bda379f93a62582d (patch)
treee0b8a0dc36a82bc90eba66364d84b789829677a5 /cli/mmcli-manager.c
parentd0bb8d1d503f2ce01ea85625294c238aa831d298 (diff)
api,manager: new 'Version' property
This string shows the runtime version of the ModemManager daemon. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/94
Diffstat (limited to 'cli/mmcli-manager.c')
-rw-r--r--cli/mmcli-manager.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/cli/mmcli-manager.c b/cli/mmcli-manager.c
index 41bda211..810b0aa3 100644
--- a/cli/mmcli-manager.c
+++ b/cli/mmcli-manager.c
@@ -51,6 +51,7 @@ typedef struct {
static Context *ctx;
/* Options */
+static gboolean get_daemon_version_flag;
static gboolean list_modems_flag;
static gboolean monitor_modems_flag;
static gboolean scan_modems_flag;
@@ -62,6 +63,10 @@ static gboolean report_kernel_event_auto_scan;
#endif
static GOptionEntry entries[] = {
+ { "get-daemon-version", 'B', 0, G_OPTION_ARG_NONE, &get_daemon_version_flag,
+ "Get ModemManager daemon version",
+ NULL
+ },
{ "set-logging", 'G', 0, G_OPTION_ARG_STRING, &set_logging_str,
"Set logging level in the ModemManager daemon",
"[ERR,WARN,INFO,DEBUG]",
@@ -116,7 +121,8 @@ mmcli_manager_options_enabled (void)
if (checked)
return !!n_actions;
- n_actions = (list_modems_flag +
+ n_actions = (get_daemon_version_flag +
+ list_modems_flag +
monitor_modems_flag +
scan_modems_flag +
!!set_logging_str +
@@ -131,7 +137,9 @@ mmcli_manager_options_enabled (void)
exit (EXIT_FAILURE);
}
- if (monitor_modems_flag) {
+ if (get_daemon_version_flag)
+ mmcli_force_sync_operation ();
+ else if (monitor_modems_flag) {
if (mmcli_output_get () != MMC_OUTPUT_TYPE_HUMAN) {
g_printerr ("error: modem monitoring not available in keyvalue output\n");
exit (EXIT_FAILURE);
@@ -495,6 +503,12 @@ mmcli_manager_run_synchronous (GDBusConnection *connection)
ctx = g_new0 (Context, 1);
ctx->manager = mmcli_get_manager_sync (connection);
+ /* Get daemon version? */
+ if (get_daemon_version_flag) {
+ g_print ("ModemManager daemon %s running\n", mm_manager_get_version (ctx->manager));
+ return;
+ }
+
/* Setup operation timeout */
mmcli_force_operation_timeout (mm_manager_peek_proxy (ctx->manager));