cli: use the new libmm-glib API fixes
This commit is contained in:
+39
-9
@@ -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;
|
||||
}
|
||||
|
||||
+11
-8
@@ -27,13 +27,16 @@ MMManager *mmcli_get_manager_finish (GAsyncResult *res);
|
||||
MMManager *mmcli_get_manager_sync (GDBusConnection *connection);
|
||||
|
||||
|
||||
void mmcli_get_modem (GDBusConnection *connection,
|
||||
const gchar *modem_str,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
MMModem *mmcli_get_modem_finish (GAsyncResult *res);
|
||||
MMModem *mmcli_get_modem_sync (GDBusConnection *connection,
|
||||
const gchar *modem_str);
|
||||
void mmcli_get_modem (GDBusConnection *connection,
|
||||
const gchar *modem_str,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
MMObject *mmcli_get_modem_finish (GAsyncResult *res);
|
||||
MMObject *mmcli_get_modem_sync (GDBusConnection *connection,
|
||||
const gchar *modem_str);
|
||||
|
||||
const gchar *mmcli_get_state_string (MMModemState state);
|
||||
const gchar *mmcli_get_state_reason_string (MMModemStateChangeReason reason);
|
||||
|
||||
#endif /* _MMCLI_COMMON_H_ */
|
||||
|
||||
+7
-7
@@ -179,17 +179,17 @@ scan_devices_ready (MMManager *manager,
|
||||
}
|
||||
|
||||
static void
|
||||
print_modem_short_info (MMModem *modem)
|
||||
print_modem_short_info (MMObject *modem)
|
||||
{
|
||||
g_print ("\t%s [%s] %s\n",
|
||||
mm_modem_get_path (modem),
|
||||
mm_modem_get_manufacturer (modem),
|
||||
mm_modem_get_model (modem));
|
||||
mm_object_get_path (modem),
|
||||
mm_modem_get_manufacturer (mm_object_peek_modem (modem)),
|
||||
mm_modem_get_model (mm_object_peek_modem (modem)));
|
||||
}
|
||||
|
||||
static void
|
||||
device_added (MMManager *manager,
|
||||
MMModem *modem)
|
||||
MMObject *modem)
|
||||
{
|
||||
g_print ("Added modem:\n");
|
||||
print_modem_short_info (modem);
|
||||
@@ -198,7 +198,7 @@ device_added (MMManager *manager,
|
||||
|
||||
static void
|
||||
device_removed (MMManager *manager,
|
||||
MMModem *modem)
|
||||
MMObject *modem)
|
||||
{
|
||||
g_print ("Removed modem:\n");
|
||||
print_modem_short_info (modem);
|
||||
@@ -220,7 +220,7 @@ list_current_modems (MMManager *manager)
|
||||
|
||||
g_print ("Found %u modems:\n", g_list_length (modems));
|
||||
for (l = modems; l; l = g_list_next (l)) {
|
||||
print_modem_short_info (MM_MODEM (l->data));
|
||||
print_modem_short_info (MM_OBJECT (l->data));
|
||||
}
|
||||
g_list_foreach (modems, (GFunc)g_object_unref, NULL);
|
||||
g_list_free (modems);
|
||||
|
||||
+33
-81
@@ -36,6 +36,7 @@
|
||||
/* Context */
|
||||
typedef struct {
|
||||
GCancellable *cancellable;
|
||||
MMObject *object;
|
||||
MMModem *modem;
|
||||
} Context;
|
||||
static Context *ctx;
|
||||
@@ -127,6 +128,8 @@ context_free (Context *ctx)
|
||||
g_object_unref (ctx->cancellable);
|
||||
if (ctx->modem)
|
||||
g_object_unref (ctx->modem);
|
||||
if (ctx->object)
|
||||
g_object_unref (ctx->object);
|
||||
g_free (ctx);
|
||||
}
|
||||
|
||||
@@ -173,52 +176,6 @@ mmcli_modem_shutdown (void)
|
||||
/* NULL); */
|
||||
/* } */
|
||||
|
||||
/* static const gchar * */
|
||||
/* get_state_string (MMModemState state) */
|
||||
/* { */
|
||||
/* switch (state) { */
|
||||
/* case MM_MODEM_STATE_UNKNOWN: */
|
||||
/* return "Unknown"; */
|
||||
/* case MM_MODEM_STATE_DISABLED: */
|
||||
/* return "Disabled"; */
|
||||
/* case MM_MODEM_STATE_DISABLING: */
|
||||
/* return "Disabling"; */
|
||||
/* case MM_MODEM_STATE_ENABLING: */
|
||||
/* return "Enabling"; */
|
||||
/* case MM_MODEM_STATE_ENABLED: */
|
||||
/* return "Enabled"; */
|
||||
/* case MM_MODEM_STATE_SEARCHING: */
|
||||
/* return "Searching"; */
|
||||
/* case MM_MODEM_STATE_REGISTERED: */
|
||||
/* return "Registered"; */
|
||||
/* case MM_MODEM_STATE_DISCONNECTING: */
|
||||
/* return "Disconnecting"; */
|
||||
/* case MM_MODEM_STATE_CONNECTING: */
|
||||
/* return "Connecting"; */
|
||||
/* case MM_MODEM_STATE_CONNECTED: */
|
||||
/* return "Connected"; */
|
||||
/* } */
|
||||
|
||||
/* g_warn_if_reached (); */
|
||||
/* return NULL; */
|
||||
/* } */
|
||||
|
||||
/* static const gchar * */
|
||||
/* get_state_reason_string (MMModemStateReason reason) */
|
||||
/* { */
|
||||
/* switch (reason) { */
|
||||
/* case MM_MODEM_STATE_REASON_NONE: */
|
||||
/* return "None or unknown"; */
|
||||
/* case MM_MODEM_STATE_REASON_USER_REQUESTED: */
|
||||
/* return "User request"; */
|
||||
/* case MM_MODEM_STATE_REASON_SUSPEND: */
|
||||
/* return "Suspend"; */
|
||||
/* } */
|
||||
|
||||
/* g_warn_if_reached (); */
|
||||
/* return NULL; */
|
||||
/* } */
|
||||
|
||||
/* static void */
|
||||
/* get_info_process_reply (gboolean result, */
|
||||
/* const GError *error, */
|
||||
@@ -370,9 +327,7 @@ enable_ready (MMModem *modem,
|
||||
gboolean operation_result;
|
||||
GError *error = NULL;
|
||||
|
||||
operation_result = mm_modem_enable_finish (modem,
|
||||
result,
|
||||
&error);
|
||||
operation_result = mm_modem_enable_finish (modem, result, &error);
|
||||
enable_process_reply (operation_result, error);
|
||||
|
||||
mmcli_async_operation_done ();
|
||||
@@ -399,9 +354,7 @@ disable_ready (MMModem *modem,
|
||||
gboolean operation_result;
|
||||
GError *error = NULL;
|
||||
|
||||
operation_result = mm_modem_disable_finish (modem,
|
||||
result,
|
||||
&error);
|
||||
operation_result = mm_modem_disable_finish (modem, result, &error);
|
||||
disable_process_reply (operation_result, error);
|
||||
|
||||
mmcli_async_operation_done ();
|
||||
@@ -428,9 +381,7 @@ reset_ready (MMModem *modem,
|
||||
gboolean operation_result;
|
||||
GError *error = NULL;
|
||||
|
||||
operation_result = mm_modem_reset_finish (modem,
|
||||
result,
|
||||
&error);
|
||||
operation_result = mm_modem_reset_finish (modem, result, &error);
|
||||
reset_process_reply (operation_result, error);
|
||||
|
||||
mmcli_async_operation_done ();
|
||||
@@ -457,33 +408,33 @@ factory_reset_ready (MMModem *modem,
|
||||
gboolean operation_result;
|
||||
GError *error = NULL;
|
||||
|
||||
operation_result = mm_modem_factory_reset_finish (modem,
|
||||
result,
|
||||
&error);
|
||||
operation_result = mm_modem_factory_reset_finish (modem, result, &error);
|
||||
factory_reset_process_reply (operation_result, error);
|
||||
|
||||
mmcli_async_operation_done ();
|
||||
}
|
||||
|
||||
/* static void */
|
||||
/* state_changed (MMModem *modem, */
|
||||
/* MMModemState old_state, */
|
||||
/* MMModemState new_state, */
|
||||
/* MMModemStateReason reason) */
|
||||
/* { */
|
||||
/* g_print ("State changed: '%s' --> '%s' (Reason: %s)\n", */
|
||||
/* get_state_string (old_state), */
|
||||
/* get_state_string (new_state), */
|
||||
/* get_state_reason_string (reason)); */
|
||||
/* fflush (stdout); */
|
||||
/* } */
|
||||
static void
|
||||
state_changed (MMObject *modem,
|
||||
MMModemState old_state,
|
||||
MMModemState new_state,
|
||||
MMModemStateChangeReason reason)
|
||||
{
|
||||
g_print ("\t%s: State changed, '%s' --> '%s' (Reason: %s)\n",
|
||||
mm_object_get_path (modem),
|
||||
mmcli_get_state_string (old_state),
|
||||
mmcli_get_state_string (new_state),
|
||||
mmcli_get_state_reason_string (reason));
|
||||
fflush (stdout);
|
||||
}
|
||||
|
||||
static void
|
||||
get_modem_ready (GObject *source,
|
||||
GAsyncResult *result,
|
||||
gpointer none)
|
||||
{
|
||||
ctx->modem = mmcli_get_modem_finish (result);
|
||||
ctx->object = mmcli_get_modem_finish (result);
|
||||
ctx->modem = mm_object_get_modem (ctx->object);
|
||||
|
||||
/* Request to get info from modem? */
|
||||
if (info_flag) {
|
||||
@@ -498,17 +449,17 @@ get_modem_ready (GObject *source,
|
||||
|
||||
/* Request to monitor modems? */
|
||||
if (monitor_state_flag) {
|
||||
/* TODO */
|
||||
MMModemState current;
|
||||
|
||||
/* MMModemState current; */
|
||||
g_signal_connect (ctx->modem,
|
||||
"state-changed",
|
||||
G_CALLBACK (state_changed),
|
||||
NULL);
|
||||
|
||||
/* g_signal_connect (ctxt.modem, */
|
||||
/* "state-changed", */
|
||||
/* G_CALLBACK (state_changed), */
|
||||
/* NULL); */
|
||||
|
||||
/* current = mm_modem_get_state (ctxt.modem); */
|
||||
/* g_print ("Initial state: '%s'\n", get_state_string (current)); */
|
||||
current = mm_modem_get_state (ctx->modem);
|
||||
g_print ("\t%s: Initial state, '%s'\n",
|
||||
mm_object_get_path (ctx->object),
|
||||
mmcli_get_state_string (current));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -586,7 +537,8 @@ mmcli_modem_run_synchronous (GDBusConnection *connection)
|
||||
|
||||
/* Initialize context */
|
||||
ctx = g_new0 (Context, 1);
|
||||
ctx->modem = mmcli_get_modem_sync (connection, modem_str);
|
||||
ctx->object = mmcli_get_modem_sync (connection, modem_str);
|
||||
ctx->modem = mm_object_get_modem (ctx->object);
|
||||
|
||||
/* Request to get info from modem? */
|
||||
if (info_flag) {
|
||||
|
||||
Reference in New Issue
Block a user