1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
dbus_interface_dir = join_paths(datadir, 'dbus-1', 'interfaces')
geoclue_iface_sources = []
# Client interface
client_interface_xml = 'org.freedesktop.GeoClue2.Client.xml'
geoclue_iface_sources += gnome.gdbus_codegen(
'gclue-client-interface',
client_interface_xml,
interface_prefix: 'org.freedesktop.GeoClue2.',
namespace: 'GClueDBus',
docbook: 'docs')
# Location interface
location_interface_xml = 'org.freedesktop.GeoClue2.Location.xml'
geoclue_iface_sources += gnome.gdbus_codegen(
'gclue-location-interface',
location_interface_xml,
interface_prefix: 'org.freedesktop.GeoClue2.',
namespace: 'GClueDBus',
docbook: 'docs')
# Manager interface
manager_interface_xml = 'org.freedesktop.GeoClue2.Manager.xml'
geoclue_iface_sources += gnome.gdbus_codegen(
'gclue-manager-interface',
manager_interface_xml,
interface_prefix: 'org.freedesktop.GeoClue2.',
namespace: 'GClueDBus',
docbook: 'docs')
annotations = [[ 'fi.w1.wpa_supplicant1',
'org.gtk.GDBus.C.Name',
'WPA_Supplicant' ],
[ 'fi.w1.wpa_supplicant1.Interface',
'org.gtk.GDBus.C.Name',
'WPA_Interface' ],
[ 'fi.w1.wpa_supplicant1.BSS',
'org.gtk.GDBus.C.Name',
'WPA_BSS' ],
[ 'fi.w1.wpa_supplicant1.BSS:SSID',
'org.gtk.GDBus.C.ForceGVariant',
'whatever' ],
[ 'fi.w1.wpa_supplicant1.BSS:BSSID',
'org.gtk.GDBus.C.ForceGVariant',
'whatever' ],
[ 'fi.w1.wpa_supplicant1.Interface::BSSAdded',
'org.gtk.GDBus.C.Name',
'BSS_Added' ],
[ 'fi.w1.wpa_supplicant1.Interface::BSSRemoved',
'org.gtk.GDBus.C.Name',
'BSS_Removed' ]]
geoclue_agent_sources = gnome.gdbus_codegen(
'geoclue-agent-interface',
'org.freedesktop.GeoClue2.Agent.xml',
interface_prefix: 'org.freedesktop.GeoClue2.',
namespace: 'GClue',
docbook: 'docs')
geoclue_iface_sources += geoclue_agent_sources
#libgeoclue_iface_inc = include_directories('.', '../..')
if get_option('enable-backend')
wpa_supplicant_sources = gnome.gdbus_codegen(
'wpa_supplicant-interface',
'fi.w1.wpa_supplicant1.xml',
interface_prefix: 'fi.w1.wpa_supplicant1.',
annotations: annotations)
compass_iface_sources = gnome.gdbus_codegen(
'compass-interface',
'net.hadess.SensorProxy.xml',
interface_prefix: 'net.hadess.SensorProxy')
endif
install_data('org.freedesktop.GeoClue2.Agent.xml',
install_dir: dbus_interface_dir)
interface_files = [ location_interface_xml,
client_interface_xml,
manager_interface_xml ]
# Provide a single interface file too for backwards compatiblity.
# At least gnome-settings-daemon currently relies on that.
unified_interface_xml = 'org.freedesktop.GeoClue2.xml'
python = find_program('python3')
create_interface = find_program('create-unified-xml.py')
cmd = [python, create_interface, '@OUTPUT@', '@INPUT@' ]
custom_target('gclue-xml-interface',
input: interface_files,
output: unified_interface_xml,
install: true,
install_dir: dbus_interface_dir,
command: cmd)
install_data(interface_files,
install_dir: dbus_interface_dir)
|