core: add --version option to the ModemManager daemon

It was actually included in the man page of the daemon, but we didn't have it.
This commit is contained in:
Aleksander Morgado
2014-09-05 11:18:01 +02:00
parent 50ec0907de
commit c4e7fdf025
3 changed files with 24 additions and 4 deletions

View File

@@ -30,10 +30,6 @@
#include "mm-log.h"
#include "mm-context.h"
#if !defined(MM_DIST_VERSION)
# define MM_DIST_VERSION VERSION
#endif
/* Maximum time to wait for all modems to get disabled and removed */
#define MAX_SHUTDOWN_TIME_SECS 20

View File

@@ -20,6 +20,7 @@
/*****************************************************************************/
/* Application context */
static gboolean version_flag;
static gboolean debug;
static const gchar *log_level;
static const gchar *log_file;
@@ -27,6 +28,7 @@ static gboolean show_ts;
static gboolean rel_ts;
static const GOptionEntry entries[] = {
{ "version", 'V', 0, G_OPTION_ARG_NONE, &version_flag, "Print version", NULL },
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, "Run with extended debugging capabilities", NULL },
{ "log-level", 0, 0, G_OPTION_ARG_STRING, &log_level, "Log level: one of [ERR, WARN, INFO, DEBUG]", "INFO" },
{ "log-file", 0, 0, G_OPTION_ARG_STRING, &log_file, "Path to log file", NULL },
@@ -121,6 +123,19 @@ mm_context_get_test_plugin_dir (void)
/*****************************************************************************/
static void
print_version (void)
{
g_print ("\n"
"ModemManager " MM_DIST_VERSION "\n"
"Copyright (2008 - 2014) The ModemManager authors\n"
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
"\n");
exit (EXIT_SUCCESS);
}
void
mm_context_init (gint argc,
gchar **argv)
@@ -147,4 +162,8 @@ mm_context_init (gint argc,
if (!show_ts && !rel_ts)
show_ts = TRUE;
}
/* If just version requested, print and exit */
if (version_flag)
print_version ();
}

View File

@@ -16,8 +16,13 @@
#ifndef MM_CONTEXT_H
#define MM_CONTEXT_H
#include <config.h>
#include <glib.h>
#if !defined(MM_DIST_VERSION)
# define MM_DIST_VERSION VERSION
#endif
void mm_context_init (gint argc,
gchar **argv);