summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_sys_notify_eo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_sys_notify_eo.h')
-rw-r--r--src/lib/elementary/elm_sys_notify_eo.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_sys_notify_eo.h b/src/lib/elementary/elm_sys_notify_eo.h
new file mode 100644
index 0000000..247fef9
--- /dev/null
+++ b/src/lib/elementary/elm_sys_notify_eo.h
@@ -0,0 +1,124 @@
1#ifndef _ELM_SYS_NOTIFY_EO_H_
2#define _ELM_SYS_NOTIFY_EO_H_
3
4#ifndef _ELM_SYS_NOTIFY_EO_CLASS_TYPE
5#define _ELM_SYS_NOTIFY_EO_CLASS_TYPE
6
7typedef Eo Elm_Sys_Notify;
8
9#endif
10
11#ifndef _ELM_SYS_NOTIFY_EO_TYPES
12#define _ELM_SYS_NOTIFY_EO_TYPES
13
14/** System notification server types
15 *
16 * @ingroup Elm_Sys_Notify
17 */
18typedef enum
19{
20 ELM_SYS_NOTIFY_SERVER_NONE = 0, /**< No notificationserver (disables
21 * notifications) */
22 ELM_SYS_NOTIFY_SERVER_DBUS = 1 /* 1 >> 0 */ /**< Use DBus as a notification
23 * server */
24} Elm_Sys_Notify_Server;
25
26/** The reason the notification was closed
27 *
28 * @since 1.8
29 *
30 * @ingroup Elm_Sys_Notify
31 */
32typedef enum
33{
34 ELM_SYS_NOTIFY_CLOSED_EXPIRED = 0, /**< The notification expired */
35 ELM_SYS_NOTIFY_CLOSED_DISMISSED, /**< The notification was dismissed by the
36 * user */
37 ELM_SYS_NOTIFY_CLOSED_REQUESTED, /**< The notification was closed by a call to
38 * CloseNotification method */
39 ELM_SYS_NOTIFY_CLOSED_UNDEFINED /**< Undefined/reserved reasons */
40} Elm_Sys_Notify_Closed_Reason;
41
42/** Data on event when notification closed is emitted
43 *
44 * @since 1.8
45 *
46 * @ingroup Elm_Sys_Notify
47 */
48typedef struct _Elm_Sys_Notify_Notification_Closed
49{
50 unsigned int id; /**< ID of the notification */
51 Elm_Sys_Notify_Closed_Reason reason; /**< The reason the notification was
52 * closed */
53} Elm_Sys_Notify_Notification_Closed;
54
55/** Data on event when the action invoked is emitted
56 *
57 * @since 1.8
58 *
59 * @ingroup Elm_Sys_Notify
60 */
61typedef struct _Elm_Sys_Notify_Action_Invoked
62{
63 unsigned int id; /**< ID of the notification */
64 char *action_key; /**< The key of the action invoked. These match the keys
65 * sent over in the list of actions */
66} Elm_Sys_Notify_Action_Invoked;
67
68
69#endif
70/** Elementary system notification class
71 *
72 * @ingroup Elm_Sys_Notify
73 */
74#define ELM_SYS_NOTIFY_CLASS elm_sys_notify_class_get()
75
76EWAPI const Efl_Class *elm_sys_notify_class_get(void);
77
78/**
79 * @brief Set the notifications server to be used.
80 *
81 * @note This is an advanced function that should be used only to fullfill very
82 * specific purposes. Use elm_need_sys_notify() which activates the default
83 * available notification servers.
84 *
85 * @param[in] obj The object.
86 * @param[in] servers Binary mask of servers to enable. If a server is not
87 * present in the binary mask but was previously registered, it will be
88 * unregistered.
89 *
90 * @return @c true on success, @c false on failure
91 *
92 * @since 1.17
93 *
94 * @ingroup Elm_Sys_Notify
95 */
96EOAPI Eina_Bool elm_obj_sys_notify_servers_set(Eo *obj, Elm_Sys_Notify_Server servers);
97
98/**
99 * @brief Get the notification servers that have been registered
100 *
101 * @param[in] obj The object.
102 *
103 * @return Binary mask of servers to enable. If a server is not present in the
104 * binary mask but was previously registered, it will be unregistered.
105 *
106 * @since 1.17
107 *
108 * @ingroup Elm_Sys_Notify
109 */
110EOAPI Elm_Sys_Notify_Server elm_obj_sys_notify_servers_get(const Eo *obj);
111
112/**
113 * @brief Returns the singleton instance of the notification manager
114 * Elm.Sys_Notify. It is initialized upon the first call of this function
115 *
116 * @return The unique notification manager
117 *
118 * @since 1.17
119 *
120 * @ingroup Elm_Sys_Notify
121 */
122EOAPI Elm_Sys_Notify *elm_obj_sys_notify_singleton_get(void);
123
124#endif