From ca53c8b89a5ad4d5a7c3f6c2d5c5aa2c5db673b8 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Wed, 26 Aug 2026 09:03:48 -0300
Subject: Sync OBEX D-Bus interfaces with BlueZ
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 src/interfaces/org.bluez.obex.client.xml | 57 ++++++++++++++++++++------------
 1 file changed, 36 insertions(+), 21 deletions(-)

diff --git a/src/interfaces/org.bluez.obex.client.xml b/src/interfaces/org.bluez.obex.client.xml
index 749fb18..4f219e6 100644
--- a/src/interfaces/org.bluez.obex.client.xml
+++ b/src/interfaces/org.bluez.obex.client.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<!-- https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/obex-api.txt -->
+<!-- BlueZ OBEX D-Bus API: https://github.com/bluez/bluez/tree/master/doc -->
 <node name="/org/bluez/obex">
 	<interface name="org.freedesktop.DBus.Introspectable">
 		<method name="Introspect">
@@ -16,7 +16,7 @@
 		</method>
 	</interface>
 	
-	<!-- https://git.merproject.org/jpoutiai/kf5bluezqt/blob/master/bluez-qt/src/interfaces/org.bluez.obex.Client1.xml -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.Client.rst -->
 	<interface name="org.bluez.obex.Client1">
 		<method name="CreateSession">
 			<arg name="destination" type="s" direction="in" />
@@ -27,7 +27,7 @@
 			<arg name="session" type="o" direction="in" />
 		</method>
 	</interface>
-	<!-- https://git.merproject.org/jpoutiai/kf5bluezqt/blob/master/bluez-qt/src/interfaces/org.bluez.obex.FileTransfer1.xml -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.FileTransfer.rst -->
 	<interface name="org.bluez.obex.FileTransfer1">
 		<method name="ChangeFolder">
 			<arg name="folder" type="s" direction="in" />
@@ -62,7 +62,7 @@
 			<arg name="file" type="s" direction="in" />
 		</method>
 	</interface>
-	<!-- https://git.merproject.org/jpoutiai/kf5bluezqt/blob/master/bluez-qt/src/interfaces/org.bluez.obex.ObjectPush1.xml -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.ObjectPush.rst -->
 	<interface name="org.bluez.obex.ObjectPush1">
 		<method name="SendFile">
 			<arg name="sourcefile" type="s" direction="in" />
@@ -81,7 +81,7 @@
 			<arg name="properties" type="a{sv}" direction="out" />
 		</method>
 	</interface>
-	<!-- https://git.merproject.org/jpoutiai/kf5bluezqt/blob/master/bluez-qt/src/interfaces/org.bluez.obex.Session1.xml -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.Session.rst -->
 	<interface name="org.bluez.obex.Session1">
 		<method name="GetCapabilities">
 			<arg name="capabilities" type="s" direction="out" />
@@ -89,13 +89,14 @@
 
 		<property name="Source" type="s" access="read" />
 		<property name="Destination" type="s" access="read" />
-		<property name="Channel" type="b" access="read" />
+		<property name="Channel" type="y" access="read" />
+		<property name="PSM" type="q" access="read" />
 		<property name="Target" type="s" access="read" />
 		<property name="Root" type="s" access="read" />
 
 	</interface>
 
-	<!-- https://git.merproject.org/jpoutiai/kf5bluezqt/blob/master/bluez-qt/src/interfaces/org.bluez.obex.Transfer1.xml -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.Transfer.rst -->
 	<interface name="org.bluez.obex.Transfer1">
 		<method name="Cancel" />
 		<method name="Suspend" />
@@ -112,51 +113,65 @@
 
 	</interface>
 
-	<!-- https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/obex-api.txt -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.Synchronization.rst -->
 	<interface name="org.bluez.obex.Synchronization1">
 		<method name="SetLocation">
 			<arg name="location" type="s" direction="in" />
 		</method>
 		<method name="GetPhonebook">
-			<arg name="phonebook" type="o" direction="out" />
-			<arg name="sourcefile" type="s" direction="in" />
 			<arg name="targetfile" type="s" direction="in" />
+			<arg name="transfer" type="o" direction="out" />
+			<arg name="properties" type="a{sv}" direction="out" />
 		</method>
 		<method name="PutPhonebook">
 			<arg name="sourcefile" type="s" direction="in" />
+			<arg name="transfer" type="o" direction="out" />
+			<arg name="properties" type="a{sv}" direction="out" />
 		</method>
 	</interface>
 
-<!-- TODO -->
-	<!-- https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/obex-api.txt -->
+	<!-- https://github.com/bluez/bluez/blob/master/doc/org.bluez.obex.PhonebookAccess.rst -->
 	<interface name="org.bluez.obex.PhonebookAccess1">
 		<method name="Select">
 			<arg name="location" type="s" direction="in" />
 			<arg name="phonebook" type="s" direction="in" />
 		</method>
 		<method name="PullAll">
-			<arg name="path" type="o" direction="out" />
-			<arg name="properties" type="a{sv}" direction="out" />
 			<arg name="targetfile" type="s" direction="in" />
-			<arg name="filters" type="as" direction="in" />
+			<arg name="filters" type="a{sv}" direction="in" />
+			<arg name="transfer" type="o" direction="out" />
+			<arg name="properties" type="a{sv}" direction="out" />
 		</method>
 		<method name="List">
-			<arg name="vcard" type="a{ss}" direction="out" />
-			<arg name="filters" type="as" direction="in" />
+			<arg name="filters" type="a{sv}" direction="in" />
+			<arg name="vcard_listing" type="a(ss)" direction="out" />
 		</method>
 		<method name="Pull">
-			<arg name="transfer" type="o" direction="out" />
-			<arg name="vcards" type="a{sv}" direction="out" />
 			<arg name="vcard" type="s" direction="in" />
 			<arg name="targetfile" type="s" direction="in" />
-			<arg name="filters" type="as" direction="in" />
+			<arg name="filters" type="a{sv}" direction="in" />
+			<arg name="transfer" type="o" direction="out" />
+			<arg name="properties" type="a{sv}" direction="out" />
+		</method>
+		<method name="Search">
+			<arg name="field" type="s" direction="in" />
+			<arg name="value" type="s" direction="in" />
+			<arg name="filters" type="a{sv}" direction="in" />
+			<arg name="vcard_listing" type="a(ss)" direction="out" />
+		</method>
+		<method name="GetSize">
+			<arg name="size" type="q" direction="out" />
+		</method>
+		<method name="UpdateVersion" />
+		<method name="ListFilterFields">
+			<arg name="fields" type="as" direction="out" />
 		</method>
 
 		<property name="Folder" type="s" access="read" />
 		<property name="DatabaseIdentifier" type="s" access="read" />
 		<property name="PrimaryCounter" type="s" access="read" />
 		<property name="SecondaryCounter" type="s" access="read" />
-		<property name="FixedImageSize" type="s" access="read" />
+		<property name="FixedImageSize" type="b" access="read" />
 
 	</interface>
 
-- 
cgit v1.2.3

