From 0db1e45d955a064d06ee6cda88a1f1dea6e14baa Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Thu, 25 Feb 2010 17:48:35 -0300 Subject: [PATCH] obexd: Cleanup of the progress function of the OBEX service driver --- obexd/plugins/opp.c | 6 ++---- obexd/src/dbus.h | 1 + obexd/src/manager.c | 5 +++++ obexd/src/obex.c | 2 +- obexd/src/service.h | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c index d12ff4123..34bdbdb42 100644 --- a/obexd/plugins/opp.c +++ b/obexd/plugins/opp.c @@ -100,11 +100,9 @@ static obex_rsp_t opp_connect(struct OBEX_session *os) return OBEX_RSP_SUCCESS; } -static void opp_progress(obex_t *obex, obex_object_t *obj) +static void opp_progress(struct OBEX_session *os) { - struct obex_session *os = OBEX_GetUserData(obex); - - emit_transfer_progress(os->cid, os->size, os->offset); + manager_emit_transfer_progress(os); } static gint opp_chkput(obex_t *obex, obex_object_t *obj) diff --git a/obexd/src/dbus.h b/obexd/src/dbus.h index 0da6bae73..659bef171 100644 --- a/obexd/src/dbus.h +++ b/obexd/src/dbus.h @@ -40,3 +40,4 @@ void manager_register_session(struct OBEX_session *os); void manager_unregister_session(struct OBEX_session *os); void manager_register_transfer(struct OBEX_session *os); void manager_unregister_transfer(struct OBEX_session *os); +void manager_emit_transfer_progress(struct OBEX_session *os); diff --git a/obexd/src/manager.c b/obexd/src/manager.c index 3b03a7861..3908c5905 100644 --- a/obexd/src/manager.c +++ b/obexd/src/manager.c @@ -1022,6 +1022,11 @@ void manager_unregister_session(struct OBEX_session *os) g_free(path); } +void manager_emit_transfer_progress(struct OBEX_session *os) +{ + emit_transfer_progress(os->cid, os->size, os->offset); +} + DBusConnection *obex_dbus_get_connection(void) { if (connection == NULL) diff --git a/obexd/src/obex.c b/obexd/src/obex.c index 5dfc61875..23698481b 100644 --- a/obexd/src/obex.c +++ b/obexd/src/obex.c @@ -787,7 +787,7 @@ static void obex_event(obex_t *obex, obex_object_t *obj, gint mode, switch (evt) { case OBEX_EV_PROGRESS: if (os->service->progress) - os->service->progress(obex, obj); + os->service->progress(os); break; case OBEX_EV_ABORT: os->aborted = TRUE; diff --git a/obexd/src/service.h b/obexd/src/service.h index 6729251c4..3f35b80f7 100644 --- a/obexd/src/service.h +++ b/obexd/src/service.h @@ -33,7 +33,7 @@ struct obex_service_driver { guint who_size; const gchar *record; obex_rsp_t (*connect) (struct OBEX_session *os); - void (*progress) (obex_t *obex, obex_object_t *obj); + void (*progress) (struct OBEX_session *os); void (*get) (obex_t *obex, obex_object_t *obj); void (*put) (obex_t *obex, obex_object_t *obj); gint (*chkput) (obex_t *obex, obex_object_t *obj); -- 2.47.3