[PATCH wayland 0/7] Custom dispatchers version 3

Jason Ekstrand jason at jlekstrand.net
Mon Feb 18 08:03:21 PST 2013

This is the third, and hopefully final, version of my custom dispatchers
modifications.  The biggest change from last time is a lot more cleanup in
wl_closure.  As of now, the only purpose the extra data serves is for stashing
wl_array temporaries and the raw wire data for a closure demarshalled off the
socket.  The reason for this is because it gives us something that arrays and
strings can point to with minimal copying.  All other conversions such as
serializing for the network and conversions to libffi format happen only

Other changes include fixing the scanner so we don't break ABI and switching
from one dispatcher in wl_interface to two.  This way you can have seperate
dispatchers for events vs. requests.  If someone wants to use the same
dispatcher for both, they can simply set them to the same thing.

Jason Ekstrand (7):
  Make a #define for WL_CLOSURE_MAX_ARGS instead of a magic number.
  Add a default dispatcher function and related test
  Clean up wl_closure and convert it to using a wl_argument array
  Add support for custom dispatchers
  Fill out dummy objects and fix wl_closure_invoke calls
  scanner: Properly fill out interfaces
  Add wl_argument forms of wl_resource_post_event and

 src/connection.c         | 656 +++++++++++++++++++++++++++--------------------
 src/scanner.c            |   1 +
 src/wayland-client.c     |  42 +--
 src/wayland-private.h    |  26 +-
 src/wayland-server.c     |  76 +++---
 src/wayland-server.h     |   4 +
 src/wayland-util.h       |  39 ++-
 tests/.gitignore         |   1 +
 tests/Makefile.am        |   2 +
 tests/connection-test.c  |  36 ++-
 tests/dispatcher-test.c  | 156 +++++++++++
 tests/os-wrappers-test.c |  11 +-
 12 files changed, 702 insertions(+), 348 deletions(-)
 create mode 100644 tests/dispatcher-test.c


More information about the wayland-devel mailing list