1 #ifndef TIZEN_EXTENSION_CLIENT_PROTOCOL_H
2 #define TIZEN_EXTENSION_CLIENT_PROTOCOL_H
10 #include "wayland-client.h"
15 struct tizen_resource;
16 struct tizen_surface_extension;
19 extern const struct wl_interface tizen_resource_interface;
20 extern const struct wl_interface tizen_surface_extension_interface;
21 extern const struct wl_interface wl_surface_interface;
23 struct tizen_resource_listener {
25 * resource_id - (none)
28 void (*resource_id)(void *data,
29 struct tizen_resource *tizen_resource,
34 tizen_resource_add_listener(struct tizen_resource *tizen_resource,
35 const struct tizen_resource_listener *listener, void *data)
37 return wl_proxy_add_listener((struct wl_proxy *) tizen_resource,
38 (void (**)(void)) listener, data);
41 #define TIZEN_RESOURCE_DESTROY 0
44 tizen_resource_set_user_data(struct tizen_resource *tizen_resource, void *user_data)
46 wl_proxy_set_user_data((struct wl_proxy *) tizen_resource, user_data);
50 tizen_resource_get_user_data(struct tizen_resource *tizen_resource)
52 return wl_proxy_get_user_data((struct wl_proxy *) tizen_resource);
56 tizen_resource_destroy(struct tizen_resource *tizen_resource)
58 wl_proxy_marshal((struct wl_proxy *) tizen_resource,
59 TIZEN_RESOURCE_DESTROY);
61 wl_proxy_destroy((struct wl_proxy *) tizen_resource);
64 #define TIZEN_SURFACE_EXTENSION_GET_TIZEN_RESOURCE 0
67 tizen_surface_extension_set_user_data(struct tizen_surface_extension *tizen_surface_extension, void *user_data)
69 wl_proxy_set_user_data((struct wl_proxy *) tizen_surface_extension, user_data);
73 tizen_surface_extension_get_user_data(struct tizen_surface_extension *tizen_surface_extension)
75 return wl_proxy_get_user_data((struct wl_proxy *) tizen_surface_extension);
79 tizen_surface_extension_destroy(struct tizen_surface_extension *tizen_surface_extension)
81 wl_proxy_destroy((struct wl_proxy *) tizen_surface_extension);
84 static inline struct tizen_resource *
85 tizen_surface_extension_get_tizen_resource(struct tizen_surface_extension *tizen_surface_extension, struct wl_surface *surface)
89 id = wl_proxy_marshal_constructor((struct wl_proxy *) tizen_surface_extension,
90 TIZEN_SURFACE_EXTENSION_GET_TIZEN_RESOURCE, &tizen_resource_interface, NULL, surface);
92 return (struct tizen_resource *) id;