summaryrefslogtreecommitdiff
path: root/client/session.c
diff options
context:
space:
mode:
authorMikel Astiz <mikel.astiz@bmw-carit.de>2012-02-21 14:57:10 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-26 19:20:38 +0200
commitf11069d5dcf71566defc7f66c2976100da39529d (patch)
treee5caea9ccbe8fc52639d32ef389919a33020a7f4 /client/session.c
parentaae50b8d6cb6e482d51794bde105aa352bda722f (diff)
downloadobexd-f11069d5dcf71566defc7f66c2976100da39529d.tar.gz
client: expose obc_transfer_set_callback
This will allow setting the callback before the transfer is started, particularly to report queued transfer cancellations.
Diffstat (limited to 'client/session.c')
-rw-r--r--client/session.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/client/session.c b/client/session.c
index 7f387d4..30b8431 100644
--- a/client/session.c
+++ b/client/session.c
@@ -107,6 +107,9 @@ static void session_prepare_put(gpointer data, gpointer user_data);
static void session_terminate_transfer(struct obc_session *session,
struct obc_transfer *transfer,
GError *gerr);
+static void transfer_progress(struct obc_transfer *transfer,
+ gint64 transferred, GError *err,
+ void *user_data);
GQuark obex_io_error_quark(void)
{
@@ -710,6 +713,8 @@ static int session_request(struct obc_session *session,
struct pending_request *p;
int err;
+ obc_transfer_set_callback(transfer, transfer_progress, session);
+
p = pending_request_new(session, transfer, auth_complete, func, data);
if (session->p) {
@@ -869,7 +874,7 @@ static void session_prepare_get(gpointer data, gpointer user_data)
struct obc_transfer *transfer = user_data;
int ret;
- ret = obc_transfer_get(transfer, transfer_progress, session);
+ ret = obc_transfer_get(transfer);
if (ret < 0) {
GError *gerr = NULL;
@@ -1014,7 +1019,7 @@ static void session_prepare_put(gpointer data, gpointer user_data)
struct obc_transfer *transfer = user_data;
int ret;
- ret = obc_transfer_put(transfer, transfer_progress, session);
+ ret = obc_transfer_put(transfer);
if (ret < 0) {
GError *gerr = NULL;