static void transfer_free(struct transfer *transfer)
{
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
transfers = g_slist_remove(transfers, transfer);
if (transfer->req_id > 0)
static void transfer_complete(struct transfer *transfer, GError *err)
{
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
transfer->complete_func(transfer->obex, err, transfer->user_data);
/* Check if the complete_func removed the transfer */
if (g_slist_find(transfers, transfer) == NULL)
{
struct transfer *transfer = user_data;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
transfer->req_id = 0;
/* Intentionally override error */
GObexPacket *req;
gboolean rspcode, final;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
transfer->req_id = 0;
if (err != NULL) {
static guint next_id = 1;
struct transfer *transfer;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p opcode %u", obex, opcode);
+
transfer = g_new0(struct transfer, 1);
transfer->id = next_id++;
{
struct transfer *transfer;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
if (g_obex_packet_get_operation(req, NULL) != G_OBEX_OP_PUT)
return 0;
return 0;
}
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
GObexPacket *req;
va_list args;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
transfer = transfer_new(obex, G_OBEX_OP_PUT, complete_func, user_data);
transfer->data_producer = data_func;
return 0;
}
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
GObexPacket *rsp;
GError *err;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED,
"Request was aborted");
rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID);
const guint8 *buf;
gsize len;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
g_obex_packet_get_operation(req, &final);
if (final)
rsp = G_OBEX_RSP_SUCCESS;
GObexPacket *rsp;
guint8 rspcode;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
rspcode = put_get_bytes(transfer, req);
rsp = g_obex_packet_new_valist(rspcode, TRUE, first_hdr_id, args);
GObexPacket *rsp;
guint8 rspcode;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
rspcode = put_get_bytes(transfer, req);
rsp = g_obex_packet_new(rspcode, TRUE, G_OBEX_HDR_INVALID);
va_list args;
guint id;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
transfer = transfer_new(obex, G_OBEX_OP_PUT, complete_func, user_data);
transfer->data_consumer = data_func;
transfer_abort_req, transfer);
transfer->abort_id = id;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
{
struct transfer *transfer;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
if (g_obex_packet_get_operation(req, NULL) != G_OBEX_OP_GET)
return 0;
return 0;
}
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
GObexPacket *req;
va_list args;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data);
transfer->data_consumer = data_func;
return 0;
}
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
GError *err = NULL;
gssize ret;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
ret = transfer->data_producer(buf, len, transfer->user_data);
if (ret > 0)
return ret;
GError *err = NULL;
GObexPacket *rsp;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
rsp = g_obex_packet_new_valist(G_OBEX_RSP_CONTINUE, TRUE,
first_hdr_id, args);
g_obex_packet_add_body(rsp, get_get_data, transfer);
GError *err = NULL;
GObexPacket *rsp;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, G_OBEX_HDR_INVALID);
g_obex_packet_add_body(rsp, get_get_data, transfer);
va_list args;
guint id;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex);
+
transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data);
transfer->data_producer = data_func;
transfer_abort_req, transfer);
transfer->abort_id = id;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id);
+
return transfer->id;
}
struct transfer *transfer = NULL;
GSList *l;
+ g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", id);
+
for (l = transfers; l != NULL; l = g_slist_next(l)) {
struct transfer *t = l->data;
if (t->id == id) {