server: Make wl_object and wl_resource opaque structs

With the work to add wl_resource accessors and port weston to use them,
we're ready to make wl_resource and wl_object opaque structs.  We keep
wl_buffer in the header for EGL stacks to use, but don't expose it by
default.  In time we'll remove it completely, but for now it provides a
transition paths for code that still uses wl_buffer.

Reviewed-by: Jason Ekstrand<jason@jlekstrand.net>
This commit is contained in:
Kristian Høgsberg 2013-06-27 20:09:18 -05:00
parent 2e07587443
commit d94a8722cb
11 changed files with 57 additions and 42 deletions

View file

@ -26,6 +26,9 @@
#define WAYLAND_PRIVATE_H
#include <stdarg.h>
#define WL_HIDE_DEPRECATED 1
#include "wayland-util.h"
#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
@ -39,6 +42,12 @@
#define WL_SERVER_ID_START 0xff000000
#define WL_CLOSURE_MAX_ARGS 20
struct wl_object {
const struct wl_interface *interface;
const void *implementation;
uint32_t id;
};
extern struct wl_object global_zombie_object;
#define WL_ZOMBIE_OBJECT ((void*)&global_zombie_object)