From 60263d9a33d58baad3feb56b936ecceaedfe7f29 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 8 Jul 2011 12:32:20 +0200 Subject: [PATCH] gobex: Add g_obex_cancel_transfer --- gobex/gobex-transfer.c | 20 ++++++++++++++++++++ gobex/gobex-transfer.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c index b215d297c..189282dfe 100644 --- a/gobex/gobex-transfer.c +++ b/gobex/gobex-transfer.c @@ -402,3 +402,23 @@ guint g_obex_get_rsp(GObex *obex, GObexPacket *req, return transfer->id; } + +gboolean g_obex_cancel_transfer(guint id) +{ + struct transfer *transfer = NULL; + GSList *l; + + for (l = transfers; l != NULL; l = g_slist_next(l)) { + struct transfer *t = l->data; + if (t->id == id) { + transfer = t; + break; + } + } + + if (transfer == NULL) + return FALSE; + + transfer_free(transfer); + return TRUE; +} diff --git a/gobex/gobex-transfer.h b/gobex/gobex-transfer.h index 3e3089f33..a8a004175 100644 --- a/gobex/gobex-transfer.h +++ b/gobex/gobex-transfer.h @@ -43,4 +43,6 @@ guint g_obex_get_rsp(GObex *obex, GObexPacket *req, GObexDataProducer data_func, GObexFunc complete_func, gpointer user_data, GError **err); +gboolean g_obex_cancel_transfer(guint id); + #endif /* __GOBEX_TRANSFER_H_ */ -- 2.47.3