iface-modem,sim: make SIM interface initialization cancellable

This commit is contained in:
Ben Chan
2014-01-11 23:33:35 +01:00
committed by Aleksander Morgado
parent 50f3f41c3a
commit 5c00736f44
2 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -4470,7 +4470,7 @@ interface_initialization_step (InitializationContext *ctx)
* This will try to load any missing property value that couldn't be
* retrieved before due to having the SIM locked. */
mm_sim_initialize (sim,
NULL, /* TODO: cancellable */
ctx->cancellable,
(GAsyncReadyCallback)sim_reinit_ready,
ctx);
g_object_unref (sim);
+10
View File
@@ -1468,6 +1468,16 @@ STR_REPLY_READY_FN (operator_name, "Operator name")
static void
interface_initialization_step (InitAsyncContext *ctx)
{
if (g_cancellable_is_cancelled (ctx->cancellable)) {
g_simple_async_result_set_error (ctx->result,
MM_CORE_ERROR,
MM_CORE_ERROR_CANCELLED,
"Interface initialization cancelled");
g_simple_async_result_complete_in_idle (ctx->result);
init_async_context_free (ctx);
return;
}
switch (ctx->step) {
case INITIALIZATION_STEP_FIRST:
/* Fall down to next step */