diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c
index 04bd57a..d7cfd84 100644
--- a/obexd/plugins/opp.c
+++ b/obexd/plugins/opp.c
manager_unregister_transfer(os);
}
-static void opp_reset(obex_t *obex)
+static void opp_reset(struct OBEX_session *os)
{
- struct obex_session *os = OBEX_GetUserData(obex);
-
- emit_transfer_completed(os->cid, !os->aborted);
+ manager_emit_transfer_completed(os);
}
struct obex_service_driver driver = {
diff --git a/obexd/plugins/syncevolution.c b/obexd/plugins/syncevolution.c
index 94bb3b4..7884aac 100644
--- a/obexd/plugins/syncevolution.c
+++ b/obexd/plugins/syncevolution.c
g_free(context);
}
-static void synce_reset(obex_t *obex)
+static void synce_reset(struct OBEX_session *os)
{
- struct obex_session *os = OBEX_GetUserData(obex);
struct synce_context *context = find_context(os);
if (context)
diff --git a/obexd/src/dbus.h b/obexd/src/dbus.h
index 70b0886..965a66d 100644
--- a/obexd/src/dbus.h
+++ b/obexd/src/dbus.h
void emit_transfer_started(guint32 id);
-void emit_transfer_completed(guint32 id, gboolean success);
void emit_transfer_progress(guint32 id, guint32 total, guint32 transfered);
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);
+void manager_emit_transfer_completed(struct OBEX_session *os);
DBusConnection *obex_dbus_get_connection(void);
diff --git a/obexd/src/manager.c b/obexd/src/manager.c
index 97da575..fd23537 100644
--- a/obexd/src/manager.c
+++ b/obexd/src/manager.c
g_free(path);
}
-void emit_transfer_completed(guint32 id, gboolean success)
+static void emit_transfer_completed(guint32 id, gboolean success)
{
gchar *path = g_strdup_printf("/transfer%u", id);
emit_transfer_progress(os->cid, os->size, os->offset);
}
+void manager_emit_transfer_completed(struct OBEX_session *os)
+{
+ emit_transfer_completed(os->cid, !os->aborted);
+}
+
DBusConnection *obex_dbus_get_connection(void)
{
if (connection == NULL)
diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index c07754b..e493c14 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
case OBEX_EV_ABORT:
os->aborted = TRUE;
if (os->service->reset)
- os->service->reset(obex);
+ os->service->reset(os);
os_reset_session(os);
OBEX_ObjectSetRsp(obj, OBEX_RSP_SUCCESS, OBEX_RSP_SUCCESS);
break;
default:
os_session_mark_aborted(os);
if (os->service->reset)
- os->service->reset(obex);
+ os->service->reset(os);
os_reset_session(os);
break;
}
diff --git a/obexd/src/service.h b/obexd/src/service.h
index 3b6e4ba..5146204 100644
--- a/obexd/src/service.h
+++ b/obexd/src/service.h
gint (*chkput) (obex_t *obex, obex_object_t *obj);
void (*setpath) (obex_t *obex, obex_object_t *obj);
void (*disconnect) (struct OBEX_session *os);
- void (*reset) (obex_t *obex);
+ void (*reset) (struct OBEX_session *os);
};
int obex_service_driver_register(struct obex_service_driver *driver);