2019-03-05 14:00:37 -08:00
|
|
|
#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_H_
|
|
|
|
#define _ELM_SYS_NOTIFY_INTERFACE_EO_H_
|
|
|
|
|
|
|
|
#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_CLASS_TYPE
|
|
|
|
#define _ELM_SYS_NOTIFY_INTERFACE_EO_CLASS_TYPE
|
|
|
|
|
|
|
|
typedef Eo Elm_Sys_Notify_Interface;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _ELM_SYS_NOTIFY_INTERFACE_EO_TYPES
|
|
|
|
#define _ELM_SYS_NOTIFY_INTERFACE_EO_TYPES
|
|
|
|
|
|
|
|
/** Urgency levels of a notification
|
|
|
|
*
|
|
|
|
* @since 1.8
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Sys_Notify
|
|
|
|
*/
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
ELM_SYS_NOTIFY_URGENCY_LOW = 0, /**< Low urgency */
|
|
|
|
ELM_SYS_NOTIFY_URGENCY_NORMAL, /**< Normal urgency */
|
|
|
|
ELM_SYS_NOTIFY_URGENCY_CRITICAL /**< Critical urgency */
|
|
|
|
} Elm_Sys_Notify_Urgency;
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
/** Elementary system notify interface
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Sys_Notify_Interface
|
|
|
|
*/
|
|
|
|
#define ELM_SYS_NOTIFY_INTERFACE_INTERFACE elm_sys_notify_interface_interface_get()
|
|
|
|
|
efl: make all _class_get() functions const
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.
This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.
The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.
Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.
Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.
Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
2020-07-16 03:39:23 -07:00
|
|
|
EWAPI const Efl_Class *elm_sys_notify_interface_interface_get(void) EINA_CONST;
|
2019-03-05 14:00:37 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Causes a notification to be forcefully closed and removed from the
|
|
|
|
* user's view. It can be used, for example, in the event that what the
|
|
|
|
* notification pertains to is no longer relevant, or to cancel a notification
|
|
|
|
* with no expiration time.
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
* @param[in] replaces_id Notification ID that this notification replaces. The
|
|
|
|
* value 0 means a new notification.
|
|
|
|
* @param[in] icon The optional program icon of the calling application
|
|
|
|
* @param[in] summary The summary text briefly describing the notification
|
|
|
|
* @param[in] body The optional detailed body text. Can be empty
|
|
|
|
* @param[in] urgency The urgency level
|
|
|
|
* @param[in] timeout Timeout display in milliseconds
|
|
|
|
* @param[in] cb Callback used to retrieve the notification id returned by the
|
|
|
|
* Notification Server
|
|
|
|
* @param[in] cb_data Optional context data
|
|
|
|
*
|
|
|
|
* @since 1.8
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Sys_Notify_Interface
|
|
|
|
*/
|
|
|
|
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);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Create a new notification just with Icon, Body and Summary. It is a
|
|
|
|
* helper that wraps the send method
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
* @param[in] icon The optional program icon of the calling application
|
|
|
|
* @param[in] summary The summary text briefly describing the notification
|
|
|
|
* @param[in] body The optional detailed body text. Can be empty
|
|
|
|
*
|
|
|
|
* @since 1.16
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Sys_Notify_Interface
|
|
|
|
*/
|
|
|
|
EOAPI void elm_obj_sys_notify_interface_simple_send(const Eo *obj, const char *icon, const char *summary, const char *body);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Causes a notification to be forcefully closed and removed from the
|
|
|
|
* user's view. It can be used, for example, in the event that what the
|
|
|
|
* notification pertains to is no longer relevant, or to cancel a notification
|
|
|
|
* with no expiration time.
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
* @param[in] id Notification ID
|
|
|
|
*
|
|
|
|
* @since 1.8
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Sys_Notify_Interface
|
|
|
|
*/
|
|
|
|
EOAPI void elm_obj_sys_notify_interface_close(const Eo *obj, unsigned int id);
|
|
|
|
|
|
|
|
#endif
|