cli: use the new libmm-glib API fixes

This commit is contained in:
Aleksander Morgado
2012-03-15 14:14:33 +01:00
parent 7acacbbfd7
commit 6a3e91ee83
4 changed files with 90 additions and 105 deletions
+39 -9
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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) {