diff options
author | Kristian Høgsberg <krh@redhat.com> | 2008-12-22 18:06:49 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2008-12-22 18:06:49 -0500 |
commit | fabd4395ba309850403f94a459c3a7298351dd0a (patch) | |
tree | ca44b0d51d0560620fe2a1fa2453879cdba192c9 /wayland-util.h | |
parent | 12ea62e2112c754d62113e0656b223fbdbe351dd (diff) | |
download | wayland-fabd4395ba309850403f94a459c3a7298351dd0a.tar.gz wayland-fabd4395ba309850403f94a459c3a7298351dd0a.tar.xz wayland-fabd4395ba309850403f94a459c3a7298351dd0a.zip |
Track objects client side using a hash too.
This leads up to using the demarshal machinery for decoding events
in the client library.
Diffstat (limited to 'wayland-util.h')
-rw-r--r-- | wayland-util.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/wayland-util.h b/wayland-util.h index 2515687..ffb6f6d 100644 --- a/wayland-util.h +++ b/wayland-util.h @@ -38,7 +38,32 @@ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) -struct wl_object; +struct wl_argument { + uint32_t type; + void *data; +}; + +struct wl_message { + const char *name; + const char *signature; + const void **types; +}; + +struct wl_interface { + const char *name; + int version; + int method_count; + const struct wl_message *methods; + int event_count; + const struct wl_message *events; +}; + +struct wl_object { + const struct wl_interface *interface; + void (**implementation)(void); + uint32_t id; +}; + struct wl_hash; struct wl_hash *wl_hash_create(void); void wl_hash_destroy(struct wl_hash *hash); |