broadband-modem-mbim: simplify power state loading

This commit is contained in:
Aleksander Morgado
2013-04-13 09:44:41 +02:00
parent f6958bb362
commit 9504cb9339

View File

@@ -702,20 +702,6 @@ modem_load_own_numbers (MMIfaceModem *self,
/*****************************************************************************/ /*****************************************************************************/
/* Initial power state loading */ /* Initial power state loading */
typedef struct {
MMBroadbandModemMbim *self;
GSimpleAsyncResult *result;
} LoadPowerStateContext;
static void
load_power_state_context_complete_and_free (LoadPowerStateContext *ctx)
{
g_simple_async_result_complete (ctx->result);
g_object_unref (ctx->result);
g_object_unref (ctx->self);
g_slice_free (LoadPowerStateContext, ctx);
}
static MMModemPowerState static MMModemPowerState
modem_load_power_state_finish (MMIfaceModem *self, modem_load_power_state_finish (MMIfaceModem *self,
GAsyncResult *res, GAsyncResult *res,
@@ -730,7 +716,7 @@ modem_load_power_state_finish (MMIfaceModem *self,
static void static void
radio_state_query_ready (MbimDevice *device, radio_state_query_ready (MbimDevice *device,
GAsyncResult *res, GAsyncResult *res,
LoadPowerStateContext *ctx) GSimpleAsyncResult *simple)
{ {
MbimMessage *response; MbimMessage *response;
GError *error = NULL; GError *error = NULL;
@@ -752,15 +738,16 @@ radio_state_query_ready (MbimDevice *device,
state = MM_MODEM_POWER_STATE_LOW; state = MM_MODEM_POWER_STATE_LOW;
else else
state = MM_MODEM_POWER_STATE_ON; state = MM_MODEM_POWER_STATE_ON;
g_simple_async_result_set_op_res_gpointer (ctx->result, g_simple_async_result_set_op_res_gpointer (simple,
GUINT_TO_POINTER (state), GUINT_TO_POINTER (state),
NULL); NULL);
} else } else
g_simple_async_result_take_error (ctx->result, error); g_simple_async_result_take_error (simple, error);
if (response) if (response)
mbim_message_unref (response); mbim_message_unref (response);
load_power_state_context_complete_and_free (ctx); g_simple_async_result_complete (simple);
g_object_unref (simple);
} }
static void static void
@@ -768,16 +755,14 @@ modem_load_power_state (MMIfaceModem *self,
GAsyncReadyCallback callback, GAsyncReadyCallback callback,
gpointer user_data) gpointer user_data)
{ {
LoadPowerStateContext *ctx; GSimpleAsyncResult *result;
MbimDevice *device; MbimDevice *device;
MbimMessage *message; MbimMessage *message;
if (!peek_device (self, &device, callback, user_data)) if (!peek_device (self, &device, callback, user_data))
return; return;
ctx = g_slice_new (LoadPowerStateContext); result = g_simple_async_result_new (G_OBJECT (self),
ctx->self = g_object_ref (self);
ctx->result = g_simple_async_result_new (G_OBJECT (self),
callback, callback,
user_data, user_data,
modem_load_power_state); modem_load_power_state);
@@ -788,7 +773,7 @@ modem_load_power_state (MMIfaceModem *self,
10, 10,
NULL, NULL,
(GAsyncReadyCallback)radio_state_query_ready, (GAsyncReadyCallback)radio_state_query_ready,
ctx); result);
mbim_message_unref (message); mbim_message_unref (message);
} }