efl/src/lib/elementary/elm_sys_notify_eo.legacy.h

118 lines
3.2 KiB
C

#ifndef _ELM_SYS_NOTIFY_EO_LEGACY_H_
#define _ELM_SYS_NOTIFY_EO_LEGACY_H_
#ifndef _ELM_SYS_NOTIFY_EO_CLASS_TYPE
#define _ELM_SYS_NOTIFY_EO_CLASS_TYPE
typedef Eo Elm_Sys_Notify;
#endif
#ifndef _ELM_SYS_NOTIFY_EO_TYPES
#define _ELM_SYS_NOTIFY_EO_TYPES
/** System notification server types
*
* @ingroup Elm_Sys_Notify
*/
typedef enum
{
ELM_SYS_NOTIFY_SERVER_NONE = 0, /**< No notificationserver (disables
* notifications) */
ELM_SYS_NOTIFY_SERVER_DBUS = 1 /* 1 >> 0 */ /**< Use DBus as a notification
* server */
} Elm_Sys_Notify_Server;
/** The reason the notification was closed
*
* @since 1.8
*
* @ingroup Elm_Sys_Notify
*/
typedef enum
{
ELM_SYS_NOTIFY_CLOSED_EXPIRED = 0, /**< The notification expired */
ELM_SYS_NOTIFY_CLOSED_DISMISSED, /**< The notification was dismissed by the
* user */
ELM_SYS_NOTIFY_CLOSED_REQUESTED, /**< The notification was closed by a call to
* CloseNotification method */
ELM_SYS_NOTIFY_CLOSED_UNDEFINED /**< Undefined/reserved reasons */
} Elm_Sys_Notify_Closed_Reason;
/** Data on event when notification closed is emitted
*
* @since 1.8
*
* @ingroup Elm_Sys_Notify
*/
typedef struct _Elm_Sys_Notify_Notification_Closed
{
unsigned int id; /**< ID of the notification */
Elm_Sys_Notify_Closed_Reason reason; /**< The reason the notification was
* closed */
} Elm_Sys_Notify_Notification_Closed;
/** Data on event when the action invoked is emitted
*
* @since 1.8
*
* @ingroup Elm_Sys_Notify
*/
typedef struct _Elm_Sys_Notify_Action_Invoked
{
unsigned int id; /**< ID of the notification */
char *action_key; /**< The key of the action invoked. These match the keys
* sent over in the list of actions */
} Elm_Sys_Notify_Action_Invoked;
#endif
/**
* @brief Set the notifications server to be used.
*
* @note This is an advanced function that should be used only to fulfill very
* specific purposes. Use elm_need_sys_notify() which activates the default
* available notification servers.
*
* @param[in] obj The object.
* @param[in] servers Binary mask of servers to enable. If a server is not
* present in the binary mask but was previously registered, it will be
* unregistered.
*
* @return @c true on success, @c false on failure
*
* @since 1.17
*
* @ingroup Elm_Sys_Notify_Group
*/
EAPI Eina_Bool elm_sys_notify_servers_set(Elm_Sys_Notify *obj, Elm_Sys_Notify_Server servers);
/**
* @brief Get the notification servers that have been registered
*
* @param[in] obj The object.
*
* @return Binary mask of servers to enable. If a server is not present in the
* binary mask but was previously registered, it will be unregistered.
*
* @since 1.17
*
* @ingroup Elm_Sys_Notify_Group
*/
EAPI Elm_Sys_Notify_Server elm_sys_notify_servers_get(const Elm_Sys_Notify *obj);
/**
* @brief Returns the singleton instance of the notification manager
* Elm.Sys_Notify. It is initialized upon the first call of this function
*
* @return The unique notification manager
*
* @since 1.17
*
* @ingroup Elm_Sys_Notify_Group
*/
EAPI Elm_Sys_Notify *elm_sys_notify_singleton_get(void);
#endif