bluez5: add GDBus-based object monitor framework

This commit is contained in:
Pauli Virtanen 2022-11-14 01:48:27 +02:00 committed by Wim Taymans
parent 8d438d26ab
commit de595a78ff
6 changed files with 393 additions and 6 deletions

View file

@ -1,4 +1,6 @@
bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep ]
gnome = import('gnome')
bluez5_deps = [ mathlib, dbus_dep, glib2_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
foreach dep: bluez5_deps
if not dep.found()
subdir_done()
@ -29,7 +31,6 @@ bluez5_sources = [
'bluez5-device.c',
'bluez5-dbus.c',
'hci.c',
'dbus-manager.c',
'dbus-monitor.c',
'midi-enum.c',
'midi-parser.c',
@ -37,6 +38,18 @@ bluez5_sources = [
'midi-server.c',
]
bluez5_interface_src = gnome.gdbus_codegen('bluez5-interface-gen',
sources: 'org.bluez.xml',
interface_prefix : 'org.bluez.',
object_manager: true,
namespace : 'Bluez5',
annotations : [
['org.bluez.GattCharacteristic1.AcquireNotify()', 'org.gtk.GDBus.C.UnixFD', 'true'],
['org.bluez.GattCharacteristic1.AcquireWrite()', 'org.gtk.GDBus.C.UnixFD', 'true'],
]
)
bluez5_sources += [ bluez5_interface_src ]
bluez5_data = ['bluez-hardware.conf']
install_data(bluez5_data, install_dir : spa_datadir / 'bluez5')
@ -159,7 +172,7 @@ test_apps = [
bluez5_test_lib = static_library('bluez5_test_lib',
[ 'midi-parser.c' ],
include_directories : [ configinc ],
dependencies : [ spa_dep, dbus_dep ],
dependencies : [ spa_dep, bluez5_deps ],
install : false
)