diff options
author | Mikel Astiz <mikel.astiz@bmw-carit.de> | 2012-05-30 17:50:19 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-05-31 16:16:08 +0300 |
commit | 90c5e628b415d2f4302715ba371fea6d22c0d134 (patch) | |
tree | 4b9014fa1fac4fc0729ba12de8292777f36cfa11 | |
parent | 9543c2e0076cbd073924d06ea2b0109cdc6236d9 (diff) | |
download | obexd-90c5e628b415d2f4302715ba371fea6d22c0d134.tar.gz |
client: Remove internal transfer progress report
The new D-Bus API uses signals to report the progress updates, so the
internal progress callback is not needed any more.
-rw-r--r-- | client/session.c | 25 | ||||
-rw-r--r-- | client/transfer.c | 18 | ||||
-rw-r--r-- | client/transfer.h | 3 |
3 files changed, 10 insertions, 36 deletions
diff --git a/client/session.c b/client/session.c index 989439c..8e21da4 100644 --- a/client/session.c +++ b/client/session.c @@ -103,9 +103,8 @@ static void session_start_transfer(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); +static void transfer_complete(struct obc_transfer *transfer, + GError *err, void *user_data); static GQuark obex_io_error_quark(void) { @@ -669,7 +668,7 @@ guint obc_session_queue(struct obc_session *session, return 0; } - obc_transfer_set_callback(transfer, transfer_progress, session); + obc_transfer_set_callback(transfer, transfer_complete, session); p = pending_request_new(session, transfer, session_start_transfer, func, user_data); @@ -786,27 +785,15 @@ static void session_notify_error(struct obc_session *session, session_terminate_transfer(session, transfer, err); } -static void session_notify_progress(struct obc_session *session, - struct obc_transfer *transfer, - gint64 transferred) -{ - DBG("Transfer(%p) progress: %ld bytes", transfer, - (long int ) transferred); - - if (transferred == obc_transfer_get_size(transfer)) - session_notify_complete(session, transfer); -} - -static void transfer_progress(struct obc_transfer *transfer, - gint64 transferred, GError *err, - void *user_data) +static void transfer_complete(struct obc_transfer *transfer, + GError *err, void *user_data) { struct obc_session *session = user_data; if (err != 0) goto fail; - session_notify_progress(session, transfer, transferred); + session_notify_complete(session, transfer); return; diff --git a/client/transfer.c b/client/transfer.c index 9eedd60..c0cb636 100644 --- a/client/transfer.c +++ b/client/transfer.c @@ -135,15 +135,13 @@ static void abort_complete(GObex *obex, GError *err, gpointer user_data) return; if (err) { - callback->func(transfer, transfer->transferred, err, - callback->data); + callback->func(transfer, err, callback->data); } else { GError *abort_err; abort_err = g_error_new(OBC_TRANSFER_ERROR, -ECANCELED, "%s", "Transfer cancelled by user"); - callback->func(transfer, transfer->transferred, abort_err, - callback->data); + callback->func(transfer, abort_err, callback->data); g_error_free(abort_err); } } @@ -409,7 +407,6 @@ static gboolean get_xfer_progress(const void *buf, gsize len, gpointer user_data) { struct obc_transfer *transfer = user_data; - struct transfer_callback *callback = transfer->callback; if (transfer->fd > 0) { gint w; @@ -421,10 +418,6 @@ static gboolean get_xfer_progress(const void *buf, gsize len, transfer->transferred += w; } - if (callback && transfer->transferred != transfer->size) - callback->func(transfer, transfer->transferred, NULL, - callback->data); - return TRUE; } @@ -460,7 +453,7 @@ static void xfer_complete(GObex *obex, GError *err, gpointer user_data) } if (callback) - callback->func(transfer, transfer->size, err, callback->data); + callback->func(transfer, err, callback->data); } static void get_xfer_progress_first(GObex *obex, GError *err, GObexPacket *rsp, @@ -527,17 +520,12 @@ static void get_xfer_progress_first(GObex *obex, GError *err, GObexPacket *rsp, static gssize put_xfer_progress(void *buf, gsize len, gpointer user_data) { struct obc_transfer *transfer = user_data; - struct transfer_callback *callback = transfer->callback; gssize size; size = read(transfer->fd, buf, len); if (size <= 0) return size; - if (callback) - callback->func(transfer, transfer->transferred, NULL, - callback->data); - transfer->transferred += size; return size; diff --git a/client/transfer.h b/client/transfer.h index bfa166d..15c157a 100644 --- a/client/transfer.h +++ b/client/transfer.h @@ -24,8 +24,7 @@ struct obc_transfer; typedef void (*transfer_callback_t) (struct obc_transfer *transfer, - gint64 transferred, GError *err, - void *user_data); + GError *err, void *user_data); struct obc_transfer *obc_transfer_get(const char *type, const char *name, const char *filename, GError **err); |