diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-02-08 11:44:05 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-02-08 12:41:31 +0200 |
commit | a71fb515a8e58ad8358a849591ffa070f74da11e (patch) | |
tree | 9bb3504755a2343bd616f967626d867c62edf2fa /client/session.c | |
parent | 4a691919b9e4932a16f4ca0678394852975d11a3 (diff) | |
download | obexd-a71fb515a8e58ad8358a849591ffa070f74da11e.tar.gz |
client: introduce obc_session_cancel
Diffstat (limited to 'client/session.c')
-rw-r--r-- | client/session.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/client/session.c b/client/session.c index 7e7dea6..a1a528a 100644 --- a/client/session.c +++ b/client/session.c @@ -1394,3 +1394,24 @@ guint obc_session_delete(struct obc_session *session, const char *file, session->p = p; return p->id; } + +void obc_session_cancel(struct obc_session *session, guint id, + gboolean remove) +{ + struct pending_request *p = session->p; + + if (p == NULL || p->id != id) + return; + + if (p->req_id == 0) + return; + + g_obex_cancel_req(session->obex, p->req_id, remove); + if (!remove) + return; + + pending_request_free(p); + session->p = NULL; + + session_process_queue(session); +} |