server: Hand code all wl_display client stubs
This commit is contained in:
parent
3ac8757ec3
commit
a7c6824328
|
@ -343,20 +343,22 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
|
|||
struct arg *a, *ret;
|
||||
int has_destructor, has_destroy;
|
||||
|
||||
/* We provide a hand written constructor for the display object */
|
||||
if (strcmp(interface->name, "wl_display") != 0)
|
||||
printf("static inline struct %s *\n"
|
||||
"%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
|
||||
"{\n"
|
||||
"\twl_display_bind(display, id, \"%s\", version);\n\n"
|
||||
"\treturn (struct %s *)\n"
|
||||
"\t\twl_proxy_create_for_id(display, &%s_interface, id);\n"
|
||||
"}\n\n",
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name);
|
||||
/* We provide a hand written functions for the display object */
|
||||
if (strcmp(interface->name, "wl_display") == 0)
|
||||
return;
|
||||
|
||||
printf("static inline struct %s *\n"
|
||||
"%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
|
||||
"{\n"
|
||||
"\twl_display_bind(display, id, \"%s\", version);\n\n"
|
||||
"\treturn (struct %s *)\n"
|
||||
"\t\twl_proxy_create_for_id(display, &%s_interface, id);\n"
|
||||
"}\n\n",
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name,
|
||||
interface->name);
|
||||
|
||||
printf("static inline void\n"
|
||||
"%s_set_user_data(struct %s *%s, void *user_data)\n"
|
||||
|
@ -390,8 +392,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* And we have a hand-written display destructor */
|
||||
if (!has_destructor && strcmp(interface->name, "wl_display") != 0)
|
||||
if (!has_destructor)
|
||||
printf("static inline void\n"
|
||||
"%s_destroy(struct %s *%s)\n"
|
||||
"{\n"
|
||||
|
|
|
@ -524,6 +524,29 @@ wl_display_allocate_id(struct wl_display *display)
|
|||
return display->id++;
|
||||
}
|
||||
|
||||
WL_EXPORT void
|
||||
wl_display_bind(struct wl_display *display,
|
||||
uint32_t id, const char *interface, uint32_t version)
|
||||
{
|
||||
wl_proxy_marshal(&display->proxy,
|
||||
WL_DISPLAY_BIND, id, interface, version);
|
||||
}
|
||||
|
||||
WL_EXPORT struct wl_callback *
|
||||
wl_display_sync(struct wl_display *display)
|
||||
{
|
||||
struct wl_proxy *proxy;
|
||||
|
||||
proxy = wl_proxy_create(&display->proxy, &wl_callback_interface);
|
||||
|
||||
if (!proxy)
|
||||
return NULL;
|
||||
|
||||
wl_proxy_marshal(&display->proxy, WL_DISPLAY_SYNC, proxy);
|
||||
|
||||
return (struct wl_callback *) proxy;
|
||||
}
|
||||
|
||||
WL_EXPORT void
|
||||
wl_proxy_set_user_data(struct wl_proxy *proxy, void *user_data)
|
||||
{
|
||||
|
|
|
@ -44,6 +44,10 @@ int wl_proxy_add_listener(struct wl_proxy *proxy,
|
|||
void wl_proxy_set_user_data(struct wl_proxy *proxy, void *user_data);
|
||||
void *wl_proxy_get_user_data(struct wl_proxy *proxy);
|
||||
|
||||
void wl_display_bind(struct wl_display *display,
|
||||
uint32_t id, const char *interface, uint32_t version);
|
||||
struct wl_callback *wl_display_sync(struct wl_display *display);
|
||||
|
||||
#include "wayland-client-protocol.h"
|
||||
|
||||
#define WL_DISPLAY_READABLE 0x01
|
||||
|
|
Loading…
Reference in New Issue
Block a user