OSDN Git Service

gobex: Add g_obex_cancel_transfer
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 8 Jul 2011 10:32:20 +0000 (12:32 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 4 Dec 2012 21:22:00 +0000 (22:22 +0100)
gobex/gobex-transfer.c
gobex/gobex-transfer.h

index b215d29..189282d 100644 (file)
@@ -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;
+}
index 3e3089f..a8a0041 100644 (file)
@@ -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_ */