1 /+
2  +  Protocol copyright:
3  +  Copyright © 2008-2011 Kristian Høgsberg
4  +  Copyright © 2010-2011 Intel Corporation
5  +  Copyright © 2012-2013 Collabora, Ltd.
6  +
7  +  Permission is hereby granted, free of charge, to any person
8  +  obtaining a copy of this software and associated documentation files
9  +  (the "Software"), to deal in the Software without restriction,
10  +  including without limitation the rights to use, copy, modify, merge,
11  +  publish, distribute, sublicense, and/or sell copies of the Software,
12  +  and to permit persons to whom the Software is furnished to do so,
13  +  subject to the following conditions:
14  +
15  +  The above copyright notice and this permission notice (including the
16  +  next paragraph) shall be included in all copies or substantial
17  +  portions of the Software.
18  +
19  +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20  +  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21  +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22  +  NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23  +  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24  +  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25  +  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26  +  SOFTWARE.
27  +/
28 /+
29  +  D bindings copyright:
30  +  Copyright © 2015 Rémi Thebault
31  +/
32 /+
33  +      File generated by wayland-scanner-d:
34  +  ../wayland-scanner-d/wayland-scanner-d -m wayland.client.ifaces --client --ifaces --ifaces_priv_mod wayland.client.priv.ifaces -o ./src/wayland/client/ifaces.d
35  +      Do not edit!
36  +/
37 module wayland.client.ifaces;
38 
39 import wayland.client.util;
40 import wayland.client.opaque_types;
41 
42 version (Dynamic) {
43 
44     private {
45         __gshared wl_interface *wl_display_if_ptr;
46         __gshared wl_interface *wl_registry_if_ptr;
47         __gshared wl_interface *wl_callback_if_ptr;
48         __gshared wl_interface *wl_compositor_if_ptr;
49         __gshared wl_interface *wl_shm_pool_if_ptr;
50         __gshared wl_interface *wl_shm_if_ptr;
51         __gshared wl_interface *wl_buffer_if_ptr;
52         __gshared wl_interface *wl_data_offer_if_ptr;
53         __gshared wl_interface *wl_data_source_if_ptr;
54         __gshared wl_interface *wl_data_device_if_ptr;
55         __gshared wl_interface *wl_data_device_manager_if_ptr;
56         __gshared wl_interface *wl_shell_if_ptr;
57         __gshared wl_interface *wl_shell_surface_if_ptr;
58         __gshared wl_interface *wl_surface_if_ptr;
59         __gshared wl_interface *wl_seat_if_ptr;
60         __gshared wl_interface *wl_pointer_if_ptr;
61         __gshared wl_interface *wl_keyboard_if_ptr;
62         __gshared wl_interface *wl_touch_if_ptr;
63         __gshared wl_interface *wl_output_if_ptr;
64         __gshared wl_interface *wl_region_if_ptr;
65         __gshared wl_interface *wl_subcompositor_if_ptr;
66         __gshared wl_interface *wl_subsurface_if_ptr;
67     }
68 
69     package {
70         import derelict.util.loader;
71 
72         class WaylandClientLoader : SharedLibLoader {
73             this (string libName) {
74                 super(libName);
75             }
76             protected override void loadSymbols() {
77                 wl_display_if_ptr = cast(wl_interface*) loadSymbol("wl_display_interface");
78                 wl_registry_if_ptr = cast(wl_interface*) loadSymbol("wl_registry_interface");
79                 wl_callback_if_ptr = cast(wl_interface*) loadSymbol("wl_callback_interface");
80                 wl_compositor_if_ptr = cast(wl_interface*) loadSymbol("wl_compositor_interface");
81                 wl_shm_pool_if_ptr = cast(wl_interface*) loadSymbol("wl_shm_pool_interface");
82                 wl_shm_if_ptr = cast(wl_interface*) loadSymbol("wl_shm_interface");
83                 wl_buffer_if_ptr = cast(wl_interface*) loadSymbol("wl_buffer_interface");
84                 wl_data_offer_if_ptr = cast(wl_interface*) loadSymbol("wl_data_offer_interface");
85                 wl_data_source_if_ptr = cast(wl_interface*) loadSymbol("wl_data_source_interface");
86                 wl_data_device_if_ptr = cast(wl_interface*) loadSymbol("wl_data_device_interface");
87                 wl_data_device_manager_if_ptr = cast(wl_interface*) loadSymbol("wl_data_device_manager_interface");
88                 wl_shell_if_ptr = cast(wl_interface*) loadSymbol("wl_shell_interface");
89                 wl_shell_surface_if_ptr = cast(wl_interface*) loadSymbol("wl_shell_surface_interface");
90                 wl_surface_if_ptr = cast(wl_interface*) loadSymbol("wl_surface_interface");
91                 wl_seat_if_ptr = cast(wl_interface*) loadSymbol("wl_seat_interface");
92                 wl_pointer_if_ptr = cast(wl_interface*) loadSymbol("wl_pointer_interface");
93                 wl_keyboard_if_ptr = cast(wl_interface*) loadSymbol("wl_keyboard_interface");
94                 wl_touch_if_ptr = cast(wl_interface*) loadSymbol("wl_touch_interface");
95                 wl_output_if_ptr = cast(wl_interface*) loadSymbol("wl_output_interface");
96                 wl_region_if_ptr = cast(wl_interface*) loadSymbol("wl_region_interface");
97                 wl_subcompositor_if_ptr = cast(wl_interface*) loadSymbol("wl_subcompositor_interface");
98                 wl_subsurface_if_ptr = cast(wl_interface*) loadSymbol("wl_subsurface_interface");
99             }
100         }
101     }
102 
103     @property wl_interface *wl_display_interface() {
104         return wl_display_if_ptr;
105     }
106     @property wl_interface *wl_registry_interface() {
107         return wl_registry_if_ptr;
108     }
109     @property wl_interface *wl_callback_interface() {
110         return wl_callback_if_ptr;
111     }
112     @property wl_interface *wl_compositor_interface() {
113         return wl_compositor_if_ptr;
114     }
115     @property wl_interface *wl_shm_pool_interface() {
116         return wl_shm_pool_if_ptr;
117     }
118     @property wl_interface *wl_shm_interface() {
119         return wl_shm_if_ptr;
120     }
121     @property wl_interface *wl_buffer_interface() {
122         return wl_buffer_if_ptr;
123     }
124     @property wl_interface *wl_data_offer_interface() {
125         return wl_data_offer_if_ptr;
126     }
127     @property wl_interface *wl_data_source_interface() {
128         return wl_data_source_if_ptr;
129     }
130     @property wl_interface *wl_data_device_interface() {
131         return wl_data_device_if_ptr;
132     }
133     @property wl_interface *wl_data_device_manager_interface() {
134         return wl_data_device_manager_if_ptr;
135     }
136     @property wl_interface *wl_shell_interface() {
137         return wl_shell_if_ptr;
138     }
139     @property wl_interface *wl_shell_surface_interface() {
140         return wl_shell_surface_if_ptr;
141     }
142     @property wl_interface *wl_surface_interface() {
143         return wl_surface_if_ptr;
144     }
145     @property wl_interface *wl_seat_interface() {
146         return wl_seat_if_ptr;
147     }
148     @property wl_interface *wl_pointer_interface() {
149         return wl_pointer_if_ptr;
150     }
151     @property wl_interface *wl_keyboard_interface() {
152         return wl_keyboard_if_ptr;
153     }
154     @property wl_interface *wl_touch_interface() {
155         return wl_touch_if_ptr;
156     }
157     @property wl_interface *wl_output_interface() {
158         return wl_output_if_ptr;
159     }
160     @property wl_interface *wl_region_interface() {
161         return wl_region_if_ptr;
162     }
163     @property wl_interface *wl_subcompositor_interface() {
164         return wl_subcompositor_if_ptr;
165     }
166     @property wl_interface *wl_subsurface_interface() {
167         return wl_subsurface_if_ptr;
168     }
169 
170 }
171 else {
172 
173     import priv = wayland.client.priv.ifaces;
174 
175     @property wl_interface *wl_display_interface() {
176         return &priv.wl_display_interface;
177     }
178     @property wl_interface *wl_registry_interface() {
179         return &priv.wl_registry_interface;
180     }
181     @property wl_interface *wl_callback_interface() {
182         return &priv.wl_callback_interface;
183     }
184     @property wl_interface *wl_compositor_interface() {
185         return &priv.wl_compositor_interface;
186     }
187     @property wl_interface *wl_shm_pool_interface() {
188         return &priv.wl_shm_pool_interface;
189     }
190     @property wl_interface *wl_shm_interface() {
191         return &priv.wl_shm_interface;
192     }
193     @property wl_interface *wl_buffer_interface() {
194         return &priv.wl_buffer_interface;
195     }
196     @property wl_interface *wl_data_offer_interface() {
197         return &priv.wl_data_offer_interface;
198     }
199     @property wl_interface *wl_data_source_interface() {
200         return &priv.wl_data_source_interface;
201     }
202     @property wl_interface *wl_data_device_interface() {
203         return &priv.wl_data_device_interface;
204     }
205     @property wl_interface *wl_data_device_manager_interface() {
206         return &priv.wl_data_device_manager_interface;
207     }
208     @property wl_interface *wl_shell_interface() {
209         return &priv.wl_shell_interface;
210     }
211     @property wl_interface *wl_shell_surface_interface() {
212         return &priv.wl_shell_surface_interface;
213     }
214     @property wl_interface *wl_surface_interface() {
215         return &priv.wl_surface_interface;
216     }
217     @property wl_interface *wl_seat_interface() {
218         return &priv.wl_seat_interface;
219     }
220     @property wl_interface *wl_pointer_interface() {
221         return &priv.wl_pointer_interface;
222     }
223     @property wl_interface *wl_keyboard_interface() {
224         return &priv.wl_keyboard_interface;
225     }
226     @property wl_interface *wl_touch_interface() {
227         return &priv.wl_touch_interface;
228     }
229     @property wl_interface *wl_output_interface() {
230         return &priv.wl_output_interface;
231     }
232     @property wl_interface *wl_region_interface() {
233         return &priv.wl_region_interface;
234     }
235     @property wl_interface *wl_subcompositor_interface() {
236         return &priv.wl_subcompositor_interface;
237     }
238     @property wl_interface *wl_subsurface_interface() {
239         return &priv.wl_subsurface_interface;
240     }
241 
242 }