diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c
index b215d29..189282d 100644
--- a/gobex/gobex-transfer.c
+++ b/gobex/gobex-transfer.c
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 3e3089f..a8a0041 100644
--- a/gobex/gobex-transfer.h
+++ b/gobex/gobex-transfer.h
GObexDataProducer data_func, GObexFunc complete_func,
gpointer user_data, GError **err);
+gboolean g_obex_cancel_transfer(guint id);
+
#endif /* __GOBEX_TRANSFER_H_ */