Update behaivor of some func in stub.cc 98/202798/7
authormk5004.lee <mk5004.lee@samsung.com>
Thu, 4 Apr 2019 09:38:25 +0000 (18:38 +0900)
committermk5004.lee <mk5004.lee@samsung.com>
Fri, 5 Apr 2019 06:41:54 +0000 (15:41 +0900)
Change-Id: I14c1ee8c3b3c6fad1346d7923713c91ba0c3aef8
Signed-off-by: mk5004.lee <mk5004.lee@samsung.com>
Signed-off-by: hyunho <hhstark.kang@samsung.com>
17 files changed:
notification-ex/api/notification_ex_app_control_action.h
notification-ex/api/notification_ex_button.h
notification-ex/api/notification_ex_chat_message.h
notification-ex/api/notification_ex_checkbox.h
notification-ex/api/notification_ex_entry.h
notification-ex/api/notification_ex_event_info.h
notification-ex/api/notification_ex_group.h
notification-ex/api/notification_ex_image.h
notification-ex/api/notification_ex_input_selector.h
notification-ex/api/notification_ex_item.h
notification-ex/api/notification_ex_manager.h
notification-ex/api/notification_ex_progress.h
notification-ex/api/notification_ex_reporter.h
notification-ex/api/notification_ex_text.h
notification-ex/api/notification_ex_time.h
notification-ex/api/notification_ex_visibility_action.h
notification-ex/stub.cc

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