tizen 2.3.1 release
[framework/api/messages.git] / include / messages.h
index 09e7a96..1256974 100644 (file)
@@ -11,7 +11,7 @@
  * distributed under the License is distributed on an AS IS BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License. 
+ * limitations under the License.
  */
 
 #ifndef __TIZEN_MESSAGING_H__
@@ -40,17 +40,25 @@ extern "C"
 
 
 /**
- * @brief Opens a handle for messaging service.
+ * @brief Opens a handle for the messaging service.
  *
- * @remark @a service must be released with messages_close_service() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @remarks You must release @a service using messages_close_service().
  *
  * @param[out] service The message service handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_SERVER_NOT_READY Server is not read
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE                             Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER                Invalid parameter
+ * @retval #MESSAGES_ERROR_SERVER_NOT_READY                 Server is not read
  * @retval #MESSAGES_ERROR_COMMUNICATION_WITH_SERVER_FAILED Communication with server failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED                The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED                    Not supported
  *
  * @see        messages_close_service()
  */
@@ -58,14 +66,22 @@ int messages_open_service(messages_service_h *service);
 
 
 /**
- * @brief Closes a handle for messaging service.
+ * @brief Closes a handle for the messaging service.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
  *
  * @param[in] service The message service handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @return @c 0 on success,
+ *        otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE                             Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER                Invalid parameter
  * @retval #MESSAGES_ERROR_COMMUNICATION_WITH_SERVER_FAILED Communication with server failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED                The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED                    Not supported
  *
  * @see        messages_open_service()
  */
@@ -75,16 +91,21 @@ int messages_close_service(messages_service_h service);
 /**
  * @brief Creates a message handle.
  *
- * @remark @a msg must be released with messages_destroy_message() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] type A message type (MESSAGES_TYPE_SMS or MESSAGES_TYPE_MMS) \n
- *                                If @a type is #MESSAGES_TYPE_UNKNOWN, #MESSAGES_ERROR_INVALID_PARAMETER occurs.
- * @param[out] msg A message handle to be newly created if successful
+ * @remarks You must release @a msg using messages_destroy_message().
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @param[in] type  The message type (#MESSAGES_TYPE_SMS or #MESSAGES_TYPE_MMS) \n
+ *                  If @a type is #MESSAGES_TYPE_UNKNOWN, #MESSAGES_ERROR_INVALID_PARAMETER occurs.
+ * @param[out] msg  The message handle that is newly created if successful
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see        messages_destroy_message()
  */
