diff options
Diffstat (limited to 'obexd')
-rw-r--r-- | obexd/src/manager.c | 29 | ||||
-rw-r--r-- | obexd/src/manager.h | 2 |
2 files changed, 15 insertions, 16 deletions
diff --git a/obexd/src/manager.c b/obexd/src/manager.c index 70265e445..a4af627cb 100644 --- a/obexd/src/manager.c +++ b/obexd/src/manager.c @@ -533,12 +533,21 @@ void manager_cleanup(void) dbus_connection_unref(connection); } +void manager_emit_transfer_property(struct obex_transfer *transfer, + char *name) +{ + if (!transfer->path) + return; + + g_dbus_emit_property_changed(connection, transfer->path, + TRANSFER_INTERFACE, name); +} + void manager_emit_transfer_started(struct obex_transfer *transfer) { transfer->status = TRANSFER_STATUS_ACTIVE; - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Status"); + manager_emit_transfer_property(transfer, "Status"); } static void emit_transfer_completed(struct obex_transfer *transfer, @@ -550,18 +559,7 @@ static void emit_transfer_completed(struct obex_transfer *transfer, transfer->status = success ? TRANSFER_STATUS_COMPLETE : TRANSFER_STATUS_ERROR; - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Status"); -} - -static void emit_transfer_progress(struct obex_transfer *transfer, - uint32_t total, uint32_t transferred) -{ - if (transfer->path == NULL) - return; - - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Transferred"); + manager_emit_transfer_property(transfer, "Status"); } static void transfer_free(struct obex_transfer *transfer) @@ -783,8 +781,7 @@ void manager_unregister_session(struct obex_session *os) void manager_emit_transfer_progress(struct obex_transfer *transfer) { - emit_transfer_progress(transfer, transfer->session->size, - transfer->session->offset); + manager_emit_transfer_property(transfer, "Transferred"); } void manager_emit_transfer_completed(struct obex_transfer *transfer) diff --git a/obexd/src/manager.h b/obexd/src/manager.h index d9781b201..d709af5a8 100644 --- a/obexd/src/manager.h +++ b/obexd/src/manager.h @@ -33,6 +33,8 @@ void manager_unregister_session(struct obex_session *os); struct obex_transfer *manager_register_transfer(struct obex_session *os); void manager_unregister_transfer(struct obex_transfer *transfer); +void manager_emit_transfer_property(struct obex_transfer *transfer, + char *name); void manager_emit_transfer_started(struct obex_transfer *transfer); void manager_emit_transfer_progress(struct obex_transfer *transfer); void manager_emit_transfer_completed(struct obex_transfer *transfer); |