summaryrefslogtreecommitdiffstats
path: root/gisi/modem.h
diff options
context:
space:
mode:
authorPekka Pessi <Pekka.Pessi@nokia.com>2011-01-18 23:27:08 +0200
committerAki Niemi <aki.niemi@nokia.com>2011-01-18 23:31:47 +0200
commite72e5444af1df26fbe6fa230a5bbc113704f1058 (patch)
tree8796b6492491ebb90b9cc5fa5143531d70a505d5 /gisi/modem.h
parentfef6de49af4fc37649422275a4b686d528b8e535 (diff)
downloadofono-e72e5444af1df26fbe6fa230a5bbc113704f1058.tar.bz2
gisi: simplify pending management
Client or server mark their pending objects with the function g_isi_pending_set_owner(). When client or server get destroyed or reset the pending objects are removed with the function g_isi_remove_pending_by_owner(). As a client or server always uses only a particular resource, all the pending objects are conveniently stored into a single list.
Diffstat (limited to 'gisi/modem.h')
-rw-r--r--gisi/modem.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gisi/modem.h b/gisi/modem.h
index fff1338f..0de720d1 100644
--- a/gisi/modem.h
+++ b/gisi/modem.h
@@ -109,7 +109,10 @@ int g_isi_response_vsend(GIsiModem *modem, const GIsiMessage *req,
GIsiPending *g_isi_pending_from_msg(const GIsiMessage *msg);
-void g_isi_pending_remove(GIsiPending *operation);
+void g_isi_pending_remove(GIsiPending *op);
+void g_isi_pending_set_owner(GIsiPending *op, gpointer owner);
+void g_isi_remove_pending_by_owner(GIsiModem *modem, uint8_t resource,
+ gpointer owner);
GIsiPending *g_isi_resource_ping(GIsiModem *modem, uint8_t resource,
GIsiNotifyFunc notify, void *data,