aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-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 /libmm-glib/mm-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 'libmm-glib/mm-manager.c')
-rw-r--r--libmm-glib/mm-manager.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/libmm-glib/mm-manager.c b/libmm-glib/mm-manager.c
index 9276c159..e33ec038 100644
--- a/libmm-glib/mm-manager.c
+++ b/libmm-glib/mm-manager.c
@@ -17,14 +17,13 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
- * Copyright (C) 2011 - 2012 Aleksander Morgado <aleksander@gnu.org>
* Copyright (C) 2011 - 2012 Google, Inc.
- *
- * Author: Aleksander Morgado <aleksander@lanedo.com>
+ * Copyright (C) 2011 - 2018 Aleksander Morgado <aleksander@aleksander.es>
*/
#include <ModemManager.h>
+#include "mm-helpers.h"
#include "mm-errors-types.h"
#include "mm-gdbus-manager.h"
#include "mm-manager.h"
@@ -266,6 +265,30 @@ mm_manager_get_proxy (MMManager *manager)
/*****************************************************************************/
/**
+ * mm_manager_get_version:
+ * @manager: A #MMManager.
+ *
+ * Gets the ModemManager version, as reported by the daemon.
+ *
+ * It is safe to assume this value never changes during runtime.
+ *
+ * Returns: (transfer none): The version, or %NULL if none available. Do not free the returned value, it belongs to @self.
+ */
+const gchar *
+mm_manager_get_version (MMManager *manager)
+{
+ g_return_val_if_fail (MM_IS_MANAGER (manager), NULL);
+
+ if (!ensure_modem_manager1_proxy (manager, NULL))
+ return NULL;
+
+ RETURN_NON_EMPTY_CONSTANT_STRING (
+ mm_gdbus_org_freedesktop_modem_manager1_get_version (manager->priv->manager_iface_proxy));
+}
+
+/*****************************************************************************/
+
+/**
* mm_manager_set_logging_finish:
* @manager: A #MMManager.
* @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_manager_set_logging().