From: mk5004.lee Date: Thu, 4 Apr 2019 09:38:25 +0000 (+0900) Subject: Update behaivor of some func in stub.cc X-Git-Tag: submit/tizen/20190410.085238~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0d313ba27d87cd1b430c6e162645be351f35bc93;p=platform%2Fcore%2Fapi%2Fnotification.git Update behaivor of some func in stub.cc Change-Id: I14c1ee8c3b3c6fad1346d7923713c91ba0c3aef8 Signed-off-by: mk5004.lee Signed-off-by: hyunho --- diff --git a/notification-ex/api/notification_ex_app_control_action.h b/notification-ex/api/notification_ex_app_control_action.h index fb5bd0a0..cb15b3c8 100644 --- a/notification-ex/api/notification_ex_app_control_action.h +++ b/notification-ex/api/notification_ex_app_control_action.h @@ -24,8 +24,89 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_button.h b/notification-ex/api/notification_ex_button.h index c3a196a2..c9fb7354 100644 --- a/notification-ex/api/notification_ex_button.h +++ b/notification-ex/api/notification_ex_button.h @@ -23,7 +23,59 @@ 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_chat_message.h b/notification-ex/api/notification_ex_chat_message.h index aba178b9..cfb9f916 100644 --- a/notification-ex/api/notification_ex_chat_message.h +++ b/notification-ex/api/notification_ex_chat_message.h @@ -23,18 +23,195 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_checkbox.h b/notification-ex/api/notification_ex_checkbox.h index e7a767ea..fb617ab9 100644 --- a/notification-ex/api/notification_ex_checkbox.h +++ b/notification-ex/api/notification_ex_checkbox.h @@ -23,8 +23,84 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_entry.h b/notification-ex/api/notification_ex_entry.h index aab27deb..ee57b162 100644 --- a/notification-ex/api/notification_ex_entry.h +++ b/notification-ex/api/notification_ex_entry.h @@ -23,8 +23,81 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_event_info.h b/notification-ex/api/notification_ex_event_info.h index 04776149..6156d3ca 100644 --- a/notification-ex/api/notification_ex_event_info.h +++ b/notification-ex/api/notification_ex_event_info.h @@ -21,24 +21,145 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_group.h b/notification-ex/api/notification_ex_group.h index e7baea3b..cfe6d98a 100644 --- a/notification-ex/api/notification_ex_group.h +++ b/notification-ex/api/notification_ex_group.h @@ -23,14 +23,195 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_image.h b/notification-ex/api/notification_ex_image.h index 1aae9e17..e3c6799e 100644 --- a/notification-ex/api/notification_ex_image.h +++ b/notification-ex/api/notification_ex_image.h @@ -23,7 +23,59 @@ 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_input_selector.h b/notification-ex/api/notification_ex_input_selector.h index 4cf3f3f4..4541d498 100644 --- a/notification-ex/api/notification_ex_input_selector.h +++ b/notification-ex/api/notification_ex_input_selector.h @@ -23,8 +23,84 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_item.h b/notification-ex/api/notification_ex_item.h index 2b00aa1d..edd716d6 100644 --- a/notification-ex/api/notification_ex_item.h +++ b/notification-ex/api/notification_ex_item.h @@ -23,131 +23,1867 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_manager.h b/notification-ex/api/notification_ex_manager.h index a79d70e4..8a072539 100644 --- a/notification-ex/api/notification_ex_manager.h +++ b/notification-ex/api/notification_ex_manager.h @@ -25,12 +25,129 @@ 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; @@ -39,18 +156,456 @@ typedef struct { 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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 diff --git a/notification-ex/api/notification_ex_progress.h b/notification-ex/api/notification_ex_progress.h index 527db3c9..9c8cc3b8 100644 --- a/notification-ex/api/notification_ex_progress.h +++ b/notification-ex/api/notification_ex_progress.h @@ -23,10 +23,131 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_reporter.h b/notification-ex/api/notification_ex_reporter.h index a72e1e3c..53bc3e29 100644 --- a/notification-ex/api/notification_ex_reporter.h +++ b/notification-ex/api/notification_ex_reporter.h @@ -25,22 +25,450 @@ 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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 } diff --git a/notification-ex/api/notification_ex_text.h b/notification-ex/api/notification_ex_text.h index cc7ce9ca..8dba0595 100644 --- a/notification-ex/api/notification_ex_text.h +++ b/notification-ex/api/notification_ex_text.h @@ -23,9 +23,108 @@ 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 + +{ + 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 + +{ + 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_time.h b/notification-ex/api/notification_ex_time.h index 16a1aaf8..190b5dff 100644 --- a/notification-ex/api/notification_ex_time.h +++ b/notification-ex/api/notification_ex_time.h @@ -23,7 +23,61 @@ 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/api/notification_ex_visibility_action.h b/notification-ex/api/notification_ex_visibility_action.h index 2170faf8..985fa903 100644 --- a/notification-ex/api/notification_ex_visibility_action.h +++ b/notification-ex/api/notification_ex_visibility_action.h @@ -24,7 +24,57 @@ 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 + +{ + 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 + +{ + 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 diff --git a/notification-ex/stub.cc b/notification-ex/stub.cc index 2ee37715..79885753 100644 --- a/notification-ex/stub.cc +++ b/notification-ex/stub.cc @@ -43,6 +43,11 @@ #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 @@ -149,21 +154,21 @@ extern "C" EXPORT_API 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) { -// 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(name), - static_cast(text), - static_cast(image), - static_cast(time), + TextItem* name_ = static_cast(name); + TextItem* text_ = static_cast(text); + ImageItem* image_ = static_cast(image); + TimeItem* time_ = static_cast(time); + + auto* p = new (std::nothrow) ChatMessageItem(id, + static_cast>(name_), + static_cast>(text_), + static_cast>(image_), + static_cast>(time_), static_cast((int)message_type)); if (p == nullptr) { LOGE("Out-of-memory"); @@ -173,9 +178,6 @@ extern "C" EXPORT_API int noti_ex_item_chat_message_create( *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( @@ -237,9 +239,8 @@ extern "C" EXPORT_API int noti_ex_item_chat_message_get_message_type( return NOTI_EX_ERROR_INVALID_PARAMETER; } - // To do - //ChatMessageItem* p = static_cast(handle); - //*message_type = p->GetMessageType(); + ChatMessageItem* p = static_cast(handle); + *message_type = (noti_ex_item_chat_message_type_e)(p->GetMessageType()); return NOTI_EX_ERROR_NONE; } @@ -460,9 +461,10 @@ extern "C" EXPORT_API int noti_ex_item_group_add_child(noti_ex_item_h handle, return NOTI_EX_ERROR_INVALID_PARAMETER; } - // To do - //GroupItem* p = static_cast(handle); - //p->AddChild(static_cast(child)); + GroupItem* p = static_cast(handle); + + AbstractItem* child_ = static_cast(child); + p->AddChild(static_cast>(child_)); return NOTI_EX_ERROR_NONE; } @@ -482,6 +484,13 @@ extern "C" EXPORT_API int noti_ex_item_group_remove_child(noti_ex_item_h handle, 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; } @@ -530,188 +539,562 @@ extern "C" EXPORT_API int noti_ex_item_image_get_image_path( 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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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); + Padding* padding_ = static_cast(padding); + Geometry* geo_ = static_cast(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(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(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(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(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); + 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(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(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(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(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(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(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(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(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(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(handle); + AbstractItem* item_ = static_cast(item); + p->Execute(static_cast>(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(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( @@ -744,7 +1127,7 @@ extern "C" EXPORT_API int noti_ex_item_destroy(noti_ex_item_h handle) { } 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; } @@ -899,7 +1282,8 @@ extern "C" EXPORT_API int noti_ex_item_set_tag(noti_ex_item_h handle, } 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; } @@ -908,41 +1292,37 @@ extern "C" EXPORT_API int noti_ex_manager_deatroy(noti_ex_manager_h handle) { } 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; } @@ -953,105 +1333,262 @@ extern "C" EXPORT_API int noti_ex_manager_get_count(noti_ex_manager_h handle, 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(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(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(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(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(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(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(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(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(handle); + p->SetVisibility(id, visible); + return 0; }