9 * @defgroup ENotify_Group ENotify
16 typedef struct E_Notification_Image E_Notification_Image;
17 typedef struct E_Notification E_Notification;
18 typedef struct E_Notification_Action E_Notification_Action;
20 typedef enum E_Notification_Urgency E_Notification_Urgency;
21 typedef enum E_Notification_Hint_Type E_Notification_Hint_Type;
22 typedef enum E_Notification_Closed_Reason E_Notification_Closed_Reason;
25 typedef struct E_Notification_Return_Notify E_Notification_Return_Notify;
26 typedef struct E_Notification_Return_Get_Capabilities E_Notification_Return_Get_Capabilities;
27 typedef struct E_Notification_Return_Get_Server_Information E_Notification_Return_Get_Server_Information;
31 typedef struct E_Notification_Event_Action_Invoked E_Notification_Event_Action_Invoked;
32 typedef struct E_Notification_Event_Notification_Closed E_Notification_Event_Notification_Closed;
36 enum E_Notification_Urgency
38 E_NOTIFICATION_URGENCY_LOW,
39 E_NOTIFICATION_URGENCY_NORMAL,
40 E_NOTIFICATION_URGENCY_CRITICAL
43 enum E_Notification_Closed_Reason
45 E_NOTIFICATION_CLOSED_EXPIRED,
46 E_NOTIFICATION_CLOSED_DISMISSED,
47 E_NOTIFICATION_CLOSED_REQUESTED,
48 E_NOTIFICATION_CLOSED_UNDEFINED
51 enum E_Notification_Hint_Type
53 E_NOTIFICATION_HINT_URGENCY = 0x1,
54 E_NOTIFICATION_HINT_CATEGORY = 0x2,
55 E_NOTIFICATION_HINT_DESKTOP = 0x4,
56 E_NOTIFICATION_HINT_SOUND_FILE = 0x8,
57 E_NOTIFICATION_HINT_SUPPRESS_SOUND = 0x10,
58 E_NOTIFICATION_HINT_XY = 0x20,
59 E_NOTIFICATION_HINT_IMAGE_DATA = 0x40
62 /* client method returns */
63 struct E_Notification_Return_Notify
65 unsigned int notification_id;
66 E_Notification *notification;
69 struct E_Notification_Return_Get_Capabilities
71 Eina_List *capabilities;
74 struct E_Notification_Return_Get_Server_Information
79 const char *spec_version;
83 struct E_Notification_Event_Notification_Closed
85 unsigned int notification_id;
86 E_Notification_Closed_Reason reason;
89 struct E_Notification_Event_Action_Invoked
91 unsigned int notification_id;
99 EAPI int e_notification_init();
100 EAPI int e_notification_shutdown();
103 EAPI void e_notification_send(E_Notification *n, E_DBus_Callback_Func func, void *data);
104 EAPI void e_notification_get_capabilities(E_DBus_Callback_Func func, void *data);
105 EAPI void e_notification_get_server_information(E_DBus_Callback_Func func, void *data);
110 EAPI E_Notification *e_notification_new();
111 EAPI void e_notification_ref(E_Notification *n);
112 EAPI void e_notification_unref(E_Notification *n);
113 EAPI void e_notification_free(E_Notification *n);
115 EAPI E_Notification *e_notification_full_new(const char *app_name,
116 unsigned int replaces_id,
117 const char *app_icon,
122 /* notification mutators */
123 EAPI void e_notification_id_set(E_Notification *note, unsigned int id);
124 EAPI void e_notification_app_name_set(E_Notification *n, const char *app_name);
125 EAPI void e_notification_app_icon_set(E_Notification *n, const char *app_icon);
126 EAPI void e_notification_summary_set(E_Notification *n, const char *summary);
127 EAPI void e_notification_body_set(E_Notification *n, const char *body);
128 EAPI void e_notification_replaces_id_set(E_Notification *n, int replaces_id);
129 EAPI void e_notification_timeout_set(E_Notification *n, int timeout);
130 EAPI void e_notification_closed_set(E_Notification *note, unsigned char closed);
132 /* notification accessors */
133 EAPI unsigned int e_notification_id_get(E_Notification *note);
134 EAPI const char *e_notification_app_name_get(E_Notification *n);
135 EAPI const char *e_notification_app_icon_get(E_Notification *n);
136 EAPI const char *e_notification_summary_get(E_Notification *n);
137 EAPI const char *e_notification_body_get(E_Notification *n);
138 EAPI int e_notification_replaces_id_get(E_Notification *note);
139 EAPI int e_notification_timeout_get(E_Notification *note);
140 EAPI unsigned char e_notification_closed_get(E_Notification *note);
143 EAPI void e_notification_action_add(E_Notification *n, const char *action_id, const char *action_name);
144 EAPI Eina_List *e_notification_actions_get(E_Notification *n);
145 EAPI const char *e_notification_action_id_get(E_Notification_Action *a);
146 EAPI const char *e_notification_action_name_get(E_Notification_Action *a);
149 EAPI void e_notification_hint_urgency_set(E_Notification *n, char urgency);
150 EAPI void e_notification_hint_category_set(E_Notification *n, const char *category);
151 EAPI void e_notification_hint_desktop_set(E_Notification *n, const char *desktop);
152 EAPI void e_notification_hint_sound_file_set(E_Notification *n, const char *sound_file);
153 EAPI void e_notification_hint_suppress_sound_set(E_Notification *n, char suppress_sound);
154 EAPI void e_notification_hint_xy_set(E_Notification *n, int x, int y);
155 EAPI void e_notification_hint_image_data_set(E_Notification *n, E_Notification_Image *image);
158 EAPI char e_notification_hint_urgency_get(E_Notification *n);
159 EAPI const char *e_notification_hint_category_get(E_Notification *n);
160 EAPI const char *e_notification_hint_desktop_get(E_Notification *n);
161 EAPI const char *e_notification_hint_sound_file_get(E_Notification *n);
162 EAPI char e_notification_hint_suppress_sound_get(E_Notification *n);
163 EAPI int e_notification_hint_xy_get(E_Notification *n, int *x, int *y);
164 EAPI E_Notification_Image *e_notification_hint_image_data_get(E_Notification *n);
165 EAPI E_Notification_Image *e_notification_hint_icon_data_get(E_Notification *n);
168 EAPI E_Notification_Image *e_notification_image_new();
169 EAPI void e_notification_image_free(E_Notification_Image *img);
170 EAPI Evas_Object *e_notification_image_evas_object_add(Evas *evas, E_Notification_Image *img);