summaryrefslogtreecommitdiff
path: root/interface/meson.build
blob: 9e230a7a6ab251aa0c0dbdf02197674b26efc2d4 (plain)
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)