diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2017-01-24 09:56:38 +1000 |
|---|---|---|
| committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2017-01-24 11:59:00 +0200 |
| commit | f8ab47690c03245da4938cbab7a4ba6bcb1bebe0 (patch) | |
| tree | ad9a015b329552129e0965a06678bbced9bb0f8c /tests/data | |
| parent | scanner: add helper function to convert "since" to a version (diff) | |
| download | wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.gz wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.bz2 wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.lz wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.xz wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.tar.zst wayland-f8ab47690c03245da4938cbab7a4ba6bcb1bebe0.zip | |
scanner: support "since" attribute for enum entries
This was already in the DTD but not supported by the scanner.
The check for ever-increasing "since" tags is not strictly required for enum
entries as we control the binary value. But it keeps the xml file in
good order, preventing things like:
<entry name="first" value="…" />
<entry name="second" value="…" since="3"/>
<entry name="third" value="…" since="2"/>
<entry name="fourth" value="…" since="3"/>
If this is undesirable in the future the check can be removed without
side-effects.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'tests/data')
| -rw-r--r-- | tests/data/small-client-core.h | 23 | ||||
| -rw-r--r-- | tests/data/small-client.h | 23 | ||||
| -rw-r--r-- | tests/data/small-code-core.c | 2 | ||||
| -rw-r--r-- | tests/data/small-code.c | 2 | ||||
| -rw-r--r-- | tests/data/small-server-core.h | 23 | ||||
| -rw-r--r-- | tests/data/small-server.h | 23 | ||||
| -rw-r--r-- | tests/data/small.xml | 8 |
7 files changed, 101 insertions, 3 deletions
diff --git a/tests/data/small-client-core.h b/tests/data/small-client-core.h index 8d02edb..c85cca6 100644 --- a/tests/data/small-client-core.h +++ b/tests/data/small-client-core.h @@ -61,6 +61,29 @@ struct intf_not_here; */ extern const struct wl_interface intf_A_interface; +#ifndef INTF_A_FOO_ENUM +#define INTF_A_FOO_ENUM +enum intf_A_foo { + /** + * this is the first + */ + INTF_A_FOO_FIRST = 0, + /** + * this is the second + */ + INTF_A_FOO_SECOND = 1, + /** + * this is the third + * @since 2 + */ + INTF_A_FOO_THIRD = 2, +}; +/** + * @ingroup iface_intf_A + */ +#define INTF_A_FOO_THIRD_SINCE_VERSION 2 +#endif /* INTF_A_FOO_ENUM */ + /** * @ingroup iface_intf_A * @struct intf_A_listener diff --git a/tests/data/small-client.h b/tests/data/small-client.h index 050e63f..884346d 100644 --- a/tests/data/small-client.h +++ b/tests/data/small-client.h @@ -61,6 +61,29 @@ struct intf_not_here; */ extern const struct wl_interface intf_A_interface; +#ifndef INTF_A_FOO_ENUM +#define INTF_A_FOO_ENUM +enum intf_A_foo { + /** + * this is the first + */ + INTF_A_FOO_FIRST = 0, + /** + * this is the second + */ + INTF_A_FOO_SECOND = 1, + /** + * this is the third + * @since 2 + */ + INTF_A_FOO_THIRD = 2, +}; +/** + * @ingroup iface_intf_A + */ +#define INTF_A_FOO_THIRD_SINCE_VERSION 2 +#endif /* INTF_A_FOO_ENUM */ + /** * @ingroup iface_intf_A * @struct intf_A_listener diff --git a/tests/data/small-code-core.c b/tests/data/small-code-core.c index dbf7f40..28a00ab 100644 --- a/tests/data/small-code-core.c +++ b/tests/data/small-code-core.c @@ -54,7 +54,7 @@ static const struct wl_message intf_A_events[] = { }; WL_EXPORT const struct wl_interface intf_A_interface = { - "intf_A", 1, + "intf_A", 3, 3, intf_A_requests, 1, intf_A_events, }; diff --git a/tests/data/small-code.c b/tests/data/small-code.c index dbf7f40..28a00ab 100644 --- a/tests/data/small-code.c +++ b/tests/data/small-code.c @@ -54,7 +54,7 @@ static const struct wl_message intf_A_events[] = { }; WL_EXPORT const struct wl_interface intf_A_interface = { - "intf_A", 1, + "intf_A", 3, 3, intf_A_requests, 1, intf_A_events, }; diff --git a/tests/data/small-server-core.h b/tests/data/small-server-core.h index c1e8d05..6dd2d05 100644 --- a/tests/data/small-server-core.h +++ b/tests/data/small-server-core.h @@ -64,6 +64,29 @@ struct intf_not_here; */ extern const struct wl_interface intf_A_interface; +#ifndef INTF_A_FOO_ENUM +#define INTF_A_FOO_ENUM +enum intf_A_foo { + /** + * this is the first + */ + INTF_A_FOO_FIRST = 0, + /** + * this is the second + */ + INTF_A_FOO_SECOND = 1, + /** + * this is the third + * @since 2 + */ + INTF_A_FOO_THIRD = 2, +}; +/** + * @ingroup iface_intf_A + */ +#define INTF_A_FOO_THIRD_SINCE_VERSION 2 +#endif /* INTF_A_FOO_ENUM */ + /** * @ingroup iface_intf_A * @struct intf_A_interface diff --git a/tests/data/small-server.h b/tests/data/small-server.h index 0bd8a1d..4763f5b 100644 --- a/tests/data/small-server.h +++ b/tests/data/small-server.h @@ -64,6 +64,29 @@ struct intf_not_here; */ extern const struct wl_interface intf_A_interface; +#ifndef INTF_A_FOO_ENUM +#define INTF_A_FOO_ENUM +enum intf_A_foo { + /** + * this is the first + */ + INTF_A_FOO_FIRST = 0, + /** + * this is the second + */ + INTF_A_FOO_SECOND = 1, + /** + * this is the third + * @since 2 + */ + INTF_A_FOO_THIRD = 2, +}; +/** + * @ingroup iface_intf_A + */ +#define INTF_A_FOO_THIRD_SINCE_VERSION 2 +#endif /* INTF_A_FOO_ENUM */ + /** * @ingroup iface_intf_A * @struct intf_A_interface diff --git a/tests/data/small.xml b/tests/data/small.xml index 571618f..a6e62ad 100644 --- a/tests/data/small.xml +++ b/tests/data/small.xml @@ -26,7 +26,7 @@ SOFTWARE. </copyright> - <interface name="intf_A" version="1"> + <interface name="intf_A" version="3"> <description summary="the thing A"> A useless example trying to tickle the scanner. </description> @@ -48,5 +48,11 @@ <request name="destroy" type="destructor"/> <event name="hey"/> + + <enum name="foo"> + <entry name="first" value="0" summary="this is the first"/> + <entry name="second" value="1" summary="this is the second"/> + <entry name="third" value="2" since="2" summary="this is the third"/> + </enum> </interface> </protocol> |