@@ -92,54 +113,117 @@ int messages_create_message(messages_message_type_e type, messages_message_h *ms
 
 
 /**
- * @brief Destroys a message handle and release all its resources.
+ * @brief Destroys a message handle and releases all its resources.
  *
- * @param[in] msg A message handle to destroy
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in] msg The message handle to destroy
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_create_message()
  */
 int messages_destroy_message(messages_message_h msg);
 
 /**
- * @brief Gets the message id of the message.
+ * @brief Gets the message ID of the message.
  *
- * @param[in] msg The message handle
- * @param[out] msg_id The message id
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @param[in]  msg     The message handle
+ * @param[out] msg_id  The message ID
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED   Messaging operation failed
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see messages_search_message_by_id()
  */
 int messages_get_message_id(messages_message_h msg, int *msg_id);
 
+
+/**
+ * @brief Sets the SIM ID of the sending message.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in]  msg     The message handle
+ * @param[in]  sim_id  The SIM id to send message
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED   Messaging operation failed
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
+ *
+ * @see messages_get_sim_id()
+ */
+int messages_set_sim_id(messages_message_h msg, int sim_id);
+
+
+/**
+ * @brief Gets the SIM ID of the message.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in]  msg     The message handle
+ * @param[out] sim_id  The SIM id of message
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED   Messaging operation failed
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
+ *
+ * @see messages_set_sim_id()
+ */
+int messages_get_sim_id(messages_message_h msg, int *sim_id);
+
+
 /**
  * @brief Gets the message box type of the message.
  *
- * @param[in] msg The message handle
- * @param[out] mbox The message box type
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in]  msg   The message handle
+ * @param[out] mbox  The message box type
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  */
 int messages_get_mbox_type(messages_message_h msg, messages_message_box_e *mbox);
 
 /**
  * @brief Gets the destination port of the message.
  *
- * @param[in] msg The message handle
- * @param[out] port The destination port of the message
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in]  msg   The message handle
+ * @param[out] port  The destination port of the message
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see messages_add_sms_listening_port()
  */
@@ -148,12 +232,17 @@ int messages_get_message_port(messages_message_h msg, int *port);
 /**
  * @brief Gets the type of the message.
  *
- * @param[in] msg The message handle
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in]  msg  The message handle
  * @param[out] type The message type
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  */
 int messages_get_message_type(messages_message_h msg, messages_message_type_e *type);
 
@@ -162,14 +251,19 @@ int messages_get_message_type(messages_message_h msg, messages_message_type_e *t
  * @brief Adds an recipient's address(phone number) to the message.
  * @details The maximum number of recipients per a message is 10.
  *
- * @param[in] msg The message handle
- * @param[in] address The recipient's address to receive a message \n
- *                   The maximum length of @a address is 254.
- * @param[in] type The recipient's type of the @a address
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in] msg      The message handle
+ * @param[in] address  The recipient's address to receive a message \n
+ *                     The maximum length of @a address is @c 254.
+ * @param[in] type     The recipient's type of the @a address
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_get_address()
  * @see        messages_remove_all_addresses()
@@ -180,12 +274,17 @@ int messages_add_address(messages_message_h msg, const char *address, messages_r
 /**
  * @brief Gets the total number of recipients in the message.
  *
- * @param[in] msg The message handle
- * @param[out] count The total number of recipients
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in]  msg    The message handle
+ * @param[out] count  The total number of recipients
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_add_address()
  * @see        messages_remove_all_addresses()
@@ -196,17 +295,22 @@ int messages_get_address_count(messages_message_h msg, int *count);
 /**
  * @brief Gets a recipient's address with specified index.
  *
- * @remarks @a address must be released with @c free() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] msg The message handle
- * @param[in] index The zero-based index of address to receive a message.
- * @param[out] address The recipient's address with specified index
- * @param[out] type The recipient's type of the @a address.
+ * @remarks You must release @a address using free().
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @param[in]  msg      The message handle
+ * @param[in]  index    The zero-based index of an address to receive a message.
+ * @param[out] address  The recipient's address with specified index
+ * @param[out] type     The recipient's type of the @a address
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY      Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_add_address()
  * @see        messages_remove_all_addresses()
@@ -217,11 +321,16 @@ int messages_get_address(messages_message_h msg, int index, char **address, mess
 /**
  * @brief Removes all recipients in the message.
  *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
  * @param[in] msg The message handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_add_address()
  * @see        messages_get_address()
@@ -232,14 +341,19 @@ int messages_remove_all_addresses(messages_message_h msg);
 /**
  * @brief Sets the text of the message.
  *
- * @param[in] msg The message handle
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] msg  The message handle
  * @param[in] text The text of the message \n
- *                The maximum length of @a text is 1530.
+ *                 The maximum length of @a text is @c 1530.
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY      Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_get_text()
  */
@@ -249,15 +363,20 @@ int messages_set_text(messages_message_h msg, const char *text);
 /**
  * @brief Gets the text of the message.
  *
- * @remarks @a text must be released with @c free() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] msg The message handle
- * @param[out] text The text of the message
+ * @remarks You must release @a text using free().
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @param[in]  msg   The message handle
+ * @param[out] text  The text of the message
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY      Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  *
  * @see        messages_set_text()
  */
@@ -267,52 +386,72 @@ int messages_get_text(messages_message_h msg, char **text);
 /**
  * @brief Gets the time of the message.
  *
- * @param[in] msg The message handle
- * @param[out] time The time of the message
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
- * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @param[in]  msg   The message handle
+ * @param[out] time  The time of the message
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE               Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED      Not supported
  */
 int messages_get_time(messages_message_h msg, time_t *time);
 
 /**
  * @brief Sends the message to all recipients.
  *
- * @remarks In order to check whether sending a message succeeds, 
- *      you should register messages_sent_cb() using messages_set_message_sent_cb().
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.write
  *
- * @param[in] service The message service handle
- * @param[in] msg The message handle
- * @param[in] save_to_sentbox Set to true to save the message in the sentbox, else false
- * @param[in] callback The callback function
- * @param[in] user_data The user data to be passed to the callback function
+ * @param[in] service         The message service handle
+ * @param[in] msg             The message handle
+ * @param[in] save_to_sentbox Set to @c true to save the message in the sentbox,
+ *                            otherwise set to @c false to not save the message in the sentbox
+ * @param[in] callback        The callback function
+ * @param[in] user_data       The user data to be passed to the callback function
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_SENDING_FAILED Sending a message failed
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @retval #MESSAGES_ERROR_SENDING_FAILED    Sending a message failed
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED  Messaging operation failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_sent_cb()
  */
 int messages_send_message(messages_service_h service, messages_message_h msg, bool save_to_sentbox, messages_sent_cb callback, void *user_data);
 
 /**
- * @brief Gets the message count in the specific message box
+ * @brief Gets the message count in the specific message box.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] service The message service handle
- * @param[in] mbox The message box type
- * @param[in] type The message type \n
- *                     If @a type is #MESSAGES_TYPE_UNKNOWN, all sms and mms messages are counted.
- * @param[out] count The number of messages
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @param[in]  service The message service handle
+ * @param[in]  mbox    The message box type
+ * @param[in]  type    The message type \n
+ *                     If @a type is #MESSAGES_TYPE_UNKNOWN, all SMS and MMS messages are counted.
+ * @param[out] count   The number of messages
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED  Messaging operation failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ *
  */
-int messages_get_message_count(messages_service_h service, 
+int messages_get_message_count(messages_service_h service,
                                                        messages_message_box_e mbox, messages_message_type_e type,
                                                        int *count);
 
@@ -321,27 +460,36 @@ int messages_get_message_count(messages_service_h service,
 /**
  * @brief Searches for messages.
  *
- * @details @a message_array must be released with messages_free_message_array() by you.
- *
- * @param[in] service The message service handle
- * @param[in] mbox The message box type
- * @param[in] type The message type \n
- *                If @a type is #MESSAGES_TYPE_UNKNOWN, all sms and mms messages are searched.
- * @param[in] keyword The keyword search in text and subject
- * @param[in] address The recipient address
- * @param[in] offset The start position (base 0)
- * @param[in] limit The maximum amount of messages to get (In case of 0, this method passes to the callback all searched messages.)
- * @param[out] message_array The array of the message handle
- * @param[out] length The number of messages of the message_array
- * @param[out] total The count of the messages that have been retrieved as a result without applying @a limit and @a offset. \n
- *                     The value can be used to calculate the total number of page views for the searched messages.\n
- *                     For example, if the count of message search is 50 and the limit is 20, then using this value, you can notice the total page is 3.
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @remarks You must release @a message_array using messages_free_message_array().
+ *
+ * @param[in] service         The message service handle
+ * @param[in] mbox            The message box type
+ * @param[in] type            The message type \n
+ *                            If @a type is #MESSAGES_TYPE_UNKNOWN, all SMS and MMS messages are searched.
+ * @param[in] keyword         The keyword search in the text and subject
+ * @param[in] address         The recipient address
+ * @param[in] offset          The start position (base @c 0)
+ * @param[in] limit           The maximum amount of messages to get \n
+ *                    In case of @c 0, this method passes to the callback all searched messages.
+ * @param[out] message_array  The array of the message handle
+ * @param[out] length         The number of messages of the @a message_array
+ * @param[out] total          The count of the messages that have been retrieved as a result without applying @a limit and @a offset\ n
+ *                            The value can be used to calculate the total number of page views for the searched messages\ n
+ *                            For example, if the count of message search is @c 50 and the limit is @c 20, then using this value, you can notice the total page is @c 3.
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED  Messaging operation failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_free_message_array()
  */
@@ -351,20 +499,28 @@ int messages_search_message(messages_service_h service,
                                                        const char *keyword, const char *address,
                                                        int offset, int limit,
                                                        messages_message_h **message_array, int *length, int *total);
-                                                       
+
 /**
- * @brief Searches a message with the given message id.
+ * @brief Searches a message with the given message ID.
  *
- * @remark @a msg must be released with messages_destroy_message() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
  *
- * @param[in] service The message service handle
- * @param[in] msg_id The message id
- * @param[out] msg A message handle to be newly created if successful
+ * @remarks You must release @a msg using messages_destroy_message().
+ *
+ * @param[in]  service The message service handle
+ * @param[in]  msg_id  The message ID
+ * @param[out] msg     The message handle that is newly created if successful
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_get_message_id()
  */
@@ -372,13 +528,18 @@ int messages_search_message_by_id(messages_service_h service, int msg_id, messag
 
 
 /**
- * @brief Frees message array.
+ * @brief Frees the message array.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @param[in] message_array The array of the message handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_search_message()
  */
@@ -388,24 +549,34 @@ int messages_free_message_array(messages_message_h *message_array);
 /**
  * @brief Retrieves the searched messages by invoking the given callback function iteratively.
  *
- * @param[in] service The message service handle
- * @param[in] mbox The message box type
- * @param[in] type The message type \n
- *                If @a type is #MESSAGES_TYPE_UNKNOWN, all sms and mms messages are searched.
- * @param[in] keyword The keyword search in text and subject
- * @param[in] address The recipient address
- * @param[in] offset The start position (base 0)
- * @param[in] limit The maximum amount of messages to get (In case of 0, this method passes to the callback all searched messages.)
- * @param[in] callback The callback function to get a message
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @param[in] service   The message service handle
+ * @param[in] mbox      The message box type
+ * @param[in] type      The message type \n
+ *                      If @a type is #MESSAGES_TYPE_UNKNOWN, all SMS and MMS messages are searched.
+ * @param[in] keyword   The keyword search in the text and subject
+ * @param[in] address   The recipient address
+ * @param[in] offset    The start position (base 0)
+ * @param[in] limit     The maximum amount of messages to get \n
+ *              In case of @c 0, this method passes to the callback all searched messages.
+ * @param[in] callback  The callback function to get a message
  * @param[in] user_data The user data to be passed to the callback function
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED  Messaging operation failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @post It invokes messages_search_cb().
+ *
  * @see messages_search_cb()
  */
 int messages_foreach_message(messages_service_h service,
@@ -418,14 +589,22 @@ int messages_foreach_message(messages_service_h service,
 /**
  * @brief Registers a callback to be invoked when an incoming message is received.
  *
- * @param[in] service The message service handle
- * @param[in] callback The callback function
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @param[in] service   The message service handle
+ * @param[in] callback  The callback function
  * @param[in] user_data The user data to be passed to the callback function
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OPERATION_FAILED Messaging operation failed
+ * @retval #MESSAGES_ERROR_OPERATION_FAILED  Messaging operation failed
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @post It will invoke messages_incoming_cb().
  *
@@ -438,11 +617,19 @@ int messages_set_message_incoming_cb(messages_service_h service, messages_incomi
 /**
  * @brief Unregisters the callback function.
  *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.write
+ *
  * @param[in] service The message service handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_set_message_incoming_cb()
  * @see messages_incoming_cb()
@@ -452,12 +639,20 @@ int messages_unset_message_incoming_cb(messages_service_h service);
 /**
  * @brief Adds an additional listening port for the incoming SMS messages.
  *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
  * @param[in] service The message service handle
- * @param[in] port The listening port for the SMS messages
+ * @param[in] port    The listening port for the SMS messages
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @see messages_set_message_incoming_cb()
  * @see messages_get_message_port()
@@ -471,13 +666,18 @@ int messages_add_sms_listening_port(messages_service_h service, int port);
 /**
  * @brief Sets the subject of the message.
  *
- * @param[in] msg The message handle
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] msg     The message handle
  * @param[in] subject The subject of the message \n
- *                   The maximum length of @a subject is 120.
+ *                    The maximum length of @a subject is @c 120.
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
@@ -489,15 +689,20 @@ int messages_mms_set_subject(messages_message_h msg, const char *subject);
 /**
  * @brief Gets the subject of the message.
  *
- * @remarks @a subject must be released with @c free() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] msg The message handle
+ * @remarks You must release @a subject using free().
+ *
+ * @param[in]  msg     The message handle
  * @param[out] subject The subject of the message
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
@@ -509,21 +714,26 @@ int messages_mms_get_subject(messages_message_h msg, char **subject);
 /**
  * @brief Adds the attachment to the MMS message.
  *
- * @param[in] msg The message handle
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] msg  The message handle
  * @param[in] type The attachment type
  * @param[in] path The file path to attach \n
- *                The maximum length of @a path is 1024.
+ *                 The maximum length of @a path is @c 1024.
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
  * @see        messages_mms_get_attachment()
  * @see        messages_mms_get_attachment_count()
- * @see messages_mms_remove_all_attachments()
+ * @see        messages_mms_remove_all_attachments()
  */
 int messages_mms_add_attachment(messages_message_h msg, messages_media_type_e type, const char *path);
 
@@ -531,23 +741,28 @@ int messages_mms_add_attachment(messages_message_h msg, messages_media_type_e ty
 /**
  * @brief Gets the file path of the attachment with the specified index.
  *
- * @remark @a path must be released with @c free() by you.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] msg The message handle
- * @param[in] index The zero-based index of attachment
- * @param[out] type The attachment type
- * @param[out] path The file path to attach
+ * @remarks You must release @a path using free().
+ *
+ * @param[in]  msg   The message handle
+ * @param[in]  index The zero-based index of the attachment
+ * @param[out] type  The attachment type
+ * @param[out] path  The file path to attach
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MESSAGES_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MESSAGES_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
  * @see        messages_mms_add_attachment()
  * @see        messages_mms_get_attachment_count()
- * @see messages_mms_remove_all_attachments()
+ * @see        messages_mms_remove_all_attachments()
  */
 int messages_mms_get_attachment(messages_message_h msg, int index, messages_media_type_e *type, char **path);
 
@@ -555,18 +770,23 @@ int messages_mms_get_attachment(messages_message_h msg, int index, messages_medi
 /**
  * @brief Gets the attachment with the specified index.
  *
- * @param[in] msg The message handle
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in]  msg   The message handle
  * @param[out] count The total number of attachments
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
  * @see        messages_mms_add_attachment()
  * @see        messages_mms_get_attachment()
- * @see messages_mms_remove_all_attachments()
+ * @see        messages_mms_remove_all_attachments()
  */
 int messages_mms_get_attachment_count(messages_message_h msg, int *count);
 
@@ -574,17 +794,22 @@ int messages_mms_get_attachment_count(messages_message_h msg, int *count);
 /**
  * @brief Removes all attachments to the MMS message.
  *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
  * @param[in] msg The message handle
  *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MESSAGES_ERROR_NONE Successful
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
  * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre @a msg is created as a #MESSAGES_TYPE_MMS.
  *
  * @see        messages_mms_add_attachment()
  * @see        messages_mms_get_attachment()
- * @see messages_mms_get_attachment_count()
+ * @see        messages_mms_get_attachment_count()
  */
 int messages_mms_remove_all_attachments(messages_message_h msg);
 /**
@@ -592,9 +817,130 @@ int messages_mms_remove_all_attachments(messages_message_h msg);
  */
 
 /**
+ * @addtogroup CAPI_MESSAGING_MESSAGES_PUSH_MODULE
+ * @{
+ */
+
+/**
+ * @brief Registers a callback to be invoked when an WAP Push message is received.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.read
+ *
+ * @param[in] service   The message service handle
+ * @param[in] app_id    The "X-WAP-Application-ID" to indicate a destination WAP Push application ID
+ * @param[in] callback  The callback function
+ * @param[in] user_data The user data to be passed to the callback function
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ */
+int messages_push_add_incoming_cb(messages_service_h service, const char *app_id,
+                                         messages_push_incoming_cb callback, void *user_data);
+
+
+/**
+ * @brief Unregisters the WAP push incoming callback function.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] service The message service handle
+ * @param[in] app_id  The "X-WAP-Application-ID" to indicate a destination WAP Push application ID
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ */
+int messages_push_remove_incoming_cb(messages_service_h service, const char *app_id);
+
+
+/**
+ * @brief Registers an application to the mapping table of the WAP Push service.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.write
+ *
+ * @param[in] service      The message service handle
+ * @param[in] content_type The MIME content type of the content
+ * @param[in] app_id       The "X-WAP-Application-ID" to indicate a destination WAP Push application ID
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ */
+int messages_push_register(messages_service_h service, const char *content_type, const char *app_id);
+
+
+/**
+ * @brief De-registers an application from the mapping table of the WAP Push service.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.write
+ *
+ * @param[in] service      The message service handle
+ * @param[in] content_type The MIME content type of the content
+ * @param[in] app_id       The "X-WAP-Application-ID" to indicate a destination WAP Push application ID
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ */
+int messages_push_deregister(messages_service_h service, const char *content_type, const char *app_id);
+
+
+/**
+ * @brief Re-registers an application to the mapping table of the WAP Push service.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/message.write
+ *
+ * @param[in] service          The message service handle
+ * @param[in] content_type     An element of the composite key for searching registered entry \n
+ *                             The MIME content type of the content.
+ * @param[in] app_id           The composite key for searching mapping information \n
+ *                             The "X-WAP-Application-ID" to indicate a destination WAP Push application ID.
+ * @param[in] dst_content_type The MIME content type of the content
+ * @param[in] dst_app_id       The "X-WAP-Application-ID" to indicate a destination WAP Push application ID
+ *
+ * @return @c 0 on success,
+ *       otherwise a negative error value
+ *
+ * @retval #MESSAGES_ERROR_NONE              Successful
+ * @retval #MESSAGES_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MESSAGES_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval #MESSAGES_ERROR_NOT_SUPPORTED     Not supported
+ *
+ */
+int messages_push_reregister(messages_service_h service, const char *content_type, const char *app_id,
+                                                        const char *dst_content_type, const char *dst_app_id);
+
+/**
  * @}
  */
 
+/**
+ * @}
+ */
 
 
 #ifdef __cplusplus