summaryrefslogtreecommitdiffstats
path: root/connection.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-12-24 19:30:25 -0500
committerKristian Høgsberg <krh@redhat.com>2008-12-24 19:31:58 -0500
commitb3131d9268ce68062c7410a9b672539026000f75 (patch)
tree0c30552c5e3c993bac31b21c31a5a08465377713 /connection.h
parentfabd4395ba309850403f94a459c3a7298351dd0a (diff)
downloadwayland-b3131d9268ce68062c7410a9b672539026000f75.tar.gz
wayland-b3131d9268ce68062c7410a9b672539026000f75.tar.xz
wayland-b3131d9268ce68062c7410a9b672539026000f75.zip
Add client side demarshalling for events.
This also consolidates the marshalling code in connection.c and uses the same functions in the server and client for marshalling.
Diffstat (limited to 'connection.h')
-rw-r--r--connection.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/connection.h b/connection.h
index 68d6396..3db07ee 100644
--- a/connection.h
+++ b/connection.h
@@ -24,6 +24,7 @@
#define _CONNECTION_H_
#include <stdarg.h>
+#include "wayland-util.h"
struct wl_connection;
@@ -41,7 +42,17 @@ void wl_connection_copy(struct wl_connection *connection, void *data, size_t siz
void wl_connection_consume(struct wl_connection *connection, size_t size);
int wl_connection_data(struct wl_connection *connection, uint32_t mask);
void wl_connection_write(struct wl_connection *connection, const void *data, size_t count);
-void wl_connection_vmarshal(struct wl_connection *connection, uint32_t id,
- uint32_t opcode, const char *signature, va_list ap);
+
+void wl_connection_vmarshal(struct wl_connection *connection,
+ struct wl_object *sender,
+ uint32_t opcode, va_list ap,
+ const struct wl_message *message);
+
+void wl_connection_demarshal(struct wl_connection *connection,
+ uint32_t size,
+ struct wl_hash *objects,
+ void (*func)(void),
+ void *data, struct wl_object *target,
+ const struct wl_message *message);
#endif