diff options
Diffstat (limited to 'cli/mmcli-common.c')
-rw-r--r-- | cli/mmcli-common.c | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/cli/mmcli-common.c b/cli/mmcli-common.c index 9062e230..5dccd823 100644 --- a/cli/mmcli-common.c +++ b/cli/mmcli-common.c @@ -20,6 +20,8 @@ #include <stdlib.h> +#include <libmm-glib.h> + #include "mmcli-common.h" static void @@ -108,20 +110,19 @@ mmcli_get_manager_sync (GDBusConnection *connection) #define MODEM_PATH_TAG "modem-path-tag" -static MMModem * +static MMObject * find_modem (MMManager *manager, const gchar *modem_path) { GList *modems; GList *l; - MMModem *found = NULL; + MMObject *found = NULL; modems = g_dbus_object_manager_get_objects (G_DBUS_OBJECT_MANAGER (manager)); for (l = modems; l; l = g_list_next (l)) { - MMModem *modem = MM_MODEM (l->data); + MMObject *modem = MM_OBJECT (l->data); - if (g_str_equal (mm_modem_get_path (modem), - modem_path)) { + if (g_str_equal (mm_object_get_path (modem), modem_path)) { found = g_object_ref (modem); break; } @@ -173,7 +174,7 @@ get_manager_ready (GDBusConnection *connection, GSimpleAsyncResult *simple) { MMManager *manager; - MMModem *found; + MMObject *found; const gchar *modem_path; manager = mmcli_get_manager_finish (res); @@ -186,7 +187,7 @@ get_manager_ready (GDBusConnection *connection, g_object_unref (simple); } -MMModem * +MMObject * mmcli_get_modem_finish (GAsyncResult *res) { return g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res)); @@ -218,12 +219,12 @@ mmcli_get_modem (GDBusConnection *connection, result); } -MMModem * +MMObject * mmcli_get_modem_sync (GDBusConnection *connection, const gchar *modem_str) { MMManager *manager; - MMModem *found; + MMObject *found; gchar *modem_path; manager = mmcli_get_manager_sync (connection); @@ -235,3 +236,32 @@ mmcli_get_modem_sync (GDBusConnection *connection, return found; } + +const gchar * +mmcli_get_state_string (MMModemState state) +{ + static GEnumClass *enum_class = NULL; + GEnumValue *value; + + if (!enum_class) + enum_class = G_ENUM_CLASS (g_type_class_ref (MM_TYPE_MODEM_STATE)); + + value = g_enum_get_value (enum_class, state); + return value->value_nick; +} + +const gchar * +mmcli_get_state_reason_string (MMModemStateChangeReason reason) +{ + switch (reason) { + case MM_MODEM_STATE_CHANGE_REASON_UNKNOWN: + return "None or unknown"; + case MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED: + return "User request"; + case MM_MODEM_STATE_CHANGE_REASON_SUSPEND: + return "Suspend"; + } + + g_warn_if_reached (); + return NULL; +} |