diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2011-07-10 12:47:50 +0300 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-12-04 22:22:01 +0100 |
commit | 25faf4fc79f09133ab82325774e9e5eaf509e4f4 (patch) | |
tree | 21f26774a76753e82329055ff0e67d5a26d41ff6 /gobex/gobex-transfer.c | |
parent | 7f5cb418d3a9d0389a14f3f07f5e8240dff7b476 (diff) | |
download | bluez-25faf4fc79f09133ab82325774e9e5eaf509e4f4.tar.gz |
gobex: Allow calling g_obex_get_rsp later with custom headers
Diffstat (limited to 'gobex/gobex-transfer.c')
-rw-r--r-- | gobex/gobex-transfer.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c index 189282dfe..500a6c9fc 100644 --- a/gobex/gobex-transfer.c +++ b/gobex/gobex-transfer.c @@ -32,6 +32,8 @@ struct transfer { GObex *obex; + GSList *hdrs; + guint req_id; gint put_id; @@ -369,7 +371,8 @@ static void transfer_get_req(GObex *obex, GObexPacket *req, gpointer user_data) GError *err = NULL; GObexPacket *rsp; - rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, NULL); + rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, transfer->hdrs); + transfer->hdrs = NULL; g_obex_packet_add_body(rsp, get_get_data, transfer); if (!g_obex_send(obex, rsp, &err)) { @@ -378,17 +381,18 @@ static void transfer_get_req(GObex *obex, GObexPacket *req, gpointer user_data) } } -guint g_obex_get_rsp(GObex *obex, GObexPacket *req, - GObexDataProducer data_func, GObexFunc complete_func, - gpointer user_data, GError **err) +guint g_obex_get_rsp(GObex *obex, GSList *hdrs, GObexDataProducer data_func, + GObexFunc complete_func, gpointer user_data, + GError **err) { struct transfer *transfer; gint id; transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data); transfer->data_producer = data_func; + transfer->hdrs = hdrs; - transfer_get_req(obex, req, transfer); + transfer_get_req(obex, NULL, transfer); if (!g_slist_find(transfers, transfer)) return 0; |