summaryrefslogtreecommitdiffstats
path: root/drivers/atmodem/atutil.c
diff options
context:
space:
mode:
authorGuillaume Zajac <guillaume.zajac@linux.intel.com>2012-04-18 14:16:08 +0200
committerDenis Kenzior <denkenz@gmail.com>2012-04-18 04:06:43 -0500
commitfb92db81d4eeb853ffd6452457b9559e72ae5e4f (patch)
tree69bc1356e776cb90fda9eb369bce0a93f3ab9109 /drivers/atmodem/atutil.c
parentab6be24c583e140b62546ce6de89b57c8cbf578d (diff)
downloadofono-fb92db81d4eeb853ffd6452457b9559e72ae5e4f.tar.bz2
atutil: Add destroy notify to sim_state_query
Diffstat (limited to 'drivers/atmodem/atutil.c')
-rw-r--r--drivers/atmodem/atutil.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/atmodem/atutil.c b/drivers/atmodem/atutil.c
index 0c6aab46..1227b4d7 100644
--- a/drivers/atmodem/atutil.c
+++ b/drivers/atmodem/atutil.c
@@ -45,6 +45,7 @@ struct at_util_sim_state_query {
guint num_times;
at_util_sim_inserted_cb_t cb;
void *userdata;
+ GDestroyNotify destroy;
};
static gboolean cpin_check(gpointer userdata);
@@ -574,7 +575,8 @@ static gboolean cpin_check(gpointer userdata)
struct at_util_sim_state_query *at_util_sim_state_query_new(GAtChat *chat,
guint interval, guint num_times,
at_util_sim_inserted_cb_t cb,
- void *userdata)
+ void *userdata,
+ GDestroyNotify destroy)
{
struct at_util_sim_state_query *req;
@@ -585,6 +587,7 @@ struct at_util_sim_state_query *at_util_sim_state_query_new(GAtChat *chat,
req->num_times = num_times;
req->cb = cb;
req->userdata = userdata;
+ req->destroy = destroy;
cpin_check(req);
@@ -599,5 +602,8 @@ void at_util_sim_state_query_free(struct at_util_sim_state_query *req)
if (req->cpin_poll_source > 0)
g_source_remove(req->cpin_poll_source);
+ if (req->destroy)
+ req->destroy(req->userdata);
+
g_free(req);
}