Diff between 815bfac99d33548f8c8656c08319cbb8f1aa8360 and 0db1e45d955a064d06ee6cda88a1f1dea6e14baa

Changed Files

File Additions Deletions Status
obexd/plugins/opp.c +2 -4 modified
obexd/src/dbus.h +1 -0 modified
obexd/src/manager.c +5 -0 modified
obexd/src/obex.c +1 -1 modified
obexd/src/service.h +1 -1 modified

Full Patch

diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c
index d12ff41..34bdbdb 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 0da6bae..659bef1 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 3b03a78..3908c59 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 5dfc618..2369848 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 6729251..3f35b80 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);