mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
tests: add data files for future wayland-scanner test
This patch adds the input and reference output data files for the
wayland-scanner tests to be added by the following patch.
The data files are split into their own patch because they are extremely
uninteresting to review:
- example.xml is just a copy wayland.xml from 1.12.0
- small.xml is a tiny dummy definition used for testing scanner
variations without causing lots of big output files
- the other files are wayland-scanner products from the xml files
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
v2: update output due to 2c6350beb9
Acked-by: Yong Bakos <ybakos@humanoriented.com>
This commit is contained in:
parent
024200745f
commit
992b451dc4
11 changed files with 13740 additions and 0 deletions
5477
tests/data/example-client.h
Normal file
5477
tests/data/example-client.h
Normal file
File diff suppressed because it is too large
Load diff
505
tests/data/example-code.c
Normal file
505
tests/data/example-code.c
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
/*
|
||||
* Copyright © 2008-2011 Kristian Høgsberg
|
||||
* Copyright © 2010-2011 Intel Corporation
|
||||
* Copyright © 2012-2013 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include "wayland-util.h"
|
||||
|
||||
extern const struct wl_interface wl_buffer_interface;
|
||||
extern const struct wl_interface wl_callback_interface;
|
||||
extern const struct wl_interface wl_data_device_interface;
|
||||
extern const struct wl_interface wl_data_offer_interface;
|
||||
extern const struct wl_interface wl_data_source_interface;
|
||||
extern const struct wl_interface wl_keyboard_interface;
|
||||
extern const struct wl_interface wl_output_interface;
|
||||
extern const struct wl_interface wl_pointer_interface;
|
||||
extern const struct wl_interface wl_region_interface;
|
||||
extern const struct wl_interface wl_registry_interface;
|
||||
extern const struct wl_interface wl_seat_interface;
|
||||
extern const struct wl_interface wl_shell_surface_interface;
|
||||
extern const struct wl_interface wl_shm_pool_interface;
|
||||
extern const struct wl_interface wl_subsurface_interface;
|
||||
extern const struct wl_interface wl_surface_interface;
|
||||
extern const struct wl_interface wl_touch_interface;
|
||||
|
||||
static const struct wl_interface *types[] = {
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_callback_interface,
|
||||
&wl_registry_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_region_interface,
|
||||
&wl_buffer_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_shm_pool_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_data_source_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
&wl_data_source_interface,
|
||||
NULL,
|
||||
&wl_data_offer_interface,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_data_offer_interface,
|
||||
&wl_data_offer_interface,
|
||||
&wl_data_source_interface,
|
||||
&wl_data_device_interface,
|
||||
&wl_seat_interface,
|
||||
&wl_shell_surface_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_seat_interface,
|
||||
NULL,
|
||||
&wl_seat_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_output_interface,
|
||||
&wl_seat_interface,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_output_interface,
|
||||
&wl_buffer_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_callback_interface,
|
||||
&wl_region_interface,
|
||||
&wl_region_interface,
|
||||
&wl_output_interface,
|
||||
&wl_output_interface,
|
||||
&wl_pointer_interface,
|
||||
&wl_keyboard_interface,
|
||||
&wl_touch_interface,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_surface_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&wl_subsurface_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_surface_interface,
|
||||
&wl_surface_interface,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_display_requests[] = {
|
||||
{ "sync", "n", types + 8 },
|
||||
{ "get_registry", "n", types + 9 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_display_events[] = {
|
||||
{ "error", "ous", types + 0 },
|
||||
{ "delete_id", "u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_display_interface = {
|
||||
"wl_display", 1,
|
||||
2, wl_display_requests,
|
||||
2, wl_display_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_registry_requests[] = {
|
||||
{ "bind", "usun", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_registry_events[] = {
|
||||
{ "global", "usu", types + 0 },
|
||||
{ "global_remove", "u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_registry_interface = {
|
||||
"wl_registry", 1,
|
||||
1, wl_registry_requests,
|
||||
2, wl_registry_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_callback_events[] = {
|
||||
{ "done", "u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_callback_interface = {
|
||||
"wl_callback", 1,
|
||||
0, NULL,
|
||||
1, wl_callback_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_compositor_requests[] = {
|
||||
{ "create_surface", "n", types + 10 },
|
||||
{ "create_region", "n", types + 11 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_compositor_interface = {
|
||||
"wl_compositor", 4,
|
||||
2, wl_compositor_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shm_pool_requests[] = {
|
||||
{ "create_buffer", "niiiiu", types + 12 },
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "resize", "i", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_shm_pool_interface = {
|
||||
"wl_shm_pool", 1,
|
||||
3, wl_shm_pool_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shm_requests[] = {
|
||||
{ "create_pool", "nhi", types + 18 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shm_events[] = {
|
||||
{ "format", "u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_shm_interface = {
|
||||
"wl_shm", 1,
|
||||
1, wl_shm_requests,
|
||||
1, wl_shm_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_buffer_requests[] = {
|
||||
{ "destroy", "", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_buffer_events[] = {
|
||||
{ "release", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_buffer_interface = {
|
||||
"wl_buffer", 1,
|
||||
1, wl_buffer_requests,
|
||||
1, wl_buffer_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_offer_requests[] = {
|
||||
{ "accept", "u?s", types + 0 },
|
||||
{ "receive", "sh", types + 0 },
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "finish", "3", types + 0 },
|
||||
{ "set_actions", "3uu", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_offer_events[] = {
|
||||
{ "offer", "s", types + 0 },
|
||||
{ "source_actions", "3u", types + 0 },
|
||||
{ "action", "3u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_data_offer_interface = {
|
||||
"wl_data_offer", 3,
|
||||
5, wl_data_offer_requests,
|
||||
3, wl_data_offer_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_source_requests[] = {
|
||||
{ "offer", "s", types + 0 },
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "set_actions", "3u", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_source_events[] = {
|
||||
{ "target", "?s", types + 0 },
|
||||
{ "send", "sh", types + 0 },
|
||||
{ "cancelled", "", types + 0 },
|
||||
{ "dnd_drop_performed", "3", types + 0 },
|
||||
{ "dnd_finished", "3", types + 0 },
|
||||
{ "action", "3u", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_data_source_interface = {
|
||||
"wl_data_source", 3,
|
||||
3, wl_data_source_requests,
|
||||
6, wl_data_source_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_device_requests[] = {
|
||||
{ "start_drag", "?oo?ou", types + 21 },
|
||||
{ "set_selection", "?ou", types + 25 },
|
||||
{ "release", "2", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_device_events[] = {
|
||||
{ "data_offer", "n", types + 27 },
|
||||
{ "enter", "uoff?o", types + 28 },
|
||||
{ "leave", "", types + 0 },
|
||||
{ "motion", "uff", types + 0 },
|
||||
{ "drop", "", types + 0 },
|
||||
{ "selection", "?o", types + 33 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_data_device_interface = {
|
||||
"wl_data_device", 3,
|
||||
3, wl_data_device_requests,
|
||||
6, wl_data_device_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_data_device_manager_requests[] = {
|
||||
{ "create_data_source", "n", types + 34 },
|
||||
{ "get_data_device", "no", types + 35 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_data_device_manager_interface = {
|
||||
"wl_data_device_manager", 3,
|
||||
2, wl_data_device_manager_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shell_requests[] = {
|
||||
{ "get_shell_surface", "no", types + 37 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_shell_interface = {
|
||||
"wl_shell", 1,
|
||||
1, wl_shell_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shell_surface_requests[] = {
|
||||
{ "pong", "u", types + 0 },
|
||||
{ "move", "ou", types + 39 },
|
||||
{ "resize", "ouu", types + 41 },
|
||||
{ "set_toplevel", "", types + 0 },
|
||||
{ "set_transient", "oiiu", types + 44 },
|
||||
{ "set_fullscreen", "uu?o", types + 48 },
|
||||
{ "set_popup", "ouoiiu", types + 51 },
|
||||
{ "set_maximized", "?o", types + 57 },
|
||||
{ "set_title", "s", types + 0 },
|
||||
{ "set_class", "s", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_shell_surface_events[] = {
|
||||
{ "ping", "u", types + 0 },
|
||||
{ "configure", "uii", types + 0 },
|
||||
{ "popup_done", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_shell_surface_interface = {
|
||||
"wl_shell_surface", 1,
|
||||
10, wl_shell_surface_requests,
|
||||
3, wl_shell_surface_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_surface_requests[] = {
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "attach", "?oii", types + 58 },
|
||||
{ "damage", "iiii", types + 0 },
|
||||
{ "frame", "n", types + 61 },
|
||||
{ "set_opaque_region", "?o", types + 62 },
|
||||
{ "set_input_region", "?o", types + 63 },
|
||||
{ "commit", "", types + 0 },
|
||||
{ "set_buffer_transform", "2i", types + 0 },
|
||||
{ "set_buffer_scale", "3i", types + 0 },
|
||||
{ "damage_buffer", "4iiii", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_surface_events[] = {
|
||||
{ "enter", "o", types + 64 },
|
||||
{ "leave", "o", types + 65 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_surface_interface = {
|
||||
"wl_surface", 4,
|
||||
10, wl_surface_requests,
|
||||
2, wl_surface_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_seat_requests[] = {
|
||||
{ "get_pointer", "n", types + 66 },
|
||||
{ "get_keyboard", "n", types + 67 },
|
||||
{ "get_touch", "n", types + 68 },
|
||||
{ "release", "5", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_seat_events[] = {
|
||||
{ "capabilities", "u", types + 0 },
|
||||
{ "name", "2s", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_seat_interface = {
|
||||
"wl_seat", 5,
|
||||
4, wl_seat_requests,
|
||||
2, wl_seat_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_pointer_requests[] = {
|
||||
{ "set_cursor", "u?oii", types + 69 },
|
||||
{ "release", "3", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_pointer_events[] = {
|
||||
{ "enter", "uoff", types + 73 },
|
||||
{ "leave", "uo", types + 77 },
|
||||
{ "motion", "uff", types + 0 },
|
||||
{ "button", "uuuu", types + 0 },
|
||||
{ "axis", "uuf", types + 0 },
|
||||
{ "frame", "5", types + 0 },
|
||||
{ "axis_source", "5u", types + 0 },
|
||||
{ "axis_stop", "5uu", types + 0 },
|
||||
{ "axis_discrete", "5ui", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_pointer_interface = {
|
||||
"wl_pointer", 5,
|
||||
2, wl_pointer_requests,
|
||||
9, wl_pointer_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_keyboard_requests[] = {
|
||||
{ "release", "3", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_keyboard_events[] = {
|
||||
{ "keymap", "uhu", types + 0 },
|
||||
{ "enter", "uoa", types + 79 },
|
||||
{ "leave", "uo", types + 82 },
|
||||
{ "key", "uuuu", types + 0 },
|
||||
{ "modifiers", "uuuuu", types + 0 },
|
||||
{ "repeat_info", "4ii", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_keyboard_interface = {
|
||||
"wl_keyboard", 5,
|
||||
1, wl_keyboard_requests,
|
||||
6, wl_keyboard_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_touch_requests[] = {
|
||||
{ "release", "3", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_touch_events[] = {
|
||||
{ "down", "uuoiff", types + 84 },
|
||||
{ "up", "uui", types + 0 },
|
||||
{ "motion", "uiff", types + 0 },
|
||||
{ "frame", "", types + 0 },
|
||||
{ "cancel", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_touch_interface = {
|
||||
"wl_touch", 5,
|
||||
1, wl_touch_requests,
|
||||
5, wl_touch_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_output_requests[] = {
|
||||
{ "release", "3", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message wl_output_events[] = {
|
||||
{ "geometry", "iiiiissi", types + 0 },
|
||||
{ "mode", "uiii", types + 0 },
|
||||
{ "done", "2", types + 0 },
|
||||
{ "scale", "2i", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_output_interface = {
|
||||
"wl_output", 3,
|
||||
1, wl_output_requests,
|
||||
4, wl_output_events,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_region_requests[] = {
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "add", "iiii", types + 0 },
|
||||
{ "subtract", "iiii", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_region_interface = {
|
||||
"wl_region", 1,
|
||||
3, wl_region_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_subcompositor_requests[] = {
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "get_subsurface", "noo", types + 90 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_subcompositor_interface = {
|
||||
"wl_subcompositor", 1,
|
||||
2, wl_subcompositor_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
static const struct wl_message wl_subsurface_requests[] = {
|
||||
{ "destroy", "", types + 0 },
|
||||
{ "set_position", "ii", types + 0 },
|
||||
{ "place_above", "o", types + 93 },
|
||||
{ "place_below", "o", types + 94 },
|
||||
{ "set_sync", "", types + 0 },
|
||||
{ "set_desync", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface wl_subsurface_interface = {
|
||||
"wl_subsurface", 1,
|
||||
6, wl_subsurface_requests,
|
||||
0, NULL,
|
||||
};
|
||||
|
||||
4285
tests/data/example-server.h
Normal file
4285
tests/data/example-server.h
Normal file
File diff suppressed because it is too large
Load diff
2693
tests/data/example.xml
Normal file
2693
tests/data/example.xml
Normal file
File diff suppressed because it is too large
Load diff
172
tests/data/small-client-core.h
Normal file
172
tests/data/small-client-core.h
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
#ifndef SMALL_TEST_CLIENT_PROTOCOL_H
|
||||
#define SMALL_TEST_CLIENT_PROTOCOL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "wayland-client-core.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @page page_small_test The small_test protocol
|
||||
* @section page_ifaces_small_test Interfaces
|
||||
* - @subpage page_iface_intf_A - the thing A
|
||||
* @section page_copyright_small_test Copyright
|
||||
* <pre>
|
||||
*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
* </pre>
|
||||
*/
|
||||
struct another_intf;
|
||||
struct intf_A;
|
||||
struct intf_not_here;
|
||||
|
||||
/**
|
||||
* @page page_iface_intf_A intf_A
|
||||
* @section page_iface_intf_A_desc Description
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
* @section page_iface_intf_A_api API
|
||||
* See @ref iface_intf_A.
|
||||
*/
|
||||
/**
|
||||
* @defgroup iface_intf_A The intf_A interface
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
*/
|
||||
extern const struct wl_interface intf_A_interface;
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* @struct intf_A_listener
|
||||
*/
|
||||
struct intf_A_listener {
|
||||
/**
|
||||
*/
|
||||
void (*hey)(void *data,
|
||||
struct intf_A *intf_A);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline int
|
||||
intf_A_add_listener(struct intf_A *intf_A,
|
||||
const struct intf_A_listener *listener, void *data)
|
||||
{
|
||||
return wl_proxy_add_listener((struct wl_proxy *) intf_A,
|
||||
(void (**)(void)) listener, data);
|
||||
}
|
||||
|
||||
#define INTF_A_RQ1 0
|
||||
#define INTF_A_RQ2 1
|
||||
#define INTF_A_DESTROY 2
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_HEY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ1_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ2_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_DESTROY_SINCE_VERSION 1
|
||||
|
||||
/** @ingroup iface_intf_A */
|
||||
static inline void
|
||||
intf_A_set_user_data(struct intf_A *intf_A, void *user_data)
|
||||
{
|
||||
wl_proxy_set_user_data((struct wl_proxy *) intf_A, user_data);
|
||||
}
|
||||
|
||||
/** @ingroup iface_intf_A */
|
||||
static inline void *
|
||||
intf_A_get_user_data(struct intf_A *intf_A)
|
||||
{
|
||||
return wl_proxy_get_user_data((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
intf_A_get_version(struct intf_A *intf_A)
|
||||
{
|
||||
return wl_proxy_get_version((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline void *
|
||||
intf_A_rq1(struct intf_A *intf_A, const struct wl_interface *interface, uint32_t version)
|
||||
{
|
||||
struct wl_proxy *untyped_new;
|
||||
|
||||
untyped_new = wl_proxy_marshal_constructor_versioned((struct wl_proxy *) intf_A,
|
||||
INTF_A_RQ1, interface, version, interface->name, version, NULL);
|
||||
|
||||
return (void *) untyped_new;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline struct intf_not_here *
|
||||
intf_A_rq2(struct intf_A *intf_A, const char *str, int32_t i, uint32_t u, wl_fixed_t f, int32_t fd, struct another_intf *obj)
|
||||
{
|
||||
struct wl_proxy *typed_new;
|
||||
|
||||
typed_new = wl_proxy_marshal_constructor((struct wl_proxy *) intf_A,
|
||||
INTF_A_RQ2, &intf_not_here_interface, NULL, str, i, u, f, fd, obj);
|
||||
|
||||
return (struct intf_not_here *) typed_new;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline void
|
||||
intf_A_destroy(struct intf_A *intf_A)
|
||||
{
|
||||
wl_proxy_marshal((struct wl_proxy *) intf_A,
|
||||
INTF_A_DESTROY);
|
||||
|
||||
wl_proxy_destroy((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
172
tests/data/small-client.h
Normal file
172
tests/data/small-client.h
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
#ifndef SMALL_TEST_CLIENT_PROTOCOL_H
|
||||
#define SMALL_TEST_CLIENT_PROTOCOL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "wayland-client.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @page page_small_test The small_test protocol
|
||||
* @section page_ifaces_small_test Interfaces
|
||||
* - @subpage page_iface_intf_A - the thing A
|
||||
* @section page_copyright_small_test Copyright
|
||||
* <pre>
|
||||
*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
* </pre>
|
||||
*/
|
||||
struct another_intf;
|
||||
struct intf_A;
|
||||
struct intf_not_here;
|
||||
|
||||
/**
|
||||
* @page page_iface_intf_A intf_A
|
||||
* @section page_iface_intf_A_desc Description
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
* @section page_iface_intf_A_api API
|
||||
* See @ref iface_intf_A.
|
||||
*/
|
||||
/**
|
||||
* @defgroup iface_intf_A The intf_A interface
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
*/
|
||||
extern const struct wl_interface intf_A_interface;
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* @struct intf_A_listener
|
||||
*/
|
||||
struct intf_A_listener {
|
||||
/**
|
||||
*/
|
||||
void (*hey)(void *data,
|
||||
struct intf_A *intf_A);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline int
|
||||
intf_A_add_listener(struct intf_A *intf_A,
|
||||
const struct intf_A_listener *listener, void *data)
|
||||
{
|
||||
return wl_proxy_add_listener((struct wl_proxy *) intf_A,
|
||||
(void (**)(void)) listener, data);
|
||||
}
|
||||
|
||||
#define INTF_A_RQ1 0
|
||||
#define INTF_A_RQ2 1
|
||||
#define INTF_A_DESTROY 2
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_HEY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ1_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ2_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_DESTROY_SINCE_VERSION 1
|
||||
|
||||
/** @ingroup iface_intf_A */
|
||||
static inline void
|
||||
intf_A_set_user_data(struct intf_A *intf_A, void *user_data)
|
||||
{
|
||||
wl_proxy_set_user_data((struct wl_proxy *) intf_A, user_data);
|
||||
}
|
||||
|
||||
/** @ingroup iface_intf_A */
|
||||
static inline void *
|
||||
intf_A_get_user_data(struct intf_A *intf_A)
|
||||
{
|
||||
return wl_proxy_get_user_data((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
intf_A_get_version(struct intf_A *intf_A)
|
||||
{
|
||||
return wl_proxy_get_version((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline void *
|
||||
intf_A_rq1(struct intf_A *intf_A, const struct wl_interface *interface, uint32_t version)
|
||||
{
|
||||
struct wl_proxy *untyped_new;
|
||||
|
||||
untyped_new = wl_proxy_marshal_constructor_versioned((struct wl_proxy *) intf_A,
|
||||
INTF_A_RQ1, interface, version, interface->name, version, NULL);
|
||||
|
||||
return (void *) untyped_new;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline struct intf_not_here *
|
||||
intf_A_rq2(struct intf_A *intf_A, const char *str, int32_t i, uint32_t u, wl_fixed_t f, int32_t fd, struct another_intf *obj)
|
||||
{
|
||||
struct wl_proxy *typed_new;
|
||||
|
||||
typed_new = wl_proxy_marshal_constructor((struct wl_proxy *) intf_A,
|
||||
INTF_A_RQ2, &intf_not_here_interface, NULL, str, i, u, f, fd, obj);
|
||||
|
||||
return (struct intf_not_here *) typed_new;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
static inline void
|
||||
intf_A_destroy(struct intf_A *intf_A)
|
||||
{
|
||||
wl_proxy_marshal((struct wl_proxy *) intf_A,
|
||||
INTF_A_DESTROY);
|
||||
|
||||
wl_proxy_destroy((struct wl_proxy *) intf_A);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
61
tests/data/small-code-core.c
Normal file
61
tests/data/small-code-core.c
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
/*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include "wayland-util.h"
|
||||
|
||||
extern const struct wl_interface another_intf_interface;
|
||||
extern const struct wl_interface intf_not_here_interface;
|
||||
|
||||
static const struct wl_interface *types[] = {
|
||||
NULL,
|
||||
&intf_not_here_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&another_intf_interface,
|
||||
};
|
||||
|
||||
static const struct wl_message intf_A_requests[] = {
|
||||
{ "rq1", "sun", types + 0 },
|
||||
{ "rq2", "nsiufho", types + 1 },
|
||||
{ "destroy", "", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message intf_A_events[] = {
|
||||
{ "hey", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface intf_A_interface = {
|
||||
"intf_A", 1,
|
||||
3, intf_A_requests,
|
||||
1, intf_A_events,
|
||||
};
|
||||
|
||||
61
tests/data/small-code.c
Normal file
61
tests/data/small-code.c
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
/*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include "wayland-util.h"
|
||||
|
||||
extern const struct wl_interface another_intf_interface;
|
||||
extern const struct wl_interface intf_not_here_interface;
|
||||
|
||||
static const struct wl_interface *types[] = {
|
||||
NULL,
|
||||
&intf_not_here_interface,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&another_intf_interface,
|
||||
};
|
||||
|
||||
static const struct wl_message intf_A_requests[] = {
|
||||
{ "rq1", "sun", types + 0 },
|
||||
{ "rq2", "nsiufho", types + 1 },
|
||||
{ "destroy", "", types + 0 },
|
||||
};
|
||||
|
||||
static const struct wl_message intf_A_events[] = {
|
||||
{ "hey", "", types + 0 },
|
||||
};
|
||||
|
||||
WL_EXPORT const struct wl_interface intf_A_interface = {
|
||||
"intf_A", 1,
|
||||
3, intf_A_requests,
|
||||
1, intf_A_events,
|
||||
};
|
||||
|
||||
131
tests/data/small-server-core.h
Normal file
131
tests/data/small-server-core.h
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
#ifndef SMALL_TEST_SERVER_PROTOCOL_H
|
||||
#define SMALL_TEST_SERVER_PROTOCOL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "wayland-server-core.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct wl_client;
|
||||
struct wl_resource;
|
||||
|
||||
/**
|
||||
* @page page_small_test The small_test protocol
|
||||
* @section page_ifaces_small_test Interfaces
|
||||
* - @subpage page_iface_intf_A - the thing A
|
||||
* @section page_copyright_small_test Copyright
|
||||
* <pre>
|
||||
*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
* </pre>
|
||||
*/
|
||||
struct another_intf;
|
||||
struct intf_A;
|
||||
struct intf_not_here;
|
||||
|
||||
/**
|
||||
* @page page_iface_intf_A intf_A
|
||||
* @section page_iface_intf_A_desc Description
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
* @section page_iface_intf_A_api API
|
||||
* See @ref iface_intf_A.
|
||||
*/
|
||||
/**
|
||||
* @defgroup iface_intf_A The intf_A interface
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
*/
|
||||
extern const struct wl_interface intf_A_interface;
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* @struct intf_A_interface
|
||||
*/
|
||||
struct intf_A_interface {
|
||||
/**
|
||||
* @param interface name of the objects interface
|
||||
* @param version version of the objects interface
|
||||
*/
|
||||
void (*rq1)(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
const char *interface, uint32_t version, uint32_t untyped_new);
|
||||
/**
|
||||
*/
|
||||
void (*rq2)(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
uint32_t typed_new,
|
||||
const char *str,
|
||||
int32_t i,
|
||||
uint32_t u,
|
||||
wl_fixed_t f,
|
||||
int32_t fd,
|
||||
struct wl_resource *obj);
|
||||
/**
|
||||
*/
|
||||
void (*destroy)(struct wl_client *client,
|
||||
struct wl_resource *resource);
|
||||
};
|
||||
|
||||
#define INTF_A_HEY 0
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_HEY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ1_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ2_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_DESTROY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* Sends an hey event to the client owning the resource.
|
||||
* @param resource_ The client's resource
|
||||
*/
|
||||
static inline void
|
||||
intf_A_send_hey(struct wl_resource *resource_)
|
||||
{
|
||||
wl_resource_post_event(resource_, INTF_A_HEY);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
131
tests/data/small-server.h
Normal file
131
tests/data/small-server.h
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
/* SCANNER TEST */
|
||||
|
||||
#ifndef SMALL_TEST_SERVER_PROTOCOL_H
|
||||
#define SMALL_TEST_SERVER_PROTOCOL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "wayland-server.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct wl_client;
|
||||
struct wl_resource;
|
||||
|
||||
/**
|
||||
* @page page_small_test The small_test protocol
|
||||
* @section page_ifaces_small_test Interfaces
|
||||
* - @subpage page_iface_intf_A - the thing A
|
||||
* @section page_copyright_small_test Copyright
|
||||
* <pre>
|
||||
*
|
||||
* Copyright © 2016 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
* </pre>
|
||||
*/
|
||||
struct another_intf;
|
||||
struct intf_A;
|
||||
struct intf_not_here;
|
||||
|
||||
/**
|
||||
* @page page_iface_intf_A intf_A
|
||||
* @section page_iface_intf_A_desc Description
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
* @section page_iface_intf_A_api API
|
||||
* See @ref iface_intf_A.
|
||||
*/
|
||||
/**
|
||||
* @defgroup iface_intf_A The intf_A interface
|
||||
*
|
||||
* A useless example trying to tickle the scanner.
|
||||
*/
|
||||
extern const struct wl_interface intf_A_interface;
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* @struct intf_A_interface
|
||||
*/
|
||||
struct intf_A_interface {
|
||||
/**
|
||||
* @param interface name of the objects interface
|
||||
* @param version version of the objects interface
|
||||
*/
|
||||
void (*rq1)(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
const char *interface, uint32_t version, uint32_t untyped_new);
|
||||
/**
|
||||
*/
|
||||
void (*rq2)(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
uint32_t typed_new,
|
||||
const char *str,
|
||||
int32_t i,
|
||||
uint32_t u,
|
||||
wl_fixed_t f,
|
||||
int32_t fd,
|
||||
struct wl_resource *obj);
|
||||
/**
|
||||
*/
|
||||
void (*destroy)(struct wl_client *client,
|
||||
struct wl_resource *resource);
|
||||
};
|
||||
|
||||
#define INTF_A_HEY 0
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_HEY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ1_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_RQ2_SINCE_VERSION 1
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
*/
|
||||
#define INTF_A_DESTROY_SINCE_VERSION 1
|
||||
|
||||
/**
|
||||
* @ingroup iface_intf_A
|
||||
* Sends an hey event to the client owning the resource.
|
||||
* @param resource_ The client's resource
|
||||
*/
|
||||
static inline void
|
||||
intf_A_send_hey(struct wl_resource *resource_)
|
||||
{
|
||||
wl_resource_post_event(resource_, INTF_A_HEY);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
52
tests/data/small.xml
Normal file
52
tests/data/small.xml
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<protocol name="small_test">
|
||||
|
||||
<copyright>
|
||||
Copyright © 2016 Collabora, Ltd.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation files
|
||||
(the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the
|
||||
next paragraph) shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
</copyright>
|
||||
|
||||
<interface name="intf_A" version="1">
|
||||
<description summary="the thing A">
|
||||
A useless example trying to tickle the scanner.
|
||||
</description>
|
||||
|
||||
<request name="rq1">
|
||||
<arg name="untyped_new" type="new_id"/>
|
||||
</request>
|
||||
|
||||
<request name="rq2">
|
||||
<arg name="typed_new" type="new_id" interface="intf_not_here"/>
|
||||
<arg name="str" type="string"/>
|
||||
<arg name="i" type="int"/>
|
||||
<arg name="u" type="uint"/>
|
||||
<arg name="f" type="fixed"/>
|
||||
<arg name="fd" type="fd"/>
|
||||
<arg name="obj" type="object" interface="another_intf"/>
|
||||
</request>
|
||||
|
||||
<request name="destroy" type="destructor"/>
|
||||
|
||||
<event name="hey"/>
|
||||
</interface>
|
||||
</protocol>
|
||||
Loading…
Add table
Add a link
Reference in a new issue