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 7 typedef 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 */ 20 typedef 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 35 EWAPI const Efl_Class *elm_sys_notify_interface_interface_get(void) EINA_CONST; 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 */ 59 EOAPI 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 */ 74 EOAPI 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 */ 89 EOAPI void elm_obj_sys_notify_interface_close(const Eo *obj, unsigned int id); 90 91 #endif 92