diff options
author | Riccardo Vangelisti <riccardo.vangelisti@sadel.it> | 2015-05-04 16:03:34 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2015-08-02 10:39:12 +0200 |
commit | c53bc10092563eb361b4980afb00080009067661 (patch) | |
tree | e71cde39b92b36c6202d14fb5e579091ed0b13dc | |
parent | ecbd146d5aca225c4873f08cc01e069cc284d38e (diff) |
base-call: added deletion of a specified call
-rw-r--r-- | src/mm-base-call.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/mm-base-call.c b/src/mm-base-call.c index 02418413..dc5148ad 100644 --- a/src/mm-base-call.c +++ b/src/mm-base-call.c @@ -488,6 +488,8 @@ call_start_ready (MMBaseModem *modem, return; } + mm_dbg ("%s: '%s'", __FUNCTION__, response); + /* check response for error */ if( strstr(response, "OK")) { /* Update state */ @@ -771,13 +773,33 @@ call_hangup (MMBaseCall *self, } /*****************************************************************************/ +typedef struct { + MMBaseCall *self; + MMBaseModem *modem; + GSimpleAsyncResult *result; +} CallDeleteContext; static void call_delete (MMBaseCall *self, GAsyncReadyCallback callback, gpointer user_data) { - // What should I do here ? + CallDeleteContext *ctx; + + ctx = g_new0 (CallDeleteContext, 1); + ctx->result = g_simple_async_result_new (G_OBJECT (self), + callback, + user_data, + call_delete); + ctx->self = g_object_ref (self); + ctx->modem = g_object_ref (self->priv->modem); + + g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); + g_simple_async_result_complete_in_idle (ctx->result); + g_object_unref (ctx->result); + g_object_unref (ctx->modem); + g_object_unref (ctx->self); + g_free (ctx); } static gboolean |