Re: [PATCH] sim-mbim: port MMSimMbim to use GTask

2017-06-30 Thread Aleksander Morgado
On 30/06/17 11:16, Ben Chan wrote:
> ---
>  src/mm-sim-mbim.c | 201 
> --
>  1 file changed, 89 insertions(+), 112 deletions(-)
> 

Pushed to git master, thanks.

> diff --git a/src/mm-sim-mbim.c b/src/mm-sim-mbim.c
> index 3d99c99d..f112fe7d 100644
> --- a/src/mm-sim-mbim.c
> +++ b/src/mm-sim-mbim.c
> @@ -50,12 +50,13 @@ peek_device (gpointer self,
>  g_object_unref (modem);
>  
>  if (!port) {
> -g_simple_async_report_error_in_idle (G_OBJECT (self),
> - callback,
> - user_data,
> - MM_CORE_ERROR,
> - MM_CORE_ERROR_FAILED,
> - "Couldn't peek MBIM port");
> +g_task_report_new_error (self,
> + callback,
> + user_data,
> + peek_device,
> + MM_CORE_ERROR,
> + MM_CORE_ERROR_FAILED,
> + "Couldn't peek MBIM port");
>  return FALSE;
>  }
>  
> @@ -71,15 +72,13 @@ load_sim_identifier_finish (MMBaseSim *self,
>  GAsyncResult *res,
>  GError **error)
>  {
> -if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), 
> error))
> -return NULL;
> -return g_strdup ((gchar *)g_simple_async_result_get_op_res_gpointer 
> (G_SIMPLE_ASYNC_RESULT (res)));
> +return g_task_propagate_pointer (G_TASK (res), error);
>  }
>  
>  static void
>  simid_subscriber_ready_state_ready (MbimDevice *device,
>  GAsyncResult *res,
> -GSimpleAsyncResult *simple)
> +GTask *task)
>  {
>  MbimMessage *response;
>  GError *error = NULL;
> @@ -97,14 +96,13 @@ simid_subscriber_ready_state_ready (MbimDevice *device,
>  NULL, /* telephone_numbers_count */
>  NULL, /* telephone_numbers */
>  ))
> -g_simple_async_result_set_op_res_gpointer (simple, sim_iccid, 
> g_free);
> +g_task_return_pointer (task, sim_iccid, g_free);
>  else
> -g_simple_async_result_take_error (simple, error);
> +g_task_return_error (task, error);
> +g_object_unref (task);
>  
>  if (response)
>  mbim_message_unref (response);
> -g_simple_async_result_complete (simple);
> -g_object_unref (simple);
>  }
>  
>  static void
> @@ -114,12 +112,12 @@ load_sim_identifier (MMBaseSim *self,
>  {
>  MbimDevice *device;
>  MbimMessage *message;
> -GSimpleAsyncResult *result;
> +GTask *task;
>  
>  if (!peek_device (self, , callback, user_data))
>  return;
>  
> -result = g_simple_async_result_new (G_OBJECT (self), callback, 
> user_data, load_sim_identifier);
> +task = g_task_new (self, NULL, callback, user_data);
>  
>  message = mbim_message_subscriber_ready_status_query_new (NULL);
>  mbim_device_command (device,
> @@ -127,7 +125,7 @@ load_sim_identifier (MMBaseSim *self,
>   10,
>   NULL,
>   
> (GAsyncReadyCallback)simid_subscriber_ready_state_ready,
> - result);
> + task);
>  mbim_message_unref (message);
>  }
>  
> @@ -136,18 +134,16 @@ load_sim_identifier (MMBaseSim *self,
>  
>  static gchar *
>  load_imsi_finish (MMBaseSim *self,
> -GAsyncResult *res,
> -GError **error)
> +  GAsyncResult *res,
> +  GError **error)
>  {
> -if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), 
> error))
> -return NULL;
> -return g_strdup ((gchar *)g_simple_async_result_get_op_res_gpointer 
> (G_SIMPLE_ASYNC_RESULT (res)));
> +return g_task_propagate_pointer (G_TASK (res), error);
>  }
>  
>  static void
>  imsi_subscriber_ready_state_ready (MbimDevice *device,
> GAsyncResult *res,
> -   GSimpleAsyncResult *simple)
> +   GTask *task)
>  {
>  MbimMessage *response;
>  GError *error = NULL;
> @@ -165,14 +161,13 @@ imsi_subscriber_ready_state_ready (MbimDevice *device,
>  NULL, /* telephone_numbers_count */
>  NULL, /* telephone_numbers */
>  ))
> -g_simple_async_result_set_op_res_gpointer (simple, subscriber_id, 
> g_free);
> +g_task_return_pointer (task, subscriber_id, g_free);
>  else
> -g_simple_async_result_take_error (simple, error);
> +g_task_return_error (task, error);
> +g_object_unref (task);
>  
>  if (response)
>  

