extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex action handle with app control handle.
+ * @details The notification_ex can define the action with noti_ex_action_h.
+ * If it is necessary to use app control handle for action,
+ * app control handle must be set in notification_ex action handle.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_action_destroy().
+ * @param[out] handle The notification_ex action handle
+ * @param[in] app_control The app control handle
+ * @param[in] extra The extra data
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_action_h
+ * @see #noti_ex_action_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_app_control_action.h>
+
+{
+ int ret;
+ app_control_h app_control = NULL;
+ noti_ex_action_h appcontrol_action = NULL;
+
+ app_control_create(&app_control);
+ app_control_set_app_id(app_control, "temp_appid");
+
+ ret = noti_ex_action_app_control_create(&appcontrol_action, app_control, NULL);
+}
+ * @endcode
+ */
int noti_ex_action_app_control_create(noti_ex_action_h *handle, app_control_h app_control, const char *extra);
+
+/**
+ * @brief Sets the app control handle for notification_ex action.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[in] app_control The app control handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @see #noti_ex_action_app_control_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_app_control_action.h>
+
+{
+ int ret;
+ app_control_h app_control = NULL;
+
+ app_control_create(&app_control);
+ app_control_set_app_id(app_control, "new_appid");
+
+ ret = noti_ex_action_app_control_set(appcontrol_action, app_control);
+}
+ * @endcode
+ */
int noti_ex_action_app_control_set(noti_ex_action_h handle, app_control_h app_control);
+
+/**
+ * @brief Gets the app control handle from notification_ex action.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[out] app_control The app control handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @see #noti_ex_action_app_control_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_app_control_action.h>
+
+{
+ int ret;
+ app_control_h app_control = NULL;
+
+ ret = noti_ex_action_app_control_get(appcontrol_action, &app_control);
+}
+ * @endcode
+ */
int noti_ex_action_app_control_get(noti_ex_action_h handle, app_control_h *app_control);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with button.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with button,
+ * notification_ex handle have to be made as button item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] title The title of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_button.h>
+
+{
+ int ret;
+ noti_ex_item_h button_item = NULL;
+
+ ret = noti_ex_item_button_create(&button_item, "button_id", "button_title");
+}
+ * @endcode
+ */
int noti_ex_item_button_create(noti_ex_item_h *handle, const char *id, const char *title);
+
+/**
+ * @brief Gets the title of button item.
+ * @since_tizen 5.5
+ * @remarks @a title must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] title The title of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_button_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_button.h>
+
+{
+ int ret;
+ char *title = NULL;
+
+ ret = noti_ex_item_button_get_title(button_item, &title);
+}
+ * @endcode
+ */
int noti_ex_item_button_get_title(noti_ex_item_h handle, char **title);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Enumeration for notification_ex chat message type.
+ * @since_tizen 5.5
+ */
typedef enum _noti_ex_item_chat_message_type {
- NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_USER,
- NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_SENDER,
+ NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_USER, /**< The user of chat message */
+ NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_SENDER, /**< The sender of chat messasge */
} noti_ex_item_chat_message_type_e;
+/**
+ * @brief Creates the notification_ex item handle for chat message.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to make chat message notification,
+ * notification_ex handle have to be made as chat message item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @a name, @a text, @a image and @a time must not be released if it returns #NOTI_EX_ERROR_NONE.
+ * @param[out] handle The noti ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] name The notification_ex item handle for name
+ * @param[in] text The notification_ex item handle for text
+ * @param[in] image The notification_ex item handle for image
+ * @param[in] time The notification_ex item handle for time
+ * @param[in] message_type The type of chat message
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_type_e
+ * @see #noti_ex_item_text_create
+ * @see #noti_ex_item_image_create
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_h chatmessage_item = NULL;
+ noti_ex_item_h name = NULL;
+ noti_ex_item_h text = NULL;
+ noti_ex_item_h image = NULL;
+ noti_ex_item_h time = NULL;
+ time_t current_time;
+
+ noti_ex_item_text_create(&name, "name_id", "name", NULL);
+ noti_ex_item_text_create(&text, "text_id", "text", NULL);
+ noti_ex_item_image_create(&image, "image_id", "image_path");
+
+ time(¤t_time);
+ noti_ex_item_time_create(&time, "time_id", current_time);
+
+ ret = noti_ex_item_chat_message_create(&chatmessage_item, "message_id", name,
+ text, image, time, NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_USER);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_create(noti_ex_item_h *handle, const char *id,
noti_ex_item_h name, noti_ex_item_h text, noti_ex_item_h image,
noti_ex_item_h time, noti_ex_item_chat_message_type_e message_type);
+
+/**
+ * @brief Gets the notification_ex item handle for name of chat message.
+ * @details The name of chat message is notification_ex item handle with text that is name.
+ * @since_tizen 5.5
+ * @remarks @a name should not be released.
+ * @param[in] handle The notification_ex item handle
+ * @param[out] name The notification_ex item handle with name
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_h name = NULL;
+
+ ret = noti_ex_item_chat_message_get_name(chatmessage_item, &name);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_get_name(noti_ex_item_h handle, noti_ex_item_h *name);
+
+/**
+ * @brief Gets the notification_ex item handle for text of chat message.
+ * @details The text of chat message is notification_ex item handle with text.
+ * @since_tizen 5.5
+ * @remarks @a text should not be released.
+ * @param[in] handle The notification_ex item handle
+ * @param[out] text The notification_ex item handle with text
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_h text = NULL;
+
+ ret = noti_ex_item_chat_message_get_text(chatmessage_item, &text);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_get_text(noti_ex_item_h handle, noti_ex_item_h *text);
+
+/**
+ * @brief Gets the notification_ex item handle for image of chat message.
+ * @details The image of chat message is notification_ex item handle with image.
+ * @since_tizen 5.5
+ * @remarks @a image should not be released.
+ * @param[in] handle The notification_ex item handle
+ * @param[out] image The notification_ex item handle with image
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_h image = NULL;
+
+ ret = noti_ex_item_chat_message_get_image(chatmessage_item, &image);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_get_image(noti_ex_item_h handle, noti_ex_item_h *image);
+
+/**
+ * @brief Gets the notification_ex item handle for time of chat message.
+ * @details The time of chat message is notification_ex item handle with time.
+ * @since_tizen 5.5
+ * @remarks @a time should not be released.
+ * @param[in] handle The notification_ex item handle
+ * @param[out] time The notification_ex item handle with time
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_h time = NULL;
+
+ ret = noti_ex_item_chat_message_get_time(chatmessage_item, &time);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_get_time(noti_ex_item_h handle, noti_ex_item_h *time);
+
+/**
+ * @brief Gets the type of chat message.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] message_type The type of chat message
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_chat_message_create
+ * @see #noti_ex_item_chat_message_type_e
+ * @par Sample code:
+ * @code
+#include <notification_ex_chat_message.h>
+
+{
+ int ret;
+ noti_ex_item_chat_message_type_e type;
+
+ ret = noti_ex_item_chat_message_get_message_type(chatmessage_item, &type);
+}
+ * @endcode
+ */
int noti_ex_item_chat_message_get_message_type(noti_ex_item_h handle, noti_ex_item_chat_message_type_e *message_type);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with checkbox.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with checkbox,
+ * notification_ex handle have to be made as checkbox item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] title The title of notification_ex item
+ * @param[in] checked The check state of checkbox
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_checkbox.h>
+
+{
+ int ret;
+ noti_ex_item_h checkbox_item = NULL;
+
+ ret = noti_ex_item_checkbox_create(&checkbox_item, "checkbox_id", "checkbox_title", false);
+}
+ * @endcode
+ */
int noti_ex_item_checkbox_create(noti_ex_item_h *handle, const char *id, const char *title, bool checked);
+
+/**
+ * @brief Gets the title of checkbox item.
+ * @since_tizen 5.5
+ * @remarks @a title must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] title The title of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_checkbox_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_checkbox.h>
+
+{
+ int ret;
+ char *title = NULL;
+
+ ret = noti_ex_item_checkbox_get_title(checkbox_item, &title);
+}
+ * @endcode
+ */
int noti_ex_item_checkbox_get_title(noti_ex_item_h handle, char **title);
+
+/**
+ * @brief Gets the check state of checkbox.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] checked The check state of checkbox
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_checkbox_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_checkbox.h>
+
+{
+ int ret;
+ bool checked;
+
+ ret = noti_ex_item_checkbox_is_checked(checkbox_item, &checked);
+}
+ * @endcode
+ */
int noti_ex_item_checkbox_is_checked(noti_ex_item_h handle, bool *checked);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle for entry item.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to get text input directly from the notification,
+ * notification_ex handle have to be made as entry item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_entry.h>
+
+{
+ int ret;
+ noti_ex_item_h entry_item = NULL;
+
+ ret = noti_ex_item_entry_create(&entry_item, "entry_id");
+}
+ * @endcode
+ */
int noti_ex_item_entry_create(noti_ex_item_h *handle, const char *id);
+
+/**
+ * @brief Gets the text of entry item.
+ * @since_tizen 5.5
+ * @remarks @a text must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] text The text of entry item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_entry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_entry.h>
+
+{
+ int ret;
+ char *text = NULL;
+
+ ret = noti_ex_item_entry_get_text(entry_item, &text);
+}
+ * @endcode
+ */
int noti_ex_item_entry_get_text(noti_ex_item_h handle, char **text);
+
+/**
+ * @brief Sets the text of entry item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] text The text of entry item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_entry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_entry.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_entry_set_text(entry_item, "entry_text");
+}
+ * @endcode
+ */
int noti_ex_item_entry_set_text(noti_ex_item_h handle, const char *text);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Enumeration for the type of notifrication_ex event.
+ * @since_tizen 5.5
+ */
typedef enum _noti_ex_event_info_type {
- Post,
- Update,
- Delete,
- Get,
- Error,
+ NOTI_EX_EVENT_POST, /**< Post the notification */
+ NOTI_EX_EVENT_UPDATE, /**< Update the notification */
+ NOTI_EX_EVENT_DELETE, /**< Delete the notification */
+ NOTI_EX_EVENT_GET, /**< Get the notification */
+ NOTI_EX_EVENT_ERROR, /**< Error occurs */
} noti_ex_event_info_type_e;
+/**
+ * @brief The handle for the notification_ex event information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_event_info_h;
-int noti_ex_event_info_create(noti_ex_event_info_h *handle,
- noti_ex_event_info_type_e type, const char *owner,
- const char *channel, const char *item_id);
-int noti_ex_event_info_destroy(noti_ex_event_info_h handle);
+/**
+ * @brief Gets the type of event.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex event info handle
+ * @param[out] event_type The type of event
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_event_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_event_info.h>
+
+{
+ int ret;
+ noti_ex_event_info_type_e type;
+
+ ret = noti_ex_event_info_get_event_type(event_handle, &type);
+}
+ * @endcode
+ */
int noti_ex_event_info_get_event_type(noti_ex_event_info_h handle, noti_ex_event_info_type_e *event_type);
+
+/**
+ * @brief Gets the owner of event.
+ * @since_tizen 5.5
+ * @remarks @a owner must be released using free().
+ * @param[in] handle The notification_ex event info handle
+ * @param[out] owner The owner of event
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_event_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_event_info.h>
+
+{
+ int ret;
+ char *owner = NULL;
+
+ ret = noti_ex_event_info_get_owner(event_handle, &owner);
+}
+ * @endcode
+ */
int noti_ex_event_info_get_owner(noti_ex_event_info_h handle, char **owner);
+
+/**
+ * @brief Gets the channel of event.
+ * @since_tizen 5.5
+ * @remarks @a channel must be released using free().
+ * @param[in] handle The notification_ex event info handle
+ * @param[out] channel The channel of event
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_event_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_event_info.h>
+
+{
+ int ret;
+ char *channel = NULL;
+
+ ret = noti_ex_event_info_get_channel(event_handle, &channel);
+}
+ * @endcode
+ */
int noti_ex_event_info_get_channel(noti_ex_event_info_h handle, char **channel);
+
+/**
+ * @brief Gets the id of notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a item_id must be released using free().
+ * @param[in] handle The notification_ex event info handle
+ * @param[out] item_id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_event_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_event_info.h>
+
+{
+ int ret;
+ char *item_id = NULL;
+
+ ret = noti_ex_event_info_get_item_id(event_handle, &item_id);
+}
+ * @endcode
+ */
int noti_ex_event_info_get_item_id(noti_ex_event_info_h handle, char **item_id);
+
+/**
+ * @brief Gets the id of reqest for event
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex event info handle
+ * @param[out] req_id The id of reqeust for event
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_event_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_event_info.h>
+
+{
+ int ret;
+ int reqeust_id;
+
+ ret = noti_ex_event_info_get_request_id(event_handle, &reqeust_id);
+}
+ * @endcode
+ */
int noti_ex_event_info_get_request_id(noti_ex_event_info_h handle, int *req_id);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the group of notification_ex items.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to make the group of notification_ex items,
+ * notification_ex handle have to be made as group item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+ noti_ex_item_h group_item = NULL;
+
+ ret = noti_ex_item_group_create(&group_item, "group_id");
+}
+ * @endcode
+ */
int noti_ex_item_group_create(noti_ex_item_h *handle, const char *id);
+
+/**
+ * @brief Sets the direction of children in the group item.
+ * @details If vertical state is true, the children of group item are placed vertically.
+ * If vertical state is false, the children of group item are placed horizontally.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] vertical The vertical state of group item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_group_set_direction(group_item, true);
+}
+ * @endcode
+ */
int noti_ex_item_group_set_direction(noti_ex_item_h handle, bool vertical);
+
+/**
+ * @brief Gets the vertical state of group item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] vertical The vertical state of group item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+ bool vertical;
+
+ ret = noti_ex_item_group_is_vertical(group_item, &vertical);
+}
+ * @endcode
+ */
int noti_ex_item_group_is_vertical(noti_ex_item_h handle, bool *vertical);
+
+/**
+ * @brief Gets the label of application.
+ * @since_tizen 5.5
+ * @remarks @a label must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] label The label of application
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+ char *label = NULL;
+
+ ret = noti_ex_item_group_get_app_label(group_item, &label);
+}
+ * @endcode
+ */
int noti_ex_item_group_get_app_label(noti_ex_item_h handle, char **label);
+
+/**
+ * @brief Add the child to the group item.
+ * @since_tizen 5.5
+ * @remarks @a child must not be released after calling this function
+ * @param[in] handle The notification_ex item handle
+ * @param[in] child The child notification_ex item handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+
+ ret = noti_ex_item_group_create(&group_item, "group_id");
+ ret = noti_ex_item_button_create(&child_item, "button_id", "button_title");
+ ret = noti_ex_item_group_add_child(group_item, child_item);
+}
+ * @endcode
+ */
int noti_ex_item_group_add_child(noti_ex_item_h handle, noti_ex_item_h child);
+
+/**
+ * @brief Removes the child from the group item by notification_ex item id.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] item_id The id of notification_ex item that is child of group item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_group_remove_child(group_item, "child_id");
+}
+ * @endcode
+ */
int noti_ex_item_group_remove_child(noti_ex_item_h handle, const char *item_id);
+/**
+ * @brief Called to get the data of child item for each child of the group item.
+ * @since_tizen 5.5
+ * @remarks @a handle must not be released
+ * @param[in] handle The notification_ex item handle
+ * @param[in] data The data of child passed from foreach function
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_foreach
+ */
typedef int (*noti_ex_item_group_foreach_cb)(noti_ex_item_h handle, void *data);
+
+/**
+ * @brief Gets the data of children from the group item.
+ * @details The noti_ex_item_group_foreach_cb is called each child of group item.
+ * @since_tizen 5.5
+ * @param[in] callback The callback function to get the children data
+ * @param[in] data The data to be passed to the callback function
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_group_foreach_cb
+ * @par Sample code:
+ * @code
+#include <notification_ex_group.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_group_foreach(noti_ex_item_group_foreach_cb_function, NULL);
+}
+ * @endcode
+ */
int noti_ex_item_group_foreach(noti_ex_item_group_foreach_cb callback, void *data);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with image.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with image,
+ * notification_ex handle have to be made as image item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] image_path The path of image
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_image.h>
+
+{
+ int ret;
+ noti_ex_item_h image_item = NULL;
+
+ ret = noti_ex_item_image_create(&image_item, "image_id", "image_path");
+}
+ * @endcode
+ */
int noti_ex_item_image_create(noti_ex_item_h *handle, const char *id, const char *image_path);
+
+/**
+ * @brief Gets the path of image.
+ * @since_tizen 5.5
+ * @remarks @a image_path must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] image_path The path of image
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_image_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_image.h>
+
+{
+ int ret;
+ char *path = NULL;
+
+ ret = noti_ex_item_image_get_image_path(button_item, &path);
+}
+ * @endcode
+ */
int noti_ex_item_image_get_image_path(noti_ex_item_h handle, char **image_path);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with input selector.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with selector to select predefined input,
+ * notification_ex handle have to be made as input selector item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_input_selector.h>
+
+{
+ int ret;
+ noti_ex_item_h selector_item = NULL;
+
+ ret = noti_ex_item_input_selector_create(&selector_item, "selector_id");
+}
+ * @endcode
+ */
int noti_ex_item_input_selector_create(noti_ex_item_h *handle, const char *id);
+
+/**
+ * @brief Gets the contents that can be selected by input selector.
+ * @since_tizen 5.5
+ * @remarks @a list must be released after releasing all contents using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] list The list of contents
+ * @param[out] count The count of contents
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_input_selector_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_input_selector.h>
+
+{
+ int ret;
+ char **list = NULL;
+ int count = 0;
+
+ ret = noti_ex_item_input_selector_get_contents(&selector_item, &list, &count);
+}
+ * @endcode
+ */
int noti_ex_item_input_selector_get_contents(noti_ex_item_h handle, char ***list, int *count);
+
+/**
+ * @brief Sets the contents for input selector item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] contents The list of contents
+ * @param[out] count The count of contents
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_input_selector_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_input_selector.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_input_selector_set_contents(&selector_item, list, count);
+}
+ * @endcode
+ */
int noti_ex_item_input_selector_set_contents(noti_ex_item_h handle, const char **contents, int count);
#ifdef __cplusplus
extern "C" {
#endif
-#define RECEIVERGROUP_PANEL = "tizen.org/receiver/panel";
-#define RECEIVERGROUP_TICKER = "tizen.org/receiver/ticker";
-#define RECEIVERGROUP_LOCKSCREEN = "tizen.org/receiver/lockscreen";
-#define RECEIVERGROUP_INDICATOR = "tizen.org/receiver/indicator";
-#define RECEIVERGROUP_POPUP = "tizen.org/receiver/popup";
+#define RECEIVERGROUP_PANEL = "tizen.org/receiver/panel"; /**< Panel */
+#define RECEIVERGROUP_TICKER = "tizen.org/receiver/ticker"; /**< Ticker */
+#define RECEIVERGROUP_LOCKSCREEN = "tizen.org/receiver/lockscreen"; /**< Lockscreen */
+#define RECEIVERGROUP_INDICATOR = "tizen.org/receiver/indicator"; /**< Indicator */
+#define RECEIVERGROUP_POPUP = "tizen.org/receiver/popup"; /**< Popup */
+/**
+ * @brief Enumeration for notification_ex item types.
+ * @since_tizen 5.5
+ */
typedef enum _noti_ex_item_type {
- NOTI_EX_ITEM_TYPE_NULL,
- NOTI_EX_ITEM_TYPE_TEXT,
- NOTI_EX_ITEM_TYPE_IMAGE,
- NOTI_EX_ITEM_TYPE_ICON,
- NOTI_EX_ITEM_TYPE_BUTTON,
- NOTI_EX_ITEM_TYPE_CHAT_MESSAGE,
- NOTI_EX_ITEM_TYPE_CHECKBOX,
- NOTI_EX_ITEM_TYPE_ICON_TEXT,
- NOTI_EX_ITEM_TYPE_INPUT_SELECTOR,
- NOTI_EX_ITEM_TYPE_GROUP,
- NOTI_EX_ITEM_TYPE_ENTRY,
- NOTI_EX_ITEM_TYPE_PROGRESS,
- NOTI_EX_ITEM_TYPE_TIME,
- NOTI_EX_ITEM_TYPE_CUSTOM = 100,
+ NOTI_EX_ITEM_TYPE_NULL, /**< notification_ex item is null */
+ NOTI_EX_ITEM_TYPE_TEXT, /**< notificatin_ex item for text */
+ NOTI_EX_ITEM_TYPE_IMAGE, /**< notificatin_ex item for image */
+ NOTI_EX_ITEM_TYPE_ICON, /**< notificatin_ex item for icon */
+ NOTI_EX_ITEM_TYPE_BUTTON, /**< notificatin_ex item for button */
+ NOTI_EX_ITEM_TYPE_CHAT_MESSAGE, /**< notificatin_ex item for chat message */
+ NOTI_EX_ITEM_TYPE_CHECKBOX, /**< notificatin_ex item for check box */
+ NOTI_EX_ITEM_TYPE_ICON_TEXT, /**< notificatin_ex item for icon and text */
+ NOTI_EX_ITEM_TYPE_INPUT_SELECTOR, /**< notificatin_ex item for input selector */
+ NOTI_EX_ITEM_TYPE_GROUP, /**< notificatin_ex item for group */
+ NOTI_EX_ITEM_TYPE_ENTRY, /**< notificatin_ex item for entry */
+ NOTI_EX_ITEM_TYPE_PROGRESS, /**< notificatin_ex item for progress */
+ NOTI_EX_ITEM_TYPE_TIME, /**< notificatin_ex item for time */
+ NOTI_EX_ITEM_TYPE_CUSTOM = 100 /**< notificatin_ex item for custom item */
} noti_ex_item_type_e;
+/**
+ * @brief Enumeration for notification_ex action type.
+ * @since_tizen 5.5
+ */
typedef enum _noti_ex_action_type {
- NOTI_EX_ACTION_TYPE_NULL,
- NOTI_EX_ACTION_TYPE_APP_CONTROL,
- NOTI_EX_ACTION_TYPE_VISIBILITY,
- NOTI_EX_ACTION_TYPE_CUSTOM = 100,
+ NOTI_EX_ACTION_TYPE_NULL, /**< notification_ex action is null */
+ NOTI_EX_ACTION_TYPE_APP_CONTROL, /**< notification_ex action with app control */
+ NOTI_EX_ACTION_TYPE_VISIBILITY, /**< notification_ex action for visibility */
+ NOTI_EX_ACTION_TYPE_CUSTOM = 100, /**< notification_ex action for custom action */
} noti_ex_action_type;
+/**
+ * @brief Enumeration for notification_ex item policy.
+ * @since_tizen 5.5
+ */
typedef enum _noti_ex_item_policy {
- NOTI_EX_ITEM_POLICY_NONE = 0,
- NOTI_EX_ITEM_POLICY_ON_BOOT_CLEAR = 1 << 0,
- NOTI_EX_ITEM_POLICY_SIM_MODE = 1 << 1,
+ NOTI_EX_ITEM_POLICY_NONE = 0, /**< no policy */
+ NOTI_EX_ITEM_POLICY_ON_BOOT_CLEAR = 1 << 0, /**< on boot clear */
+ NOTI_EX_ITEM_POLICY_SIM_MODE = 1 << 1, /**< sim mode */
} noti_ex_item_policy_e;
+/**
+ * @brief The handle for the color information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_color_h;
+/**
+ * @brief Creates the notification_ex color handle.
+ * @details Color information can be defined as notification_ex color handle
+ * with alpha, red, green, blue value.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_color_destroy().
+ * @param[out] handle The notification_ex color handle
+ * @param[in] a The alpha value
+ * @param[in] r The red value
+ * @param[in] g The green value
+ * @param[in] b The blue value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_color_h
+ * @see #noti_ex_color_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_color_h color = NULL;
+
+ ret = noti_ex_color_create(&color, 0, 0, 0, 0);
+}
+ * @endcode
+ */
int noti_ex_color_create(noti_ex_color_h *handle, unsigned char a, unsigned char r, unsigned char g, unsigned char b);
+
+/**
+ * @brief Releases notification_ex color handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex color handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_color_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_color_destroy(color);
+}
+ * @endcode
+ */
int noti_ex_color_destroy(noti_ex_color_h handle);
+
+/**
+ * @brief Gets the alpha value of color.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex color handle
+ * @param[out] val The alpha value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_color_h
+ * @see #noti_ex_color_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ unsigned char alpha;
+
+ ret = noti_ex_color_get_alpha(color, &alpha);
+}
+ * @endcode
+ */
int noti_ex_color_get_alpha(noti_ex_color_h handle, unsigned char *val);
+
+/**
+ * @brief Gets the red value of color.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex color handle
+ * @param[out] val The red value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_color_h
+ * @see #noti_ex_color_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ unsigned char red;
+
+ ret = noti_ex_color_get_red(color, &red);
+}
+ * @endcode
+ */
int noti_ex_color_get_red(noti_ex_color_h handle, unsigned char *val);
+
+/**
+ * @brief Gets the green value of color.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex color handle
+ * @param[out] val The green value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_color_h
+ * @see #noti_ex_color_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ unsigned char green;
+
+ ret = noti_ex_color_get_green(color, &green);
+}
+ * @endcode
+ */
int noti_ex_color_get_green(noti_ex_color_h handle, unsigned char *val);
+
+/**
+ * @brief Gets the blue value of color.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex color handle
+ * @param[out] val The blue value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_color_h
+ * @see #noti_ex_color_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ unsigned char blue;
+
+ ret = noti_ex_color_get_blue(color, &blue);
+}
+ * @endcode
+ */
int noti_ex_color_get_blue(noti_ex_color_h handle, unsigned char *val);
+/**
+ * @brief The handle for the padding information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_padding_h;
+
+/**
+ * @brief Creates the notification_ex padding handle.
+ * @details Padding information can be defined as notification_ex padding handle
+ * with left, top, right, bottom value.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_padding_destroy().
+ * @param[out] handle The notification_ex padding handle
+ * @param[in] left The left value
+ * @param[in] top The top value
+ * @param[in] right The right value
+ * @param[in] bottom The bottom value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_padding_h
+ * @see #noti_ex_padding_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_padding_h padding = NULL;
+
+ ret = noti_ex_padding_create(&padding, 0, 0, 0, 0);
+}
+ * @endcode
+ */
int noti_ex_padding_create(noti_ex_padding_h *handle, int left, int top, int right, int bottom);
+
+/**
+ * @brief Releases notification_ex padding handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex padding handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_padding_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_padding_destroy(padding);
+}
+ * @endcode
+ */
int noti_ex_padding_destroy(noti_ex_padding_h handle);
+
+/**
+ * @brief Gets the left value of padding.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex padding handle
+ * @param[out] val The left value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_padding_h
+ * @see #@see #noti_ex_padding_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int left;
+
+ ret = noti_ex_padding_get_left(padding, &left);
+}
+ * @endcode
+ */
int noti_ex_padding_get_left(noti_ex_padding_h handle, int *val);
+
+/**
+ * @brief Gets the top value of padding.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex padding handle
+ * @param[out] val The top value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_padding_h
+ * @see #@see #noti_ex_padding_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int top;
+
+ ret = noti_ex_padding_get_top(padding, &top);
+}
+ * @endcode
+ */
int noti_ex_padding_get_top(noti_ex_padding_h handle, int *val);
+
+/**
+ * @brief Gets the right value of padding.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex padding handle
+ * @param[out] val The right value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_padding_h
+ * @see #@see #noti_ex_padding_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int right;
+
+ ret = noti_ex_padding_get_right(padding, &right);
+}
+ * @endcode
+ */
int noti_ex_padding_get_right(noti_ex_padding_h handle, int *val);
+
+/**
+ * @brief Gets the bottom value of padding.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex padding handle
+ * @param[out] val The bottom value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_padding_h
+ * @see #@see #noti_ex_padding_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int bottom;
+
+ ret = noti_ex_padding_get_bottom(padding, &bottom);
+}
+ * @endcode
+ */
int noti_ex_padding_get_bottom(noti_ex_padding_h handle, int *val);
+/**
+ * @brief The handle for the geometry information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_geometry_h;
+
+/**
+ * @brief Creates the notification_ex geometry handle.
+ * @details Geometry information can be defined as notification_ex geometry handle
+ * with x, y, width, height value.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_geometry_destroy().
+ * @param[out] handle The notification_ex geometry handle
+ * @param[in] x The x value
+ * @param[in] y The y value
+ * @param[in] w The width value
+ * @param[in] h The height value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_geometry_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_geometry_h geometry = NULL;
+
+ ret = noti_ex_geometry_create(&geometry, 0, 0, 0, 0);
+}
+ * @endcode
+ */
int noti_ex_geometry_create(noti_ex_geometry_h *handle, int x, int y, int w, int h);
+
+/**
+ * @brief Releases the notification_ex geometry handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex geometry handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_geometry_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_geometry_destroy(geometry);
+}
+ * @endcode
+ */
int noti_ex_geometry_destroy(noti_ex_geometry_h handle);
+
+/**
+ * @brief Gets the x position value.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex geometry handle
+ * @param[out] val The x value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_geometry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int x;
+
+ ret = noti_ex_geometry_get_x(geometry, &x);
+}
+ * @endcode
+ */
int noti_ex_geometry_get_x(noti_ex_geometry_h handle, int *val);
+
+/**
+ * @brief Gets the y position value.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex geometry handle
+ * @param[out] val The y value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_geometry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int y;
+
+ ret = noti_ex_geometry_get_y(geometry, &y);
+}
+ * @endcode
+ */
int noti_ex_geometry_get_y(noti_ex_geometry_h handle, int *val);
+
+/**
+ * @brief Gets the width value.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex geometry handle
+ * @param[out] val The width value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_geometry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int width;
+
+ ret = noti_ex_geometry_get_width(geometry, &width);
+}
+ * @endcode
+ */
int noti_ex_geometry_get_width(noti_ex_geometry_h handle, int *val);
+
+/**
+ * @brief Gets the height value.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex geometry handle
+ * @param[out] val The height value
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_geometry_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int height;
+
+ ret = noti_ex_geometry_get_height(geometry, &height);
+}
+ * @endcode
+ */
int noti_ex_geometry_get_height(noti_ex_geometry_h handle, int *val);
+/**
+ * @brief The handle for the style information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_style_h;
+
+/**
+ * @brief Creates the notification_ex style handle.
+ * @details Style information can be defined as notification_ex style handle
+ * with color, padding, geometry information.
+ * The color is defined notification_ex color handle.
+ * The padding is defined notification_ex padding handle.
+ * The geometry is defined notification_ex geometry handle.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_style_destroy().
+ * @param[out] handle The notification_ex padding handle
+ * @param[in] color The notification_ex color handle
+ * @param[in] padding The notification_ex padding handle
+ * @param[in] geometry The notification_ex geometry handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_style_h
+ * @see #noti_ex_color_h
+ * @see #noti_ex_padding_h
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_style_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_style_h style = NULL;
+ noti_ex_color_h color = NULL;
+ noti_ex_padding_h padding = NULL;
+ noti_ex_geometry_h geometry = NULL;
+
+ ret = noti_ex_color_create(&color, 0, 0, 0, 0);
+ ret = noti_ex_padding_create(&padding, 0, 0, 0, 0);
+ ret = noti_ex_geometry_create(&geometry, 0, 0, 0, 0);
+
+ ret = noti_ex_style_create(&style, color, padding, geometry);
+}
+ * @endcode
+ */
int noti_ex_style_create(noti_ex_style_h *handle, noti_ex_color_h color, noti_ex_padding_h padding, noti_ex_geometry_h geometry);
+
+/**
+ * @brief Releases the notification_ex style handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex style handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_style_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_style_destroy(style);
+}
+ * @endcode
+ */
int noti_ex_style_destroy(noti_ex_style_h handle);
-int noti_ex_style_get_padding(noti_ex_style_h handle, const noti_ex_padding_h *padding);
-int noti_ex_style_get_color(noti_ex_style_h handle, const noti_ex_color_h *color);
-int noti_ex_style_get_geometry(noti_ex_style_h handle, const noti_ex_geometry_h *geometry);
+/**
+ * @brief Gets the padding information.
+ * @since_tizen 5.5
+ * @remarks @a padding must be released using noti_ex_padding_destroy().
+ * @param[in] handle The notification_ex style handle
+ * @param[out] padding The notification_ex padding handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_style_h
+ * @see #noti_ex_padding_h
+ * @see #noti_ex_style_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+{
+ int ret;
+ noti_ex_padding_h padding = NULL;
+
+ ret = noti_ex_style_get_padding(style, &padding);
+}
+ * @endcode
+ */
+int noti_ex_style_get_padding(noti_ex_style_h handle, noti_ex_padding_h *padding);
+
+/**
+ * @brief Gets the color information.
+ * @since_tizen 5.5
+ * @remarks @a color must be released using noti_ex_color_destroy().
+ * @param[in] handle The notification_ex style handle
+ * @param[out] color The notification_ex color handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_style_h
+ * @see #noti_ex_color_h
+ * @see #noti_ex_style_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_color_h color = NULL;
+
+ ret = noti_ex_style_get_color(style, &color);
+}
+ * @endcode
+ */
+int noti_ex_style_get_color(noti_ex_style_h handle, noti_ex_color_h *color);
+
+/**
+ * @brief Gets the geometry information.
+ * @since_tizen 5.5
+ * @remarks @a geometry must be released using noti_ex_geometry_destroy().
+ * @param[in] handle The notification_ex style handle
+ * @param[out] geometry The notification_ex geometry handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_style_h
+ * @see #noti_ex_geometry_h
+ * @see #noti_ex_style_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_geometry_h geometry = NULL;
+
+ ret = noti_ex_style_get_geometry(style, &geometry);
+}
+ * @endcode
+ */
+int noti_ex_style_get_geometry(noti_ex_style_h handle, noti_ex_geometry_h *geometry);
+
+/**
+ * @brief The handle for the led information.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_led_info_h;
+
+/**
+ * @brief Creates the notification_ex led info handle.
+ * @details LED information can be defined as notification_ex led handle
+ * with color information.
+ * The color is defined notification_ex color handle.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_led_info_destroy().
+ * @param[out] handle The notification_ex led info handle
+ * @param[in] color The notification_ex color handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_color_h
+ * @see #noti_ex_led_info_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_led_info_h led_info = NULL;
+ noti_ex_color_h color = NULL;
+
+ ret = noti_ex_color_create(&color, 0, 0, 0, 0);
+
+ ret = noti_ex_led_info_create(&led_info, color);
+}
+ * @endcode
+ */
int noti_ex_led_info_create(noti_ex_led_info_h *handle, noti_ex_color_h color);
+
+/**
+ * @brief Releases the notification_ex led info handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_led_info_destroy(led_info);
+}
+ * @endcode
+ */
int noti_ex_led_info_destroy(noti_ex_led_info_h handle);
+
+/**
+ * @brief Sets the time period for turning on the led.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @param[in] ms The time for turning on the led
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_led_info_set_on_period(led_info, 5);
+}
+ * @endcode
+ */
int noti_ex_led_info_set_on_period(noti_ex_led_info_h handle, int ms);
+
+/**
+ * @brief Gets the time period for turning on the led.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @param[out] ms The time for turning on the led
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int ms;
+
+ ret = noti_ex_led_info_get_on_period(led_info, &ms);
+}
+ * @endcode
+ */
int noti_ex_led_info_get_on_period(noti_ex_led_info_h handle, int *ms);
+
+/**
+ * @brief Sets the time period for turning off the led.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @param[in] ms The time for turning off the led
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_led_info_set_off_period(led_info, 5);
+}
+ * @endcode
+ */
int noti_ex_led_info_set_off_period(noti_ex_led_info_h handle, int ms);
+
+/**
+ * @brief Gets the time period for turning off the led.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @param[out] ms The time for turning off the led
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int ms;
+
+ ret = noti_ex_led_info_get_off_period(led_info, &ms);
+}
+ * @endcode
+ */
int noti_ex_led_info_get_off_period(noti_ex_led_info_h handle, int *ms);
+
+/**
+ * @brief Gets the color information.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex led info handle
+ * @param[out] color The notification_ex color handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_color_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_color_h color = NULL;
+
+ ret = noti_ex_led_info_get_color(led_info, &color);
+}
+ * @endcode
+ */
int noti_ex_led_info_get_color(noti_ex_led_info_h handle, noti_ex_color_h *color);
+/**
+ * @brief The notification_ex action handle
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_action_h;
+
+/**
+ * @brief The notification_ex item handle
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_item_h;
+
+/**
+ * @brief The notification_ex item_info handle
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_item_info_h;
+/**
+ * @brief Releases the notification_ex action handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_action_destroy(action);
+}
+ * @endcode
+ */
int noti_ex_action_destroy(noti_ex_action_h handle);
+
+/**
+ * @brief Gets the type of action.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[out] type The type of action
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int type;
+
+ ret = noti_ex_action_get_type(action,&type);
+}
+ * @endcode
+ */
int noti_ex_action_get_type(noti_ex_action_h handle, int *type);
+
+/**
+ * @brief Gets the local state of action.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[out] local The local state of action
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ bool local;
+
+ ret = noti_ex_action_is_local(action, &local);
+}
+ * @endcode
+ */
int noti_ex_action_is_local(noti_ex_action_h handle, bool *local);
+
+/**
+ * @brief Executes the action for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[in] item The notification_ex item handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_h button_item = NULL;
+ noti_ex_action_h action = NULL;
+
+ ret = noti_ex_action_visibility_create(&action, NULL);
+ ret = noti_ex_item_button_create(&button_item, "button_id", "button_title");
+ ret = noti_ex_item_set_action(button_item, action);
+
+ ret = noti_ex_action_execute(action, button_item);
+}
+ * @endcode
+ */
int noti_ex_action_execute(noti_ex_action_h handle, noti_ex_item_h item);
+
+/**
+ * @brief Gets the extra data for action.
+ * @since_tizen 5.5
+ * @remarks @a extra must be released using free().
+ * @param[in] handle The notification_ex action handle
+ * @param[out] extra The extra data
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *extra = NULL;
+
+ ret = noti_ex_action_get_extra(action, &extra);
+}
+ * @endcode
+ */
int noti_ex_action_get_extra(noti_ex_action_h handle, char **extra);
+/**
+ * @brief Gets the time to hide the notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item info handle
+ * @param[out] hide_time The time to hide notification
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_info_h
+ * @see #noti_ex_item_get_info
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int hide_time;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+
+ ret = noti_ex_item_info_get_hide_time(item_info, &hide_time);
+}
+ * @endcode
+ */
int noti_ex_item_info_get_hide_time(noti_ex_item_info_h handle, int *hide_time);
+
+/**
+ * @brief Sets the time to hide the notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item info handle
+ * @param[in] hide_time The time to hide notification
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_info_h
+ * @see #noti_ex_item_get_info
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+
+ ret = noti_ex_item_info_set_hide_time(action, 5);
+}
+ * @endcode
+ */
int noti_ex_item_info_set_hide_time(noti_ex_item_info_h handle, int hide_time);
+
+/**
+ * @brief Gets the time to delete the notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item info handle
+ * @param[out] delete_time The time to delete notification
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_info_h
+ * @see #noti_ex_item_get_info
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int delete_time;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+
+ ret = noti_ex_item_info_get_delete_time(item_info, &delete_time);
+}
+ * @endcode
+ */
int noti_ex_item_info_get_delete_time(noti_ex_item_info_h handle, int *delete_time);
+
+/**
+ * @brief Sets the time to delete the notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item info handle
+ * @param[out] delete_time The time to delete notification
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_info_h
+ * @see #noti_ex_item_get_info
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+
+ ret = noti_ex_item_info_set_delete_time(item_info, 5);
+}
+ * @endcode
+ */
int noti_ex_item_info_set_delete_time(noti_ex_item_info_h handle, int delete_time);
+
+/**
+ * @brief Gets the time information.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item info handle
+ * @param[out] time The time information
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_info_h
+ * @see #noti_ex_item_get_info
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ time_t time;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+
+ ret = noti_ex_item_info_get_time(item_info, &time);
+}
+ * @endcode
+ */
int noti_ex_item_info_get_time(noti_ex_item_info_h handle, time_t *time);
+/**
+ * @brief Releases the notification_ex item handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_destroy(item_handle);
+}
+ * @endcode
+ */
int noti_ex_item_destroy(noti_ex_item_h handle);
-int noti_ex_item_find_by_id(noti_ex_item_h handle, const char *id, const noti_ex_item_h *item);
+
+/**
+ * @brief Finds the notification_ex item handle by notification_ex item id.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] item The notification_ex item handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_h item = NULL;
+
+ ret = noti_ex_item_find_by_id(item_handle, "find_id", &item);
+}
+ * @endcode
+ */
+int noti_ex_item_find_by_id(noti_ex_item_h handle, const char *id, noti_ex_item_h *item);
+
+/**
+ * @brief Gets the type of notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] type The type of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int type;
+
+ ret = noti_ex_item_get_type(item_handle, &type);
+}
+ * @endcode
+ */
int noti_ex_item_get_type(noti_ex_item_h handle, int *type);
+
+/**
+ * @brief Gets the path of shared file.
+ * @since_tizen 5.5
+ * @remarks @a path must be released after releasing all paths using free()
+ * @param[in] handle The notification_ex item handle
+ * @param[out] path The path of shared file
+ * @param[out] count The count of path
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char **path = NULL;
+ int count;
+
+ ret = noti_ex_item_get_shared_path(item_handle, &path, &count);
+}
+ * @endcode
+ */
int noti_ex_item_get_shared_path(noti_ex_item_h handle, char ***path, int *count);
+
+/**
+ * @brief Gets the id of notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a id must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *id = NULL;
+
+ ret = noti_ex_item_get_id(item_handle, &id);
+}
+ * @endcode
+ */
int noti_ex_item_get_id(noti_ex_item_h handle, char **id);
+
+/**
+ * @brief Sets the id of notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_id(item_handle, "new_id");
+}
+ * @endcode
+ */
int noti_ex_item_set_id(noti_ex_item_h handle, const char *id);
+
+/**
+ * @brief Gets the action for notification_ex item.
+ * @details The action is defined as notification_ex action handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] action The notification_ex action handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_action_h action = NULL;
+
+ ret = noti_ex_item_get_action(item_handle, &action);
+}
+ * @endcode
+ */
int noti_ex_item_get_action(noti_ex_item_h handle, noti_ex_action_h *action);
+
+/**
+ * @brief Sets the action for notification_ex item.
+ * @details The action is defined as notification_ex action handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] action The notification_ex action handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_action_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_h item_handle = NULL;
+ noti_ex_action_h action = NULL;
+
+ ret = noti_ex_action_visibility_create(&action, NULL);
+ ret = noti_ex_item_button_create(&item_handle, "button_id", "button_title");
+
+ ret = noti_ex_item_set_action(item_handle, action);
+}
+ * @endcode
+ */
int noti_ex_item_set_action(noti_ex_item_h handle, noti_ex_action_h action);
+
+/**
+ * @brief Gets the style for notification_ex item.
+ * @details The style is defined as notification_ex style handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] style The notification_ex style handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_style_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_style_h style = NULL;
+
+ ret = noti_ex_item_get_style(item_handle, &style);
+}
+ * @endcode
+ */
int noti_ex_item_get_style(noti_ex_item_h handle, noti_ex_style_h *style);
+
+/**
+ * @brief Sets the style for notification_ex item.
+ * @details The style is defined as notification_ex style handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] style The notification_ex style handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_style_h
+ * @see #noti_ex_style_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_style(item_handle, style);
+}
+ * @endcode
+ */
int noti_ex_item_set_style(noti_ex_item_h handle, noti_ex_style_h style);
+
+/**
+ * @brief Sets the visible state for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] visible The visible state
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_visible(item_handle, true);
+}
+ * @endcode
+ */
int noti_ex_item_set_visible(noti_ex_item_h handle, bool visible);
+
+/**
+ * @brief Gets the visible state for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] visible The visible state
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ bool visible;
+
+ ret = noti_ex_item_get_visible(item_handle, &visible);
+}
+ * @endcode
+ */
int noti_ex_item_get_visible(noti_ex_item_h handle, bool *visible);
+
+/**
+ * @brief Sets the enable state for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] enable The enable state
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_enable(item_handle, true);
+}
+ * @endcode
+ */
int noti_ex_item_set_enable(noti_ex_item_h handle, bool enable);
+
+/**
+ * @brief Gets the enable state for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] enable The enable state
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ bool enable;
+
+ ret = noti_ex_item_get_enable(item_handle, &enable);
+}
+ * @endcode
+ */
int noti_ex_item_get_enable(noti_ex_item_h handle, bool *enable);
+
+/**
+ * @brief Adds the receiver group for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] receiver_group The receiver group
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_add_receiver(item_handle, RECEIVERGROUP_PANEL);
+}
+ * @endcode
+ */
int noti_ex_item_add_receiver(noti_ex_item_h handle, const char *receiver_group);
+
+/**
+ * @brief Removes the receiver group of notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] receiver_group The receiver group
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_remove_receiver(item_handle, RECEIVERGROUP_PANEL);
+}
+ * @endcode
+ */
int noti_ex_item_remove_receiver(noti_ex_item_h handle, const char *receiver_group);
+
+/**
+ * @brief Gets the list of receiver group for notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a list must be released after releasing all members of list using free()
+ * @param[in] handle The notification_ex item handle
+ * @param[out] list The list of receiver group
+ * @param[out] count The count of list
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char **list = NULL;
+ int count;
+
+ ret = noti_ex_item_get_receiver_list(item_handle, &list, &count);
+}
+ * @endcode
+ */
int noti_ex_item_get_receiver_list(noti_ex_item_h handle, char ***list, int *count);
+
+/**
+ * @brief Sets the policy for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] policy The policy for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_policy(item_handle, NOTI_EX_ITEM_POLICY_ON_BOOT_CLEAR);
+}
+ * @endcode
+ */
int noti_ex_item_set_policy(noti_ex_item_h handle, int policy);
+
+/**
+ * @brief Gets the policy for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] policy The policy for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ int policy;
+
+ ret = noti_ex_item_get_policy(item_handle, &policy);
+}
+ * @endcode
+ */
int noti_ex_item_get_policy(noti_ex_item_h handle, int *policy);
+
+/**
+ * @brief Gets the channel for notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a channel must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] channel The channel for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *channel;
+
+ ret = noti_ex_item_get_channel(item_handle, &channel);
+}
+ * @endcode
+ */
int noti_ex_item_get_channel(noti_ex_item_h handle, char **channel);
+
+/**
+ * @brief Sets the channel for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] channel The channel for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_channel(item_handle, "channel");
+}
+ * @endcode
+ */
int noti_ex_item_set_channel(noti_ex_item_h handle, const char *channel);
+
+/**
+ * @brief Sets the led for notification_ex item.
+ * @details The LED information is defined as notification_ex led info handle
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] led The notification_ex led info item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_led_info_h
+ * @see #noti_ex_led_info_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_led_info(item_handle, led_info);
+}
+ * @endcode
+ */
int noti_ex_item_set_led_info(noti_ex_item_h handle, noti_ex_led_info_h led);
+
+/**
+ * @brief Gets the led option for notification_ex item.
+ * @details The LED information is defined as notification_ex led info handle
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] led The notification_ex led info item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_led_info_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_led_info_h led_info = NULL;
+
+ ret = noti_ex_item_get_led_info(item_handle, &led_info);
+}
+ * @endcode
+ */
int noti_ex_item_get_led_info(noti_ex_item_h handle, noti_ex_led_info_h *led);
+
+/**
+ * @brief Sets the sound path for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] path The sound path for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_sound_path(item_handle, "sound_path");
+}
+ * @endcode
+ */
int noti_ex_item_set_sound_path(noti_ex_item_h handle, const char *path);
+
+/**
+ * @brief Sets the vibration path for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] path The vibration path for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_vibration_path(item_handle, "vibration_path");
+}
+ * @endcode
+ */
int noti_ex_item_set_vibration_path(noti_ex_item_h handle, const char *path);
+
+/**
+ * @brief Gets the sound path for notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a path must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] path The sound path for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *path = NULL
+
+ ret = noti_ex_item_get_sound_path(item_handle, &path);
+}
+ * @endcode
+ */
int noti_ex_item_get_sound_path(noti_ex_item_h handle, char **path);
+
+/**
+ * @brief Gets the vibration path for notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a path must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] path The vibration path for notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *path = NULL
+
+ ret = noti_ex_item_get_vibration_path(item_handle, &path);
+}
+ * @endcode
+ */
int noti_ex_item_get_vibration_path(noti_ex_item_h handle, char **path);
+
+/**
+ * @brief Gets the information for notification_ex item.
+ * @details The information of notificaction_ex item is defined as
+ * notification_ex item info handle.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] info The notification_ex item info handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_info_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ noti_ex_item_info_h item_info = NULL;
+
+ ret = noti_ex_item_get_info(item_handle, &item_info);
+}
+ * @endcode
+ */
int noti_ex_item_get_info(noti_ex_item_h handle, noti_ex_item_info_h *info);
+
+/**
+ * @brief Gets the sender app id of notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a id must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] id The sender app id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *app_id = NULL;
+
+ ret = noti_ex_item_get_sender_app_id(item_handle, &app_id);
+}
+ * @endcode
+ */
int noti_ex_item_get_sender_app_id(noti_ex_item_h handle, char **id);
+
+/**
+ * @brief Sets the sender app id of notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] id The sender app id of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_sender_app_id(item_handle, "sender_appid");
+}
+ * @endcode
+ */
int noti_ex_item_set_sender_app_id(noti_ex_item_h handle, const char *id);
+
+/**
+ * @brief Gets the tag of notification_ex item.
+ * @since_tizen 5.5
+ * @remarks @a tag must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] tag The tag of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+ char *tag = NULL;
+
+ ret = noti_ex_item_get_tag(item_handle, &tag);
+}
+ * @endcode
+ */
int noti_ex_item_get_tag(noti_ex_item_h handle, char **tag);
+
+/**
+ * @brief Sets the tag of notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[int] tag The tag of notification_ex item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_item.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_set_tag(item_handle, "item_tag");
+}
+ * @endcode
+ */
int noti_ex_item_set_tag(noti_ex_item_h handle, const char *tag);
#ifdef __cplusplus
extern "C" {
#endif
-typedef void (*noti_ex_manager_events_add_cb)(noti_ex_event_info_h info, noti_ex_item_h *added_item, int cnt, void *data);
-typedef void (*noti_ex_manager_events_update_cb)(noti_ex_event_info_h info, noti_ex_item_h updated_item, void *data);
-typedef void (*noti_ex_manager_events_delete_cb)(noti_ex_event_info_h info, noti_ex_item_h deleted_item, void *data);
-typedef void (*noti_ex_manager_events_error_cb)(noti_ex_error_e error, int req_id, void *data);
-typedef void (*noti_ex_manager_events_request_cb)(noti_ex_event_info_h info, noti_ex_item_h *items, int *cnt, void *data);
+/**
+ * @brief The notification_ex manager handle.
+ * @since_tizen 5.5
+ */
+typedef void* noti_ex_manager_h;
+
+/**
+ * @brief Called when the notification add event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The manager handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[in] added_item The item handle to be added
+ * The @a added_item can be used only in the callback.
+ * The @a added_item will be freed right after callback finished.
+ * @param[in] count The count of the item to be added
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_manager_events_add_cb)(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h *added_item,
+ int count, void *data);
+/**
+ * @brief Called when the notification update event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The manager handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[in] updated_item The item handle to be updated
+ * The @a updated_item can be used only in the callback.
+ * The @a updated_item will be freed right after callback finished.
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_manager_events_update_cb)(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h updated_item,
+ void *data);
+
+/**
+ * @brief Called when the notification delete event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The manager handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[in] deleted_item The item handle to be deleted
+ * The @a deleted_item can be used only in the callback.
+ * The @a deleted_item will be freed right after callback finished.
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_manager_events_delete_cb)(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h deleted_item,
+ void *data);
+
+/**
+ * @brief Called when the error event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The manager handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] error The error type
+ * @param[in] request_id The id of the request that occurred error
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_error_e
+ */
+typedef void (*noti_ex_manager_events_error_cb)(noti_ex_manager_h handle,
+ noti_ex_error_e error, int request_id, void *data);
+
+/**
+ * @brief Called when the notification request event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The manager handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[out] items The item handle to be responded to the requester
+ * @param[out] cnt The count of items which will be responded to the requester.
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_manager_events_request_cb)(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h **items, int *cnt, void *data);
+
+/**
+ * @brief The structure type to contain the set of callback functions for handling the notification events.
+ * @since_tizen 5.5
+ *
+ * @see noti_ex_manager_events_add_cb()
+ * @see noti_ex_manager_events_update_cb()
+ * @see noti_ex_manager_events_delete_cb()
+ * @see noti_ex_manager_events_error_cb()
+ * @see noti_ex_manager_events_request_cb()
+ */
typedef struct {
noti_ex_manager_events_add_cb added;
noti_ex_manager_events_update_cb updated;
noti_ex_manager_events_request_cb requested;
} noti_ex_manager_events_s;
-typedef void* noti_ex_manager_h;
+/**
+ * @brief Creates the notification_ex manager handle.
+ * @details The manager handle is created with a events callback and
+ * the user can listen notification events through the events callback.
+ * If the user wants to manage notifications for specific group
+ * the user should identify it with @a receiver_group
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @remarks @a handle must be released using noti_ex_manager_destroy().
+ * @param[out] handle The notification manager handle
+ * @param[in] receiver_group The notification group name of manager
+ * @param[in] event_callbacks The callbacks for notification_ex events
+ * @param[in] data The user data for @a event_callbacks
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY Out of memory
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_manager_events_s
+ * @see #RECEIVERGROUP_PANEL
+ * @see #RECEIVERGROUP_TICKER
+ * @see #RECEIVERGROUP_LOCKSCREEN
+ * @see #RECEIVERGROUP_INDICATOR
+ * @see #RECEIVERGROUP_POPUP
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_add_cb(noti_ex_manager_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h *added_item, int cnt, void *data) {
+}
+
+void _manager_events_update_cb(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h updated_item, void *data) {
+}
+
+void _manager_events_delete_cb(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h deleted_item, void *data) {
+}
+
+void _manager_events_error_cb(noti_ex_manager_h handle,
+ noti_ex_error_e error, int req_id, void *data) {
+}
+
+void _manager_events_request_cb(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h **items, int *cnt, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+
+ ev.added = _manager_events_add_cb;
+ ev.updated = _manager_events_update_cb;
+ ev.deleted = _manager_events_delete_cb;
+ ev.error = _manager_events_error_cb;
+ ev.requested = _manager_events_request_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+}
+ * @endcode
+ */
+int noti_ex_manager_create(noti_ex_manager_h *handle,
+ const char *receiver_group, noti_ex_manager_events_s event_callbacks,
+ void *data);
+
+/**
+ * @brief Destroys the notification_ex manager handle.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification manager handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_destroy(handle);
+}
+ * @endcode
+ */
+int noti_ex_manager_destroy(noti_ex_manager_h handle);
+
+/**
+ * @brief Gets all notifications for the notification_ex manager.
+ * @details Every notification that has been sent for the manager will be retrieved.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[out] items The result of the get request
+ * @param[out] count The count of retrieved notification items.
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_item_h
+ * @see #noti_ex_manager_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h *items;
+ noti_ex_item_h *item;
+ int items_count;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_get(handle, &items, &items_count);
+ for (int i = 0; i < items_count; i++) {
+ item = items[i];
+ // do something with item
+ }
+}
+ * @endcode
+ */
+int noti_ex_manager_get(noti_ex_manager_h handle,
+ noti_ex_item_h **items, int *count);
+
+/**
+ * @brief Updates notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[in] item The notification item to be updated
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_item_h
+ * @see #noti_ex_manager_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h *items;
+ noti_ex_item_h *item;
+ int items_count;
+ int request_id;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_get(handle, &items, &items_count);
+ for (int i = 0; i < items_count; i++) {
+ item = items[i];
+
+ // modify item
+ noti_ex_manager_update(handle, item, &request_id);
+ }
+}
+ * @endcode
+ */
+int noti_ex_manager_update(noti_ex_manager_h handle, noti_ex_item_h item,
+ int *request_id);
+
+/**
+ * @brief Deletes notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[in] item The notification item to be updated
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_error_e
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h *items;
+ noti_ex_item_h *item;
+ int items_count;
+ int request_id;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_get(handle, &items, &items_count);
+ for (int i = 0; i < items_count; i++) {
+ item = items[i];
+ noti_ex_manager_delete(handle, item, &request_id);
+ }
+}
+ * @endcode
+ */
+int noti_ex_manager_delete(noti_ex_manager_h handle, noti_ex_item_h noti,
+ int *request_id);
+
+/**
+ * @brief Deletes all notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_error_e
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h *items;
+ noti_ex_item_h *item;
+ int items_count;
+ int request_id;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_delete_all(handle, request_id);
+}
+ * @endcode
+ */
+int noti_ex_manager_delete_all(noti_ex_manager_h handle,
+ int *request_id);
+
+/**
+ * @brief Hides notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[in] item The notification item to be hidden
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_item_h
+ * @see #noti_ex_manager_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_error_e error, int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h *items;
+ noti_ex_item_h *item;
+ int items_count;
+ int request_id;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ for (int i = 0; i < items_count; i++) {
+ item = items[i];
+ ret = noti_ex_manager_hide(handle, item, &request_id);
+ }
+}
+ * @endcode
+ */
+int noti_ex_manager_hide(noti_ex_manager_h handle, noti_ex_item_h item,
+ int *request_id);
+
+/**
+ * @brief Finds notification by root id.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @remarks @a root_id is the id of the foremost notification item.
+ * @param[in] handle The notification manager handle
+ * @param[in] root_id The id of the foremost notification item to be retrived
+ * @param[out] item The result of the find operation
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_item_h
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_error_e error, int req_id, void *data) {
+}
-int noti_ex_manager_create(noti_ex_manager_h *handle, const char *receiver_group, noti_ex_manager_events_s ev, void *data);
-int noti_ex_manager_deatroy(noti_ex_manager_h handle);
-int noti_ex_manager_get(noti_ex_manager_h handle, noti_ex_item_h *items, int *cnt);
-int noti_ex_manager_update(noti_ex_manager_h handle, noti_ex_item_h noti);
-int noti_ex_manager_delete(noti_ex_manager_h handle, noti_ex_item_h noti);
-int noti_ex_manager_delete_all(noti_ex_manager_h handle);
-int noti_ex_manager_hide(noti_ex_manager_h handle, noti_ex_item_h noti);
-int noti_ex_manager_find_by_root_id(noti_ex_manager_h handle, const char *id, noti_ex_item_h *item);
-int noti_ex_manager_send_event(noti_ex_manager_h handle, noti_ex_event_info_h info, noti_ex_item_h noti);
-int noti_ex_manager_send_error(noti_ex_manager_h handle, noti_ex_event_info_h info, noti_ex_error_e error);
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ noti_ex_item_h item;
+
+ ev.error = _manager_events_error_cb;
+ ev.requested = _manager_events_request_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_find_by_root_id(handle, "group1", &item);
+}
+ * @endcode
+ */
+int noti_ex_manager_find_by_root_id(noti_ex_manager_h handle,
+ const char *root_id, noti_ex_item_h *item);
+
+/**
+ * @brief Sends error.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] handle The notification manager handle
+ * @param[in] info The handle that contains event information
+ * @param[in] error The error type
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_manager_h
+ * @see #noti_ex_error_e
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_add_cb(noti_ex_manager_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h *added_item, int cnt, void *data) {
+}
+
+void _manager_events_update_cb(noti_ex_manager_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h updated_item, void *data) {
+ int request_id;
+ // if something wrong about process
+ noti_ex_manager_send_error(handle, info, NOTI_EX_ERROR_IO_ERROR, &request_id);
+}
+
+void _manager_events_delete_cb(noti_ex_manager_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h deleted_item, void *data) {
+}
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+void _manager_events_request_cb(noti_ex_manager_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h **items, int *cnt, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+
+ ev.added = _manager_events_add_cb;
+ ev.updated = _manager_events_update_cb;
+ ev.deleted = _manager_events_delete_cb;
+ ev.error = _manager_events_error_cb;
+ ev.requested = _manager_events_request_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+}
+ * @endcode
+ */
+int noti_ex_manager_send_error(noti_ex_manager_h handle,
+ noti_ex_event_info_h info, noti_ex_error_e error, int *request_id);
+
+/**
+ * @brief Gets the count of notifications for the manager.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[out] handle The notification manager handle
+ * @param[in] receiver_group The notification group name of manager
+ * @param[in] event_callbacks The callbacks for notification_ex events
+ * @param[in] data The user data for @a event_callbacks
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_manager_h
+ * @see #RECEIVERGROUP_PANEL
+ * @see #RECEIVERGROUP_TICKER
+ * @see #RECEIVERGROUP_LOCKSCREEN
+ * @see #RECEIVERGROUP_INDICATOR
+ * @see #RECEIVERGROUP_POPUP
+ * @par Sample code:
+ * @code
+#include <notification_ex_manager.h>
+
+void _manager_events_error_cb(noti_ex_manager_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_manager_h handle;
+ noti_ex_manager_events_s ev;
+ int cnt;
+
+ ev.error = _manager_events_error_cb;
+ ret = noti_ex_manager_create(&handle, RECEIVERGROUP_PANEL, ev, NULL);
+ ret = noti_ex_manager_get_count(handle, &cnt);
+}
+ * @endcode
+ */
int noti_ex_manager_get_count(noti_ex_manager_h handle, int *cnt);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with progress.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with progress,
+ * notification_ex handle have to be made as progress item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] min The minimun value of progress
+ * @param[in] current The current value of progress
+ * @param[in] max The maximum value of progress
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_progress.h>
+
+{
+ int ret;
+ noti_ex_item_h progress_item = NULL;
+
+ ret = noti_ex_item_progress_create(&progress_item, "progress_id", 0, 50, 100);
+}
+ * @endcode
+ */
int noti_ex_item_progress_create(noti_ex_item_h *handle, const char *id, float min, float current, float max);
+
+/**
+ * @brief Gets the current value of progress
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] current The current value of progress
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_progress_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_progress.h>
+
+{
+ int ret;
+ float current;
+
+ ret = noti_ex_item_progress_get_current(progress_item, ¤t);
+}
+ * @endcode
+ */
int noti_ex_item_progress_get_current(noti_ex_item_h handle, float *current);
+
+/**
+ * @brief Sets the current value of progress
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] current The current value of progress
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_progress_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_progress.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_progress_set_current(progress_item, 70);
+}
+ * @endcode
+ */
int noti_ex_item_progress_set_current(noti_ex_item_h handle, float current);
+
+/**
+ * @brief Gets the minimum value of progress
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] min The minimum value of progress
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_progress_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_progress.h>
+
+{
+ int ret;
+ float min;
+
+ ret = noti_ex_item_progress_get_min(progress_item, &min);
+}
+ * @endcode
+ */
int noti_ex_item_progress_get_min(noti_ex_item_h handle, float *min);
+
+/**
+ * @brief Gets the maximum value of progress
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[out] max The maximum value of progress
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_progress_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_progress.h>
+
+{
+ int ret;
+ float max;
+
+ ret = noti_ex_item_progress_get_max(progress_item, &max);
+}
+ * @endcode
+ */
int noti_ex_item_progress_get_max(noti_ex_item_h handle, float *max);
#ifdef __cplusplus
extern "C" {
#endif
-typedef void (*noti_ex_reporter_events_error_cb)(noti_ex_error_e err, int requestId, void *data);
-typedef void (*noti_ex_reporter_events_event_cb)(noti_ex_event_info_h info, const noti_ex_item_h* items, int cnt, void *data);
-
+/**
+ * @brief The notification_ex reporter handle.
+ * @since_tizen 5.5
+ */
typedef void* noti_ex_reporter_h;
+
+/**
+ * @brief Called when the error event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The reporter handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] error The error type
+ * @param[in] request_id The id of the request that occurred error
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_reporter_h
+ * @see #noti_ex_error_e
+ */
+typedef void (*noti_ex_reporter_events_error_cb)(noti_ex_reporter_h *handle,
+ noti_ex_error_e err, int request_id, void *data);
+
+/**
+ * @brief Called when the notification event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The reporter handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[in] items The target items of event
+ * The @a items can be used only in the callback.
+ * The @a items will be freed right after callback finished.
+ * @param[in] count The count of @a items
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_reporter_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_reporter_events_event_cb)(noti_ex_reporter_h *handle,
+ noti_ex_event_info_h info, const noti_ex_item_h *items, int count,
+ void *data);
+
+/**
+ * @brief Called when the notification request event is receved.
+ * @since_tizen 5.5
+ * @param[in] handle The reporter handle
+ * The @a handle can be used only in the callback.
+ * The @a handle will be freed right after callback finished.
+ * @param[in] info The handle that contains event information
+ * The @a info can be used only in the callback. To use outside, make a copy.
+ * The @a info will be freed right after callback finished.
+ * @param[out] items The item handle to be responded to the requester
+ * @param[out] cnt The count of items which will be responded to the requester.
+ * @param[in] data The user data which was registered with callback
+ * The @a data can be used only in the callback. To use outside, make a copy.
+ * @see #noti_ex_reporter_h
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_item_h
+ * @see #noti_ex_event_info_clone
+ */
+typedef void (*noti_ex_reporter_events_request_cb)(noti_ex_reporter_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h **items, int *cnt,
+ void *data);
+
+/**
+ * @brief The structure type to contain the set of callback functions for handling the notification events.
+ * @since_tizen 5.5
+ *
+ * @see noti_ex_reporter_events_request_cb()
+ * @see noti_ex_reporter_events_event_cb()
+ * @see noti_ex_reporter_events_error_cb()
+ */
+typedef struct {
+ noti_ex_reporter_events_event_cb event;
+ noti_ex_reporter_events_request_cb requested;
+ noti_ex_reporter_events_error_cb error;
+} noti_ex_reporter_events_s;
+
+/**
+ * @brief Creates the notification_ex reporter handle.
+ * @details The reporter handle is created with a events callback and
+ * the user can listen notification events through the events callback.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @remarks @a handle must be released using noti_ex_reporter_destroy().
+ * @param[out] handle The notification reporter handle
+ * @param[in] event_callbacks The callbacks for notification_ex events
+ * @param[in] data The user data for @a event_callbacks
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY Out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_reporter_events_s
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_event_cb(noti_ex_reporter_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h *items, int cnt, void *data) {
+}
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle,
+ noti_ex_error_e error, int req_id, void *data) {
+}
+
+void _reporter_events_request_cb(noti_ex_reporter_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h **items, int *cnt, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+
+ ev.requested = _reporter_events_request_cb;
+ ev.event = _reporter_events_event_cb;
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+}
+ * @endcode
+ */
int noti_ex_reporter_create(noti_ex_reporter_h *handle,
- noti_ex_reporter_events_error_cb err, noti_ex_reporter_events_event_cb ev, void *data);
+ noti_ex_reporter_events_s event_callbacks, void *data);
+
+/**
+ * @brief Destroys the notification_ex reporter handle.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_reporter_destroy(handle);
+}
+ * @endcode
+ */
int noti_ex_reporter_destroy(noti_ex_reporter_h handle);
-int noti_ex_reporter_send_event(noti_ex_reporter_h handle, noti_ex_event_info_h info, noti_ex_item_h noti);
-int noti_ex_reporter_send_error(noti_ex_reporter_h handle, noti_ex_event_info_h info, noti_ex_error_e error);
-int noti_ex_reporter_post(noti_ex_reporter_h handle, noti_ex_item_h noti);
-int noti_ex_reporter_post_list(noti_ex_reporter_h handle, noti_ex_item_h *notiList, int cnt);
-int noti_ex_reporter_update(noti_ex_reporter_h handle, noti_ex_item_h noti);
-int noti_ex_reporter_delete(noti_ex_reporter_h handle, noti_ex_item_h noti);
-int noti_ex_reporter_delete_all(noti_ex_reporter_h handle);
-int noti_ex_reporter_find_by_root_id(noti_ex_reporter_h handle, const char *id, const noti_ex_item_h *item);
+
+/**
+ * @brief Sends error.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[out] handle The notification reporter handle
+ * @param[in] receiver_group The notification group name of reporter
+ * @param[in] info The handle that contains event information
+ * @param[in] error The error type
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_PERMISSION_DENIED Permission deny
+ * @see #noti_ex_event_info_h
+ * @see #noti_ex_manager_events_s
+ * @see #noti_ex_error_e
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_event_cb(noti_ex_reporter_h handle, noti_ex_event_info_h info,
+ noti_ex_item_h *items, int cnt, void *data) {
+
+ // if something wrong about process
+ noti_ex_reporter_send_error(handle, info, NOTI_EX_ERROR_IO_ERROR);
+}
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle,
+ noti_ex_error_e error, int req_id, void *data) {
+}
+
+void _reporter_events_request_cb(noti_ex_reporter_h handle,
+ noti_ex_event_info_h info, noti_ex_item_h **items, int *cnt, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ int request_id;
+
+ ev.requested = _reporter_events_request_cb;
+ ev.event = _reporter_events_event_cb;
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_send_error(noti_ex_reporter_h handle,
+ noti_ex_event_info_h info, noti_ex_error_e error, int *request_id);
+
+/**
+ * @brief Posts notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[in] noti The notification handle to be posted
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+ int request_id;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_item_group_create(&group_item, "group_id");
+ ret = noti_ex_item_button_create(&child_item, "button_id", "button_title");
+ ret = noti_ex_item_group_add_child(group_item, child_item);
+ ret = noti_ex_reporter_post(handle, group_item, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_post(noti_ex_reporter_h handle, noti_ex_item_h noti,
+ int *request_id);
+
+/**
+ * @brief Posts notification list.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[in] noti_list The notification handle list to be posted
+ * @param[in] count The count of notifications in @a noti_list
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+ noti_ex_item_h *noti_list = (noti_ex_item_h *)calloc(2, sizeof(noti_ex_item_h));
+ int request_id;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_item_group_create(¬i_list[0], "group_id1");
+ ret = noti_ex_item_button_create(&child_item, "button_id1", "button_title");
+ ret = noti_ex_item_group_add_child(noti_list[0], child_item);
+
+ ret = noti_ex_item_group_create(¬i_list[1], "group_id2");
+ ret = noti_ex_item_button_create(&child_item, "button_id2", "button_title");
+ ret = noti_ex_item_group_add_child(noti_list[1], child_item);
+
+ ret = noti_ex_reporter_post_list(handle, noti_list, 2, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_post_list(noti_ex_reporter_h handle, noti_ex_item_h *noti_list, int count,
+ int *request_id);
+
+/**
+ * @brief Updates notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[in] noti The notification handle to be updated
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+ int request_id;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_reporter_find_by_root_id(handle, "group_id", &group_item);
+ ret = noti_ex_item_group_set_direction(group_item, false);
+ ret = noti_ex_reporter_update(handle, group_item, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_update(noti_ex_reporter_h handle, noti_ex_item_h noti,
+ int *request_id);
+
+/**
+ * @brief Deletes notification.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[in] noti The notification handle to be updated
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+ int request_id;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_reporter_find_by_root_id(handle, "group_id", &group_item);
+ ret = noti_ex_reporter_delete(handle, group_item, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_delete(noti_ex_reporter_h handle, noti_ex_item_h noti,
+ int *request_id);
+
+/**
+ * @brief Deletes all notifications.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[out] request_id The id of request
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+ int request_id;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_reporter_delete_all(handle, &request_id);
+}
+ * @endcode
+ */
+int noti_ex_reporter_delete_all(noti_ex_reporter_h handle,
+ int *request_id);
+
+/**
+ * @brief Finds notification by root id.
+ * @since_tizen 5.5
+ * @privlevel public
+ * @param[in] handle The notification reporter handle
+ * @param[in] root_id The id of the foremost notification item to be retrived
+ * @param[out] item The result of the find operation
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_reporter_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_reporter.h>
+
+void _reporter_events_error_cb(noti_ex_reporter_h handle, noti_ex_error_e error,
+ int req_id, void *data) {
+}
+
+{
+ int ret;
+ noti_ex_reporter_h handle;
+ noti_ex_reporter_events_s ev;
+ noti_ex_item_h group_item = NULL;
+ noti_ex_item_h child_item = NULL;
+
+ ev.error = _reporter_events_error_cb;
+ ret = noti_ex_reporter_create(&handle, ev, NULL);
+ ret = noti_ex_reporter_find_by_root_id(handle, "group_id", &group_item);
+ ret = noti_ex_reporter_delete(handle, group_item);
+}
+ * @endcode
+ */
+int noti_ex_reporter_find_by_root_id(noti_ex_reporter_h handle, const char *root_id,
+ noti_ex_item_h *item);
#ifdef __cplusplus
}
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with text.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with text,
+ * notification_ex handle have to be made as text item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] text The text of text item
+ * @param[in] hyper_link The hyperlink of text item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_text.h>
+
+{
+ int ret;
+ noti_ex_item_h text_item = NULL;
+
+ ret = noti_ex_item_text_create(&text_item, "text_id", "text", "hyperlink");
+}
+ * @endcode
+ */
int noti_ex_item_text_create(noti_ex_item_h *handle, const char *id, const char *text, const char *hyper_link);
+
+/**
+ * @brief Sets the text contents of text item
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex item handle
+ * @param[in] contents The text contents of text item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_text_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_text.h>
+
+{
+ int ret;
+
+ ret = noti_ex_item_text_set_contents(text_item, "text_contents");
+}
+ * @endcode
+ */
int noti_ex_item_text_set_contents(noti_ex_item_h handle, const char *contents);
+
+/**
+ * @brief Gets the text contents of text item
+ * @since_tizen 5.5
+ * @remarks @a contents must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] contents The text contents of text item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_text_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_text.h>
+
+{
+ int ret;
+ char *contents = NULL;
+
+ ret = noti_ex_item_text_get_contents(text_item, &contents);
+}
+ * @endcode
+ */
int noti_ex_item_text_get_contents(noti_ex_item_h handle, char **contents);
+
+/**
+ * @brief Gets the hyperlink of text item
+ * @since_tizen 5.5
+ * @remarks @a hyper_link must be released using free().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] hyper_link The hyperlink of text item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_text_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_text.h>
+
+{
+ int ret;
+ char *hyper_link = NULL;
+
+ ret = noti_ex_item_text_get_hyper_link(text_item, &hyper_link);
+}
+ * @endcode
+ */
int noti_ex_item_text_get_hyper_link(noti_ex_item_h handle, char **hyper_link);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex item handle with time.
+ * @details The notification_ex is made with notification_ex items.
+ * If the user wants to be displayed with time,
+ * notification_ex handle have to be made as time item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[out] handle The notification_ex item handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] time The time information
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_time.h>
+
+{
+ int ret;
+ noti_ex_item_h time_item = NULL;
+ time_t time;
+ time(&time);
+
+ ret = noti_ex_item_time_create(&time_item, "time_id", time);
+}
+ * @endcode
+ */
int noti_ex_item_time_create(noti_ex_item_h *handle, const char *id, time_t time);
+
+/**
+ * @brief Gets the time information of time item.
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_item_destroy().
+ * @param[in] handle The notification_ex item handle
+ * @param[out] time The time information of time item
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_item_h
+ * @see #noti_ex_item_time_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_time.h>
+
+{
+ int ret;
+ time_t time;
+
+ ret = noti_ex_item_time_get_time(time_item, &time);
+}
+ * @endcode
+ */
int noti_ex_item_time_get_time(noti_ex_item_h handle, time_t *time);
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @brief Creates the notification_ex action handle to control visibility.
+ * @details The notification_ex can define the action with noti_ex_action_h.
+ * If it is necessary to control visibility of notification_ex item,
+ * notification_ex action handle have to be made as visibility action. .
+ * @since_tizen 5.5
+ * @remarks @a handle must be released using noti_ex_action_destroy().
+ * @param[out] handle The notification_ex action handle
+ * @param[in] extra The extra data
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #NOTI_EX_ERROR_OUT_OF_MEMORY out of memory
+ * @see #noti_ex_action_h
+ * @see #noti_ex_action_destroy
+ * @par Sample code:
+ * @code
+#include <notification_ex_visibility_action.h>
+
+{
+ int ret;
+ noti_ex_action_h visibility_action = NULL;
+
+ ret = noti_ex_action_visibility_create(&visibility_action, NULL);
+}
+ * @endcode
+ */
int noti_ex_action_visibility_create(noti_ex_action_h *handle, const char *extra);
+
+/**
+ * @brief Sets the visible state for notification_ex item.
+ * @since_tizen 5.5
+ * @param[in] handle The notification_ex action handle
+ * @param[in] id The id of notification_ex item
+ * @param[in] visible The visible state
+ * @return #NOTI_EX_ERROR_NONE On success, other value on failure
+ * @retval #NOTI_EX_ERROR_NONE Success
+ * @retval #NOTI_EX_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see #noti_ex_action_h
+ * @see #noti_ex_action_visibility_create
+ * @par Sample code:
+ * @code
+#include <notification_ex_visibility_action.h>
+
+{
+ int ret;
+
+ ret = noti_ex_action_visibility_set(&visibility_action, "item_id", true);
+}
+ * @endcode
+ */
int noti_ex_action_visibility_set(noti_ex_action_h handle, const char *id, bool visible);
#ifdef __cplusplus
#include "notification-ex/checkbox_item.h"
#include "notification-ex/entry_item.h"
#include "notification-ex/group_item.h"
+#include "notification-ex/input_selector_item.h"
+#include "notification-ex/abstract_item.h"
+#include "notification-ex/progress_item.h"
+#include "notification-ex/time_item.h"
+#include "notification-ex/visibility_action.h"
#ifdef LOG_TAG
#undef LOG_TAG
noti_ex_item_h *handle, const char *id, noti_ex_item_h name,
noti_ex_item_h text, noti_ex_item_h image, noti_ex_item_h time,
noti_ex_item_chat_message_type_e message_type) {
-// To do
-#if 0
- ChatMessageItem* p;
-
- if (handle == nullptr || message_type < NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_USER
- || message_type > NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_SENDER) {
+ if (handle == nullptr || message_type > NOTI_EX_ITEM_CHAT_MESSAGE_TYPE_SENDER) {
LOGE("Invalid parameter");
return NOTI_EX_ERROR_INVALID_PARAMETER;
}
- p = new (std::nothrow) ChatMessageItem(id,
- static_cast<TextItem*>(name),
- static_cast<TextItem*>(text),
- static_cast<ImageItem*>(image),
- static_cast<TimeItem*>(time),
+ TextItem* name_ = static_cast<TextItem*>(name);
+ TextItem* text_ = static_cast<TextItem*>(text);
+ ImageItem* image_ = static_cast<ImageItem*>(image);
+ TimeItem* time_ = static_cast<TimeItem*>(time);
+
+ auto* p = new (std::nothrow) ChatMessageItem(id,
+ static_cast<std::shared_ptr<TextItem>>(name_),
+ static_cast<std::shared_ptr<TextItem>>(text_),
+ static_cast<std::shared_ptr<ImageItem>>(image_),
+ static_cast<std::shared_ptr<TimeItem>>(time_),
static_cast<ChatMessageItem::Type>((int)message_type));
if (p == nullptr) {
LOGE("Out-of-memory");
*handle = p;
return NOTI_EX_ERROR_NONE;
-#else
- return NOTI_EX_ERROR_NONE;
-#endif
}
extern "C" EXPORT_API int noti_ex_item_chat_message_get_name(
return NOTI_EX_ERROR_INVALID_PARAMETER;
}
- // To do
- //ChatMessageItem* p = static_cast<ChatMessageItem*>(handle);
- //*message_type = p->GetMessageType();
+ ChatMessageItem* p = static_cast<ChatMessageItem*>(handle);
+ *message_type = (noti_ex_item_chat_message_type_e)(p->GetMessageType());
return NOTI_EX_ERROR_NONE;
}
return NOTI_EX_ERROR_INVALID_PARAMETER;
}
- // To do
- //GroupItem* p = static_cast<GroupItem*>(handle);
- //p->AddChild(static_cast<AbstractItem*>(child));
+ GroupItem* p = static_cast<GroupItem*>(handle);
+
+ AbstractItem* child_ = static_cast<AbstractItem*>(child);
+ p->AddChild(static_cast<std::shared_ptr<AbstractItem>>(child_));
return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_group_foreach(
noti_ex_item_group_foreach_cb callback, void *data) {
+ if (callback == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ // To do
+
return 0;
}
extern "C" EXPORT_API int noti_ex_item_input_selector_create(
noti_ex_item_h *handle, const char *id) {
- return 0;
+ InputSelectorItem* p;
+
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ if (id)
+ p = new (std::nothrow) InputSelectorItem(id);
+ else
+ p = new (std::nothrow) InputSelectorItem();
+
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_input_selector_get_contents(
noti_ex_item_h handle, char ***list, int *count) {
- return 0;
+ if (handle == nullptr || list == nullptr || count == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ // To do
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_input_selector_set_contents(
noti_ex_item_h handle, const char **contents, int count) {
- return 0;
+ if (handle == nullptr || contents == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ // To do
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_create(noti_ex_color_h *handle,
unsigned char a, unsigned char r, unsigned char g, unsigned char b) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ auto* p = new (std::nothrow) Color(a, r, g, b);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_destroy(noti_ex_color_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* p = static_cast<Color*>(handle);
+ p->~Color();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_get_alpha(noti_ex_color_h handle,
unsigned char *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* p = static_cast<Color*>(handle);
+ *val = p->GetAVal();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_get_red(noti_ex_color_h handle,
unsigned char *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* p = static_cast<Color*>(handle);
+ *val = p->GetRVal();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_get_green(noti_ex_color_h handle,
unsigned char *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* p = static_cast<Color*>(handle);
+ *val = p->GetGVal();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_color_get_blue(noti_ex_color_h handle,
unsigned char *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* p = static_cast<Color*>(handle);
+ *val = p->GetBVal();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_padding_create(noti_ex_padding_h *handle,
int left, int top, int right, int bottom) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ auto* p = new (std::nothrow) Padding(left, top, right, bottom);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_padding_destroy(noti_ex_padding_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Padding* p = static_cast<Padding*>(handle);
+ p->~Padding();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_padding_get_left(noti_ex_padding_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Padding* p = static_cast<Padding*>(handle);
+ *val = p->GetLeft();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_padding_get_top(noti_ex_padding_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Padding* p = static_cast<Padding*>(handle);
+ *val = p->GetTop();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_padding_get_right(noti_ex_padding_h handle,
int *val) {
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Padding* p = static_cast<Padding*>(handle);
+ *val = p->GetRight();
+
return 0;
}
extern "C" EXPORT_API int noti_ex_padding_get_bottom(noti_ex_padding_h handle,
int *val) {
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Padding* p = static_cast<Padding*>(handle);
+ *val = p->GetBottom();
+
return 0;
}
extern "C" EXPORT_API int noti_ex_geometry_create(noti_ex_geometry_h *handle,
int x, int y, int w, int h) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ auto* p = new (std::nothrow) Geometry(x, y, w, h);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_geometry_destroy(noti_ex_geometry_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Geometry* p = static_cast<Geometry*>(handle);
+ p->~Geometry();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_geometry_get_x(noti_ex_geometry_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Geometry* p = static_cast<Geometry*>(handle);
+ *val = p->GetX();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_geometry_get_y(noti_ex_geometry_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Geometry* p = static_cast<Geometry*>(handle);
+ *val = p->GetY();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_geometry_get_width(noti_ex_geometry_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Geometry* p = static_cast<Geometry*>(handle);
+ *val = p->GetWidth();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_geometry_get_height(noti_ex_geometry_h handle,
int *val) {
- return 0;
+ if (handle == nullptr || val == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Geometry* p = static_cast<Geometry*>(handle);
+ *val = p->GetHeight();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_style_create(noti_ex_style_h *handle,
noti_ex_color_h color,
noti_ex_padding_h padding,
noti_ex_geometry_h geometry) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* color_ = static_cast<Color*>(color);
+ Padding* padding_ = static_cast<Padding*>(padding);
+ Geometry* geo_ = static_cast<Geometry*>(geometry);
+
+ auto* p = new (std::nothrow) Style(*color_, *padding_, *geo_);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_style_destroy(noti_ex_style_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Style* p = static_cast<Style*>(handle);
+ p->~Style();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_style_get_padding(noti_ex_style_h handle,
- const noti_ex_padding_h *padding) {
- return 0;
+ noti_ex_padding_h *padding) {
+ if (handle == nullptr || padding == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Style* p = static_cast<Style*>(handle);
+ Padding* padding_ = new (std::nothrow) Padding(p->GetPadding());
+ if (padding_ == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *padding = padding_;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_style_get_color(noti_ex_style_h handle,
- const noti_ex_color_h *color) {
- return 0;
+ noti_ex_color_h *color) {
+ if (handle == nullptr || color == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Style* p = static_cast<Style*>(handle);
+ Color* color_ = new (std::nothrow) Color(p->GetColor());
+ if (color_ == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *color = color_;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_style_get_geometry(noti_ex_style_h handle,
- const noti_ex_geometry_h *geometry) {
- return 0;
+ noti_ex_geometry_h *geometry) {
+ if (handle == nullptr || geometry == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Style* p = static_cast<Style*>(handle);
+ Geometry* geo_ = new (std::nothrow) Geometry(p->GetGeometry());
+ if (geo_ == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *geometry = geo_;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_create(noti_ex_led_info_h *handle,
noti_ex_color_h color) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ Color* color_ = static_cast<Color*>(color);
+ auto* p = new (std::nothrow) LEDInfo(*color_);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_destroy(noti_ex_led_info_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ p->~LEDInfo();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_set_on_period(
noti_ex_led_info_h handle, int ms) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ p->SetOnPeriod(ms);
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_get_on_period(
noti_ex_led_info_h handle, int *ms) {
- return 0;
+ if (handle == nullptr || ms == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ *ms = p->GetOnPeriod();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_set_off_period(
noti_ex_led_info_h handle, int ms) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ p->SetOffPeriod(ms);
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_get_off_period(
noti_ex_led_info_h handle, int *ms) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ *ms = p->GetOffPeriod();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_led_info_get_color(
noti_ex_led_info_h handle, noti_ex_color_h *color) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ LEDInfo* p = static_cast<LEDInfo*>(handle);
+ Color* color_ = new (std::nothrow) Color(p->GetColor());
+ if (color_ == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *color = color_;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_destroy(noti_ex_action_h handle) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ AbstractAction* p = static_cast<AbstractAction*>(handle);
+ p->~AbstractAction();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_get_type(noti_ex_action_h handle,
int *type) {
- return 0;
+ if (handle == nullptr || type == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ AbstractAction* p = static_cast<AbstractAction*>(handle);
+ *type = p->GetType();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_is_local(noti_ex_action_h handle,
bool *local) {
- return 0;
+ if (handle == nullptr || local == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ AbstractAction* p = static_cast<AbstractAction*>(handle);
+ *local = p->IsLocal();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_execute(noti_ex_action_h handle,
noti_ex_item_h item) {
- return 0;
+ if (handle == nullptr || item==nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ AbstractAction* p = static_cast<AbstractAction*>(handle);
+ AbstractItem* item_ = static_cast<AbstractItem*>(item);
+ p->Execute(static_cast<std::shared_ptr<AbstractItem>>(item_));
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_get_extra(noti_ex_action_h handle,
char **extra) {
- return 0;
+ if (handle == nullptr || extra == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ AbstractAction* p = static_cast<AbstractAction*>(handle);
+ if (!p->GetExtra().empty()) {
+ *extra = strdup(p->GetExtra().c_str());
+ if (*extra == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+ }
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_info_get_hide_time(
}
extern "C" EXPORT_API int noti_ex_item_find_by_id(noti_ex_item_h handle,
- const char *id, const noti_ex_item_h *item) {
+ const char *id, noti_ex_item_h *item) {
return 0;
}
}
extern "C" EXPORT_API int noti_ex_manager_create(noti_ex_manager_h *handle,
- const char *receiver_group, noti_ex_manager_events_s ev, void *data) {
+ const char *receiver_group, noti_ex_manager_events_s event_callbacks,
+ void *data) {
return 0;
}
}
extern "C" EXPORT_API int noti_ex_manager_get(noti_ex_manager_h handle,
- noti_ex_item_h *items, int *cnt) {
+ noti_ex_item_h **items, int *count) {
return 0;
}
extern "C" EXPORT_API int noti_ex_manager_update(noti_ex_manager_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_manager_delete(noti_ex_manager_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
-extern "C" EXPORT_API int noti_ex_manager_delete_all(noti_ex_manager_h handle) {
+extern "C" EXPORT_API int noti_ex_manager_delete_all(noti_ex_manager_h handle,
+ int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_manager_hide(noti_ex_manager_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_manager_find_by_root_id(
- noti_ex_manager_h handle, const char *id, noti_ex_item_h *item) {
- return 0;
-}
-
-extern "C" EXPORT_API int noti_ex_manager_send_event(noti_ex_manager_h handle,
- noti_ex_event_info_h info, noti_ex_item_h noti) {
+ noti_ex_manager_h handle, const char *root_id, noti_ex_item_h *item) {
return 0;
}
extern "C" EXPORT_API int noti_ex_manager_send_error(noti_ex_manager_h handle,
- noti_ex_event_info_h info, noti_ex_error_e error) {
+ noti_ex_event_info_h info, noti_ex_error_e error, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_item_progress_create(noti_ex_item_h *handle,
const char *id, float min, float current, float max) {
- return 0;
+ ProgressItem* p;
+
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ if (id)
+ p = new (std::nothrow) ProgressItem(id, min, current, max);
+ else
+ p = new (std::nothrow) ProgressItem(min, current, max);
+
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_progress_get_current(
noti_ex_item_h handle, float *current) {
- return 0;
+ if (handle == nullptr || current == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ ProgressItem* p = static_cast<ProgressItem*>(handle);
+ *current = p->GetCurrent();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_progress_set_current(
noti_ex_item_h handle, float current) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ ProgressItem* p = static_cast<ProgressItem*>(handle);
+ p->SetCurrent(current);
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_progress_get_min(noti_ex_item_h handle,
float *min) {
- return 0;
+ if (handle == nullptr || min == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ ProgressItem* p = static_cast<ProgressItem*>(handle);
+ *min = p->GetMin();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_progress_get_max(noti_ex_item_h handle,
float *max) {
- return 0;
+ if (handle == nullptr || max == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ ProgressItem* p = static_cast<ProgressItem*>(handle);
+ *max = p->GetMax();
+
+ return NOTI_EX_ERROR_NONE;
}
-extern "C" EXPORT_API int noti_ex_reporter_send_event(noti_ex_reporter_h handle,
- noti_ex_event_info_h info, noti_ex_item_h noti) {
- return 0;
+extern "C" EXPORT_API int noti_ex_reporter_create(noti_ex_reporter_h *handle,
+ noti_ex_reporter_events_s event_callbacks, void *data) {
+ return NOTI_EX_ERROR_NONE;
+}
+
+extern "C" EXPORT_API int noti_ex_reporter_destroy(noti_ex_reporter_h handle) {
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_reporter_send_error(noti_ex_reporter_h handle,
- noti_ex_event_info_h info, noti_ex_error_e error) {
+ noti_ex_event_info_h info, noti_ex_error_e error, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_post(noti_ex_reporter_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_post_list(noti_ex_reporter_h handle,
- noti_ex_item_h *notiList, int cnt) {
+ noti_ex_item_h *noti_list, int count, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_update(noti_ex_reporter_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_delete(noti_ex_reporter_h handle,
- noti_ex_item_h noti) {
+ noti_ex_item_h noti, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_delete_all(
- noti_ex_reporter_h handle) {
+ noti_ex_reporter_h handle, int *request_id) {
return 0;
}
extern "C" EXPORT_API int noti_ex_reporter_find_by_root_id(
- noti_ex_reporter_h handle, const char *id, const noti_ex_item_h *item) {
+ noti_ex_reporter_h handle, const char *root_id, noti_ex_item_h *item) {
return 0;
}
extern "C" EXPORT_API int noti_ex_item_text_create(noti_ex_item_h *handle,
const char *id, const char *text, const char *hyper_link) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ auto* p = new (std::nothrow) TextItem(id, std::string(text),
+ std::string(hyper_link));
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_text_set_contents(noti_ex_item_h handle,
const char *contents) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ TextItem* p = static_cast<TextItem*>(handle);
+ p->SetContents(std::string(contents));
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_text_get_contents(noti_ex_item_h handle,
char **contents) {
- return 0;
+ if (handle == nullptr || contents == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ TextItem* p = static_cast<TextItem*>(handle);
+ if (!p->GetContents().empty()) {
+ *contents = strdup(p->GetContents().c_str());
+ if (*contents == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+ }
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_text_get_hyper_link(
noti_ex_item_h handle, char **hyper_link) {
- return 0;
+ if (handle == nullptr || hyper_link == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ TextItem* p = static_cast<TextItem*>(handle);
+ if (!p->GetHyperLink().empty()) {
+ *hyper_link = strdup(p->GetHyperLink().c_str());
+ if (*hyper_link == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+ }
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_time_create(noti_ex_item_h *handle,
const char *id, time_t time) {
- return 0;
+ TimeItem* p;
+
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ if (time) {
+ if (id)
+ p = new (std::nothrow) TimeItem(id, time);
+ else
+ p = new (std::nothrow) TimeItem(time);
+ } else {
+ p = new (std::nothrow) TimeItem();
+ }
+
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_item_time_get_time(noti_ex_item_h handle,
time_t *time) {
- return 0;
+ if (handle == nullptr || time == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ TimeItem*p = static_cast<TimeItem*>(handle);
+ *time = p->GetTime();
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_visibility_create(
noti_ex_action_h *handle, const char *extra) {
- return 0;
+ if (handle == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ auto* p = new (std::nothrow) VisibilityAction(extra);
+ if (p == nullptr) {
+ LOGE("Out-of-memory");
+ return NOTI_EX_ERROR_OUT_OF_MEMORY;
+ }
+
+ *handle = p;
+
+ return NOTI_EX_ERROR_NONE;
}
extern "C" EXPORT_API int noti_ex_action_visibility_set(noti_ex_action_h handle,
const char *id, bool visible) {
+ if (handle == nullptr || id == nullptr) {
+ LOGE("Invalid parameter");
+ return NOTI_EX_ERROR_INVALID_PARAMETER;
+ }
+
+ VisibilityAction* p = static_cast<VisibilityAction*>(handle);
+ p->SetVisibility(id, visible);
+
return 0;
}