diff options
author | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2016-10-04 17:26:40 +0300 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2016-11-23 10:18:29 +0200 |
commit | 992b451dc44389e56913e3e57681aec00ee6bffc (patch) | |
tree | 03110fae0e6912b76868361da619a3f135165332 /tests/data/small-client.h | |
parent | 024200745fc83373effdf64f3a5684c1a9cd9a13 (diff) |
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 2c6350beb92816eb9213c4944d197485e788ef6d
Acked-by: Yong Bakos <ybakos@humanoriented.com>
Diffstat (limited to 'tests/data/small-client.h')
-rw-r--r-- | tests/data/small-client.h | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/tests/data/small-client.h b/tests/data/small-client.h new file mode 100644 index 0000000..050e63f --- /dev/null +++ b/tests/data/small-client.h @@ -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 |