[PATCH] sim-mbim: port MMSimMbim to use GTask

2017-06-30 Thread Ben Chan
---
 src/mm-sim-mbim.c | 201 --
 1 file changed, 89 insertions(+), 112 deletions(-)

diff --git a/src/mm-sim-mbim.c b/src/mm-sim-mbim.c
index 3d99c99d..f112fe7d 100644
--- a/src/mm-sim-mbim.c
+++ b/src/mm-sim-mbim.c
@@ -50,12 +50,13 @@ peek_device (gpointer self,
 g_object_unref (modem);
 
 if (!port) {
-g_simple_async_report_error_in_idle (G_OBJECT (self),
- callback,
- user_data,
- MM_CORE_ERROR,
- MM_CORE_ERROR_FAILED,
- "Couldn't peek MBIM port");
+g_task_report_new_error (self,
+ callback,
+ user_data,
+ peek_device,
+ MM_CORE_ERROR,
+ MM_CORE_ERROR_FAILED,
+ "Couldn't peek MBIM port");
 return FALSE;
 }
 
@@ -71,15 +72,13 @@ load_sim_identifier_finish (MMBaseSim *self,
 GAsyncResult *res,
 GError **error)
 {
-if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), 
error))
-return NULL;
-return g_strdup ((gchar *)g_simple_async_result_get_op_res_gpointer 
(G_SIMPLE_ASYNC_RESULT (res)));
+return g_task_propagate_pointer (G_TASK (res), error);
 }
 
 static void
 simid_subscriber_ready_state_ready (MbimDevice *device,
 GAsyncResult *res,
-GSimpleAsyncResult *simple)
+GTask *task)
 {
 MbimMessage *response;
 GError *error = NULL;
@@ -97,14 +96,13 @@ simid_subscriber_ready_state_ready (MbimDevice *device,
 NULL, /* telephone_numbers_count */
 NULL, /* telephone_numbers */
 ))
-g_simple_async_result_set_op_res_gpointer (simple, sim_iccid, g_free);
+g_task_return_pointer (task, sim_iccid, g_free);
 else
-g_simple_async_result_take_error (simple, error);
+g_task_return_error (task, error);
+g_object_unref (task);
 
 if (response)
 mbim_message_unref (response);
-g_simple_async_result_complete (simple);
-g_object_unref (simple);
 }
 
 static void
@@ -114,12 +112,12 @@ load_sim_identifier (MMBaseSim *self,
 {
 MbimDevice *device;
 MbimMessage *message;
-GSimpleAsyncResult *result;
+GTask *task;
 
 if (!peek_device (self, , callback, user_data))
 return;
 
-result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, 
load_sim_identifier);
+task = g_task_new (self, NULL, callback, user_data);
 
 message = mbim_message_subscriber_ready_status_query_new (NULL);
 mbim_device_command (device,
@@ -127,7 +125,7 @@ load_sim_identifier (MMBaseSim *self,
  10,
  NULL,
  
(GAsyncReadyCallback)simid_subscriber_ready_state_ready,
- result);
+ task);
 mbim_message_unref (message);
 }
 
@@ -136,18 +134,16 @@ load_sim_identifier (MMBaseSim *self,
 
 static gchar *
 load_imsi_finish (MMBaseSim *self,
-GAsyncResult *res,
-GError **error)
+  GAsyncResult *res,
+  GError **error)
 {
-if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), 
error))
-return NULL;
-return g_strdup ((gchar *)g_simple_async_result_get_op_res_gpointer 
(G_SIMPLE_ASYNC_RESULT (res)));
+return g_task_propagate_pointer (G_TASK (res), error);
 }
 
 static void
 imsi_subscriber_ready_state_ready (MbimDevice *device,
GAsyncResult *res,
-   GSimpleAsyncResult *simple)
+   GTask *task)
 {
 MbimMessage *response;
 GError *error = NULL;
@@ -165,14 +161,13 @@ imsi_subscriber_ready_state_ready (MbimDevice *device,
 NULL, /* telephone_numbers_count */
 NULL, /* telephone_numbers */
 ))
-g_simple_async_result_set_op_res_gpointer (simple, subscriber_id, 
g_free);
+g_task_return_pointer (task, subscriber_id, g_free);
 else
-g_simple_async_result_take_error (simple, error);
+g_task_return_error (task, error);
+g_object_unref (task);
 
 if (response)
 mbim_message_unref (response);
-g_simple_async_result_complete (simple);
-g_object_unref (simple);
 }
 
 static void
@@ -182,12 +177,12 @@ load_imsi (MMBaseSim *self,
 {
 MbimDevice *device;
 MbimMessage *message;
-GSimpleAsyncResult *result;
+GTask *task;
 
 if (!peek_device (self, , callback, user_data))