E_Notify.h
Go to the documentation of this file.
1 #ifndef E_NOTIFY_H
2 #define E_NOTIFY_H
3 
4 #include <Eina.h>
5 #include <Evas.h>
6 #include <E_DBus.h>
7 
15 /* notifications */
19 
23 
24 /* method returns */
28 
29 
30 /* signal events */
33 
34 /* enums */
35 
37 {
41 };
42 
44 {
49 };
50 
52 {
63 };
64 
65 /* client method returns */
67 {
68  unsigned int notification_id;
70 };
71 
73 {
74  Eina_List *capabilities;
75 };
76 
78 {
79  const char *name;
80  const char *vendor;
81  const char *version;
82  const char *spec_version;
83 };
84 
85 /* signals */
87 {
88  unsigned int notification_id;
90 };
91 
93 {
94  unsigned int notification_id;
95  char *action_id;
96 };
97 
98 #ifdef __cplusplus
99 extern "C" {
100 #endif
101 
102  EAPI int e_notification_init(void);
103  EAPI int e_notification_shutdown(void);
104 
105 /* client */
106  EAPI void e_notification_send(E_Notification *n, E_DBus_Callback_Func func, void *data);
109 
110 
111 /* Notifications */
112 
117 
118  EAPI E_Notification *e_notification_full_new(const char *app_name,
119  unsigned int replaces_id,
120  const char *app_icon,
121  const char *summary,
122  const char *body,
123  int expire_timeout);
124 
125 /* notification mutators */
126  EAPI void e_notification_id_set(E_Notification *note, unsigned int id);
127  EAPI void e_notification_app_name_set(E_Notification *n, const char *app_name);
128  EAPI void e_notification_app_icon_set(E_Notification *n, const char *app_icon);
129  EAPI void e_notification_summary_set(E_Notification *n, const char *summary);
130  EAPI void e_notification_body_set(E_Notification *n, const char *body);
131  EAPI void e_notification_replaces_id_set(E_Notification *n, int replaces_id);
132  EAPI void e_notification_timeout_set(E_Notification *n, int timeout);
133  EAPI void e_notification_closed_set(E_Notification *note, unsigned char closed);
134 
135 /* notification accessors */
136  EAPI unsigned int e_notification_id_get(E_Notification *note);
143  EAPI unsigned char e_notification_closed_get(E_Notification *note);
144 
145 /* actions */
146  EAPI void e_notification_action_add(E_Notification *n, const char *action_id, const char *action_name);
150 
151 /* hint mutators */
152  EAPI void e_notification_hint_transient_set(E_Notification *n, Eina_Bool transient);
153  EAPI void e_notification_hint_resident_set(E_Notification *n, Eina_Bool resident);
154  EAPI void e_notification_hint_action_icons_set(E_Notification *n, Eina_Bool action_icons);
155  EAPI void e_notification_hint_image_path_set(E_Notification *n, const char *path);
156  EAPI void e_notification_hint_urgency_set(E_Notification *n, char urgency);
157  EAPI void e_notification_hint_category_set(E_Notification *n, const char *category);
158  EAPI void e_notification_hint_desktop_set(E_Notification *n, const char *desktop);
159  EAPI void e_notification_hint_sound_file_set(E_Notification *n, const char *sound_file);
160  EAPI void e_notification_hint_suppress_sound_set(E_Notification *n, char suppress_sound);
161  EAPI void e_notification_hint_xy_set(E_Notification *n, int x, int y);
163 
164 /* hint accessors */
171  EAPI int e_notification_hint_xy_get(E_Notification *n, int *x, int *y);
173  /* icon_data is deprecated, we do not support setting it */
175 
176 /* image hint */
180  EAPI Evas_Object *e_notification_image_evas_object_add(Evas *evas, E_Notification_Image *img);
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
190 #endif