summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_sys_notify_interface_eo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_sys_notify_interface_eo.h')
-rw-r--r--src/lib/elementary/elm_sys_notify_interface_eo.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_sys_notify_interface_eo.h b/src/lib/elementary/elm_sys_notify_interface_eo.h
new file mode 100644
index 0000000..0c91b01
--- /dev/null
+++ b/src/lib/elementary/elm_sys_notify_interface_eo.h
@@ -0,0 +1,91 @@
1#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_H_
2#define _ELM_SYS_NOTIFY_INTERFACE_EO_H_
3
4#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_CLASS_TYPE
5#define _ELM_SYS_NOTIFY_INTERFACE_EO_CLASS_TYPE
6
7typedef Eo Elm_Sys_Notify_Interface;
8
9#endif
10
11#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_TYPES
12#define _ELM_SYS_NOTIFY_INTERFACE_EO_TYPES
13
14/** Urgency levels of a notification
15 *
16 * @since 1.8
17 *
18 * @ingroup Elm_Sys_Notify
19 */
20typedef enum
21{
22 ELM_SYS_NOTIFY_URGENCY_LOW = 0, /**< Low urgency */
23 ELM_SYS_NOTIFY_URGENCY_NORMAL, /**< Normal urgency */
24 ELM_SYS_NOTIFY_URGENCY_CRITICAL /**< Critical urgency */
25} Elm_Sys_Notify_Urgency;
26
27
28#endif
29/** Elementary system notify interface
30 *
31 * @ingroup Elm_Sys_Notify_Interface
32 */
33#define ELM_SYS_NOTIFY_INTERFACE_INTERFACE elm_sys_notify_interface_interface_get()
34
35EWAPI const Efl_Class *elm_sys_notify_interface_interface_get(void);
36
37/**
38 * @brief Causes a notification to be forcefully closed and removed from the
39 * user's view. It can be used, for example, in the event that what the
40 * notification pertains to is no longer relevant, or to cancel a notification
41 * with no expiration time.
42 *
43 * @param[in] obj The object.
44 * @param[in] replaces_id Notification ID that this notification replaces. The
45 * value 0 means a new notification.
46 * @param[in] icon The optional program icon of the calling application
47 * @param[in] summary The summary text briefly describing the notification
48 * @param[in] body The optional detailed body text. Can be empty
49 * @param[in] urgency The urgency level
50 * @param[in] timeout Timeout display in milliseconds
51 * @param[in] cb Callback used to retrieve the notification id returned by the
52 * Notification Server
53 * @param[in] cb_data Optional context data
54 *
55 * @since 1.8
56 *
57 * @ingroup Elm_Sys_Notify_Interface
58 */
59EOAPI void elm_obj_sys_notify_interface_send(const Eo *obj, unsigned int replaces_id, const char *icon, const char *summary, const char *body, Elm_Sys_Notify_Urgency urgency, int timeout, Elm_Sys_Notify_Send_Cb cb, const void *cb_data);
60
61/**
62 * @brief Create a new notification just with Icon, Body and Summary. It is a
63 * helper that wraps the send method
64 *
65 * @param[in] obj The object.
66 * @param[in] icon The optional program icon of the calling application
67 * @param[in] summary The summary text briefly describing the notification
68 * @param[in] body The optional detailed body text. Can be empty
69 *
70 * @since 1.16
71 *
72 * @ingroup Elm_Sys_Notify_Interface
73 */
74EOAPI void elm_obj_sys_notify_interface_simple_send(const Eo *obj, const char *icon, const char *summary, const char *body);
75
76/**
77 * @brief Causes a notification to be forcefully closed and removed from the
78 * user's view. It can be used, for example, in the event that what the
79 * notification pertains to is no longer relevant, or to cancel a notification
80 * with no expiration time.
81 *
82 * @param[in] obj The object.
83 * @param[in] id Notification ID
84 *
85 * @since 1.8
86 *
87 * @ingroup Elm_Sys_Notify_Interface
88 */
89EOAPI void elm_obj_sys_notify_interface_close(const Eo *obj, unsigned int id);
90
91#endif