1 #ifndef TIZEN_POLICY_CLIENT_PROTOCOL_H
2 #define TIZEN_POLICY_CLIENT_PROTOCOL_H
10 #include "wayland-client.h"
16 struct tizen_visibility;
19 extern const struct wl_interface tizen_policy_interface;
20 extern const struct wl_interface tizen_visibility_interface;
21 extern const struct wl_interface wl_surface_interface;
23 #define TIZEN_POLICY_GET_VISIBILITY 0
24 #define TIZEN_POLICY_ACTIVATE 1
25 #define TIZEN_POLICY_POSITION_SET 2
26 #define TIZEN_POLICY_FOCUS_SKIP_SET 3
27 #define TIZEN_POLICY_FOCUS_SKIP_UNSET 4
30 tizen_policy_set_user_data(struct tizen_policy *tizen_policy, void *user_data)
32 wl_proxy_set_user_data((struct wl_proxy *) tizen_policy, user_data);
36 tizen_policy_get_user_data(struct tizen_policy *tizen_policy)
38 return wl_proxy_get_user_data((struct wl_proxy *) tizen_policy);
42 tizen_policy_destroy(struct tizen_policy *tizen_policy)
44 wl_proxy_destroy((struct wl_proxy *) tizen_policy);
47 static inline struct tizen_visibility *
48 tizen_policy_get_visibility(struct tizen_policy *tizen_policy, struct wl_surface *surface)
52 id = wl_proxy_marshal_constructor((struct wl_proxy *) tizen_policy,
53 TIZEN_POLICY_GET_VISIBILITY, &tizen_visibility_interface, NULL, surface);
55 return (struct tizen_visibility *) id;
59 tizen_policy_activate(struct tizen_policy *tizen_policy, struct wl_surface *surface)
61 wl_proxy_marshal((struct wl_proxy *) tizen_policy,
62 TIZEN_POLICY_ACTIVATE, surface);
66 tizen_policy_position_set(struct tizen_policy *tizen_policy, struct wl_surface *surface, int32_t x, int32_t y)
68 wl_proxy_marshal((struct wl_proxy *) tizen_policy,
69 TIZEN_POLICY_POSITION_SET, surface, x, y);
73 tizen_policy_focus_skip_set(struct tizen_policy *tizen_policy, struct wl_surface *surface)
75 wl_proxy_marshal((struct wl_proxy *) tizen_policy,
76 TIZEN_POLICY_FOCUS_SKIP_SET, surface);
80 tizen_policy_focus_skip_unset(struct tizen_policy *tizen_policy, struct wl_surface *surface)
82 wl_proxy_marshal((struct wl_proxy *) tizen_policy,
83 TIZEN_POLICY_FOCUS_SKIP_UNSET, surface);
86 #ifndef TIZEN_VISIBILITY_VISIBILITY_ENUM
87 #define TIZEN_VISIBILITY_VISIBILITY_ENUM
88 enum tizen_visibility_visibility {
89 TIZEN_VISIBILITY_VISIBILITY_UNOBSCURED = 0,
90 TIZEN_VISIBILITY_VISIBILITY_PARTIALLY_OBSCURED = 1,
91 TIZEN_VISIBILITY_VISIBILITY_FULLY_OBSCURED = 2,
93 #endif /* TIZEN_VISIBILITY_VISIBILITY_ENUM */
95 struct tizen_visibility_listener {
100 void (*notify)(void *data,
101 struct tizen_visibility *tizen_visibility,
102 uint32_t visibility);
106 tizen_visibility_add_listener(struct tizen_visibility *tizen_visibility,
107 const struct tizen_visibility_listener *listener, void *data)
109 return wl_proxy_add_listener((struct wl_proxy *) tizen_visibility,
110 (void (**)(void)) listener, data);
113 #define TIZEN_VISIBILITY_DESTROY 0
116 tizen_visibility_set_user_data(struct tizen_visibility *tizen_visibility, void *user_data)
118 wl_proxy_set_user_data((struct wl_proxy *) tizen_visibility, user_data);
122 tizen_visibility_get_user_data(struct tizen_visibility *tizen_visibility)
124 return wl_proxy_get_user_data((struct wl_proxy *) tizen_visibility);
128 tizen_visibility_destroy(struct tizen_visibility *tizen_visibility)
130 wl_proxy_marshal((struct wl_proxy *) tizen_visibility,
131 TIZEN_VISIBILITY_DESTROY);
133 wl_proxy_destroy((struct wl_proxy *) tizen_visibility);