Adapted code to use qtwaylandscanner.

We include the wayland.xml since we need to generate bindings for the
core protocol as well.

Also, WAYLANDSOURCES has been split into WAYLANDSERVERSOURCES and
WAYLANDCLIENTSOURCES since we need to produce different output in the
server and client cases.

Change-Id: I0bd493d41ca6b26dfd2d9b1463d4b762786537f9
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
This commit is contained in:
Samuel Rødal 2013-04-09 16:52:59 +02:00 committed by Jørgen Lind
parent 2ba715bbfd
commit f16ae84d4c
5 changed files with 1338 additions and 6 deletions

View File

@ -1,4 +1,4 @@
<protocol name="key_extension">
<protocol name="qtkey_extension">
<copyright>
Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).

View File

@ -1,4 +1,4 @@
<protocol name="wayland_windowmanager">
<protocol name="windowmanager">
<copyright>
Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).

1
src/3rdparty/wayland/protocols/README vendored Normal file
View File

@ -0,0 +1 @@
wayland.xml from wayland version defined in qtwayland/README

1332
src/3rdparty/wayland/protocols/wayland.xml vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -593,10 +593,7 @@ void process(QXmlStreamReader &xml)
printf(" void %s::bind_func(struct ::wl_client *client, void *data, uint32_t version, uint32_t id)\n", interfaceName);
printf(" {\n");
printf(" Q_UNUSED(version);\n");
printf(" %s *that = static_cast<%s *>(data);\n", interfaceName, interfaceName);
printf(" Resource *resource = that->bind(client, id);\n");
printf(" resource->handle->destroy = destroy_func;\n");
printf(" that->%s_bind_resource(resource);\n", interfaceNameStripped);
printf(" static_cast<%s *>(data)->bind(client, id);\n", interfaceName);
printf(" }\n");
printf("\n");
@ -622,6 +619,8 @@ void process(QXmlStreamReader &xml)
printf(" resource->handle = wl_client_add_object(client, &::%s_interface, &m_%s_interface, id, resource);\n", interfaceName, interfaceName);
else
printf(" resource->handle = wl_client_add_object(client, &::%s_interface, 0, id, resource);\n", interfaceName);
printf(" resource->handle->destroy = destroy_func;\n");
printf(" %s_bind_resource(resource);\n", interfaceNameStripped);
printf(" wl_list_init(&resource->handle->link);\n");
printf(" return resource;\n");
printf(" }\n");