From 992b451dc44389e56913e3e57681aec00ee6bffc Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Tue, 4 Oct 2016 17:26:40 +0300 Subject: 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 Reviewed-by: Emilio Pozuelo Monfort v2: update output due to 2c6350beb92816eb9213c4944d197485e788ef6d Acked-by: Yong Bakos --- tests/data/small-client-core.h | 172 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 tests/data/small-client-core.h (limited to 'tests/data/small-client-core.h') diff --git a/tests/data/small-client-core.h b/tests/data/small-client-core.h new file mode 100644 index 0000000..8d02edb --- /dev/null +++ b/tests/data/small-client-core.h @@ -0,0 +1,172 @@ +/* SCANNER TEST */ + +#ifndef SMALL_TEST_CLIENT_PROTOCOL_H +#define SMALL_TEST_CLIENT_PROTOCOL_H + +#include +#include +#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 + *
+ *
+ * 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.
+ * 
+ */ +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 -- cgit v1.2.3-70-g09d2