1 #ifndef TIZEN_NOTIFICATION_CLIENT_PROTOCOL_H
2 #define TIZEN_NOTIFICATION_CLIENT_PROTOCOL_H
10 #include "wayland-client.h"
15 struct tizen_notification;
17 extern const struct wl_interface tizen_notification_interface;
19 #ifndef TIZEN_NOTIFICATION_LEVEL_ENUM
20 #define TIZEN_NOTIFICATION_LEVEL_ENUM
21 enum tizen_notification_level {
22 TIZEN_NOTIFICATION_LEVEL_1 = 0,
23 TIZEN_NOTIFICATION_LEVEL_2 = 1,
24 TIZEN_NOTIFICATION_LEVEL_3 = 2,
26 #endif /* TIZEN_NOTIFICATION_LEVEL_ENUM */
28 #ifndef TIZEN_NOTIFICATION_ERROR_STATE_ENUM
29 #define TIZEN_NOTIFICATION_ERROR_STATE_ENUM
30 enum tizen_notification_error_state {
31 TIZEN_NOTIFICATION_ERROR_STATE_NONE = 0,
32 TIZEN_NOTIFICATION_ERROR_STATE_INVALID_PARAMETER = 1,
33 TIZEN_NOTIFICATION_ERROR_STATE_OUT_OF_MEMORY = 2,
34 TIZEN_NOTIFICATION_ERROR_STATE_PERMISSION_DENIED = 3,
35 TIZEN_NOTIFICATION_ERROR_STATE_NOT_SUPPORTED_WINDOW_TYPE = 4,
37 #endif /* TIZEN_NOTIFICATION_ERROR_STATE_ENUM */
39 struct tizen_notification_listener {
44 * @error_state: (none)
46 void (*done)(void *data,
47 struct tizen_notification *tizen_notification,
48 struct wl_surface *surface,
50 uint32_t error_state);
54 tizen_notification_add_listener(struct tizen_notification *tizen_notification,
55 const struct tizen_notification_listener *listener, void *data)
57 return wl_proxy_add_listener((struct wl_proxy *) tizen_notification,
58 (void (**)(void)) listener, data);
61 #define TIZEN_NOTIFICATION_SET_LEVEL 0
64 tizen_notification_set_user_data(struct tizen_notification *tizen_notification, void *user_data)
66 wl_proxy_set_user_data((struct wl_proxy *) tizen_notification, user_data);
70 tizen_notification_get_user_data(struct tizen_notification *tizen_notification)
72 return wl_proxy_get_user_data((struct wl_proxy *) tizen_notification);
76 tizen_notification_destroy(struct tizen_notification *tizen_notification)
78 wl_proxy_destroy((struct wl_proxy *) tizen_notification);
82 tizen_notification_set_level(struct tizen_notification *tizen_notification, struct wl_surface *surface, uint32_t level)
84 wl_proxy_marshal((struct wl_proxy *) tizen_notification,
85 TIZEN_NOTIFICATION_SET_LEVEL, surface, level);