diff options
Diffstat (limited to 'include/mapi')
-rwxr-xr-x | include/mapi/msg.h | 1195 | ||||
-rwxr-xr-x | include/mapi/msg_private.h | 61 | ||||
-rwxr-xr-x | include/mapi/msg_storage.h | 2518 | ||||
-rwxr-xr-x | include/mapi/msg_storage_types.h | 176 | ||||
-rwxr-xr-x | include/mapi/msg_transport.h | 1130 | ||||
-rwxr-xr-x | include/mapi/msg_transport_types.h | 206 | ||||
-rwxr-xr-x | include/mapi/msg_types.h | 2409 |
7 files changed, 3930 insertions, 3765 deletions
diff --git a/include/mapi/msg.h b/include/mapi/msg.h index bf7725f..7b2b7bb 100755 --- a/include/mapi/msg.h +++ b/include/mapi/msg.h @@ -1,20 +1,17 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ #ifndef MSG_H_ @@ -27,218 +24,1200 @@ #include "msg_types.h" +/*================================================================================================== + DEFINES +==================================================================================================*/ + +/** + * @brief Defines macro for privilege name http://tizen.org/privilege/message.read + */ +#define MSG_SERVICE_READ_PRIV_NAME "http://tizen.org/privilege/message.read" + +/** + * @brief Defines macro for privilege name http://tizen.org/privilege/message.write + */ +#define MSG_SERVICE_WRITE_PRIV_NAME "http://tizen.org/privilege/message.write" + #ifdef __cplusplus extern "C" { #endif -/** - * @ingroup MESSAGING_FRAMEWORK - * @defgroup MESSAGING_CONTROL_API Messaging Control API - * @{ - */ - /*================================================================================================== FUNCTION PROTOTYPES ==================================================================================================*/ /** - - * \par Description: - * Opens a channel between an application and messaging framework. + * @internal + * @ingroup MSG_SERVICE_FRAMEWORK + * @defgroup MSG_SERVICE_FRAMEWORK_CONTROL_MODULE Control API + * @brief The Control API provides functions to manage message handle and set or get each structure. * - * \par Purpose: - * For application to utilize the services of Messaging Framework, this API should be called to establish connection between the application and Messaging Framework. + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK_CONTROL_MODULE + * @{ * - * \par Typical use case: - * Any application which utilizes the services of Messaging Framework needs to call this API. + * @section MSG_SERVICE_FRAMEWORK_CONTROL_MODULE_HEADER Required Header + * \#include <msg.h> * - * \par Method of function operation: - * Check for Message Server ready status. If ready connect to the Messaging Server socket and pass the handle application. + * @section MSG_SERVICE_FRAMEWORK_CONTROL_MODULE_OVERVIEW Overview * - * \par Sync (or) Async: - * This is a Synchronous API. + * The CONTROL API provides the following functionalities: + * - Handles message handle + * - Get/Set message and setting values * - * \par Important notes: - * - The handle parameter returned must be used by application for further API calls to Messaging Service \n - * - memory for the handle need not be allocated by the application \n - * - An error will be returned in case Messaging Service is not running. + * @section MSG_SERVICE_FRAMEWORK_CONTROL_MODULE_FEATURE Related Features + * This API is related with the following features:\n + * - http://tizen.org/feature/network.telephony\n * - * \param msg_handle_t input - handle to be passed for all Messaging Services . + * It is recommended to design feature related codes in your application for reliability.\n * - * \return Return Type (int) \n - * - MSG_SUCCESS - Successfully connected to Messaging Service \n - * - MSG_ERR_NULL_POINTER - Input parameter is NULL. - * - MSG_ERR_MEMORY_ERROR - Memory error. - * - MSG_ERR_COMMUNICATION_ERROR - Communication error between client and server \n + * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n * - * \par Related functions: - * None + * More details on featuring your application can be found from <a href="../org.tizen.mobile.native.appprogramming/html/ide_sdk_tools/feature_element.htm"><b>Feature Element</b>.</a> * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; + */ + +/** + * @brief Opens a channel between an application and messaging framework. + * @details For application to utilize the services of Messaging Framework, this API should be called to establish + * connection between the application and Messaging Framework. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * err = msg_open_msg_handle(&msgHandle); + * @remarks The handle parameter returned must be used by application for further API calls to Messaging Service. + * @remarks The memory for the handle need not be allocated by the application. + * @remarks An error will be returned in case Messaging Service is not running. * - * if (err != MSG_SUCCESS) - * { - * sprintf(str, "msg_open_msg_handle() Fail [%d]", err); - * print(str); + * @param[in] handle The Message handle to be passed for all messaging services * - * return err; // if success, return OPERATION_SUCCESS. Or if fail, return related error code. - * } + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_MEMORY_ERROR Memory error + * @retval MSG_ERR_COMMUNICATION_ERROR Communication error between client and server + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_open_msg_handle(msg_handle_t *handle); /** - - * \par Description: - * Closes the channel between application and messaging framework. + * @brief Closes the channel between application and messaging framework. + * @details Once application utilizes services of Messaging Service, this API needs to be invoked + * to close the channel between application and Messaging Service. * - * \par Purpose: - * Once application utilizes services of Messaging Service, this API needs to be invoked the close the channel between application and Messaging Service. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks The handle parameter returned must be used by application for further API calls to Messaging Service. + * @remarks The memory for the handle need not be allocated by the application \n + * @remarks An error will be returned in case Messaging Service is not running. + * + * @param[in] handle The Message handle to be passed for all messaging services + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_COMMUNICATION_ERROR Communication error between client and server + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_close_msg_handle(msg_handle_t *handle); + + +/** + * @brief Create structure pointer to get/set message framework data. + * @details Get/set message framework data with this structure pointer. * - * \par Typical use case: - * Any application which has completed using services of Messaging Framework needs to call this API. + * @since_tizen 2.3 * - * \par Method of function operation: - * Closes the connection to Messaging Service and deleted the reference to the handle object + * @remarks It should use defined enumerations. + * @remarks You must release handle after operations. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @param[in] field The enumerations to create the structure pointer * - * \par Important notes: - * - The handle parameter returned must be used by application for further API calls to Messaging Service \n - * - memory for the handle need not be allocated by the application \n - * - An error will be returned in case Messaging Service is not running. + * @return The created structure pointer on success, + * otherwise null value * - * \param msg_handle_t input - handle to be passed for all Messaging Services . + * @retval #msg_struct_t Successfully created structure pointer + * @retval NULL Invalid parameter * - * \return Return Type (int) \n - * - MSG_SUCCESS - Successfully connected to Messaging Service \n - * - MSG_ERR_NULL_POINTER - Input parameter is NULL. - * - MSG_ERR_COMMUNICATION_ERROR - Communication error between client and server \n + */ + +msg_struct_t msg_create_struct(int field); + + +/** + * @brief Release memory for message data structure. + * @details You must release memory of message data structure that is allocated by msg_create_struct(). * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 * - * \par Related functions: - * None + * @remarks It should not be used after this API. * - * \par Known issues/bugs: - * None + * @param[in] msg_struct_handle The structure pointer to release * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_NULL_POINTER Input parameter is NULL + * @retval MSG_ERR_NOT_SUPPORTED Not supported * - * ... + */ + +int msg_release_struct(msg_struct_t *msg_struct_handle); + + +/** + * @brief Release memory for list structure. + * @details You must release memory of list structure that is allocated by getting list API. * - * err = msg_open_msg_handle(&msgHandle); + * @since_tizen 2.3 * - * ... + * @remarks It should not be used after this API * - * err = msg_close_msg_handle(&msgHandle); + * @param[in] msg_struct_list The list structure pointer to release * - * if (err != MSG_SUCCESS) - * { - * sprintf(str, "msg_close_msg_handle() Fail [%d]", err); - * print(str); + * @return @c 0 on success, + * otherwise a negative error value * - * return err; // if success, return OPERATION_SUCCESS. Or if fail, return related error code. - * } + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_NULL_POINTER Input parameter is NULL + * @retval MSG_ERR_NOT_SUPPORTED Not supported * - * ... - * \endcode */ -/*================================================================================================*/ -int msg_close_msg_handle(msg_handle_t *handle); +int msg_release_list_struct(msg_struct_list_s *msg_struct_list); -msg_struct_t msg_create_struct(int field); -int msg_release_struct(msg_struct_t *msg_struct_handle); -int msg_release_list_struct(msg_struct_list_s *msg_struct_list); +/** + * @brief Get a specific integer value from message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested integer value + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ int msg_get_int_value(msg_struct_t msg_struct_handle, int field, int *value); + + +/** + * @brief Gets a specific string value from message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested string value + * @param[in] size The allocated buffer size of application side + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_get_str_value(msg_struct_t msg_struct_handle, int field, char *value, int size); + + +/** + * @brief Gets a specific boolean value from message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested boolean value + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_get_bool_value(msg_struct_t msg_struct_handle, int field, bool *value); + + +/** + * @brief Gets an inner structure handle from message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested structure handle + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_get_struct_handle(msg_struct_t msg_struct_handle, int field, msg_struct_t *value); + + +/** + * @brief Gets a list handle from message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested list handle + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ +/*================================================================================================*/ int msg_get_list_handle(msg_struct_t msg_struct_handle, int field, void **value); + +/** + * @brief Sets a specific integer value to message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested integer value + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_int_value(msg_struct_t msg_struct_handle, int field, int value); + + +/** + * @brief Sets a specific string to message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested string + * @param[in] size The requested size of string to set + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_str_value(msg_struct_t msg_struct_handle, int field, char *value, int size); + + +/** + * @brief Sets a specific boolean value to message structure data. + * + * @since_tizen 2.3 + * + * @details Set a specific boolean value to message structure data. + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested boolean value + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_bool_value(msg_struct_t msg_struct_handle, int field, bool value); + + +/** + * @brief Sets a inner structure handle to message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested structure handle to set + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_struct_handle(msg_struct_t msg_struct_handle, int field, msg_struct_t value); + + +/** + * @brief Set a list handle to message structure data. + * + * @since_tizen 2.3 + * + * @remarks Use valid enumerations. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to get a value of specific field + * @param[out] value The requested list handle to set + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter (msg_struct_handle/value) is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter (field) is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_list_handle(msg_struct_t msg_struct_handle, int field, void *value); -int msg_mms_add_item(msg_struct_t msg_struct_handle, int field, msg_struct_t *item); + +/** + * @brief Gets a MMS structure handle from message structure. + * + * @since_tizen 2.3 + * + * @remarks Use valid structure handle. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[out] mms_struct_handle The MMS structure handle to get + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ int msg_get_mms_struct(msg_struct_t msg_struct_handle, msg_struct_t mms_struct_handle); + + +/** + * @brief Sets a MMS structure handle to message structure. + * + * @since_tizen 2.3 + * + * @remarks Use valid structure handle. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[out] mms_struct_handle The MMS structure handle to set + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_set_mms_struct(msg_struct_t msg_struct_handle, msg_struct_t mms_struct_handle); -//list + +/** + * @brief Adds an item to list handle of message structure type. + * + * @since_tizen 2.3 + * + * @remarks Use valid list_handle. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The field to set item + * @param[in] item The #msg_struct_t structure to be added to list handle + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is not valid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + +int msg_list_add_item(msg_struct_t msg_struct_handle, int field, msg_struct_t *item); + + +/** + * @brief Gets n-th data from list handle. + * + * @since_tizen 2.3 + * + * @remarks Use valid list_handle. + * + * @param[in] list_handle A pointer of message structure type + * @param[in] index The index of list structure + * + * @return #msg_struct_t value on success, + * otherwise @c NULL value + * + * @retval #msg_struct_t Successfully done + * @retval NULL Input parameter (list_handle) is not valid + * + */ + msg_struct_t msg_list_nth_data(msg_list_handle_t list_handle, int index); + + +/** + * @brief Gets the length(count) of list handle. + * + * @since_tizen 2.3 + * + * @remarks Use valid list_handle. + * If there is an error, it will be returned as below values. + * + * @param[in] list_handle A pointer of message structure type + * + * @return The length of message list (int) + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_list_length(msg_list_handle_t list_handle); -// filter + +/** + * @brief Releases entire data of list handle in message structure. + * + * @since_tizen 2.3 + * + * @remarks Use valid msg_struct_handle and enumeration. + * + * @param[in] msg_struct_handle A pointer of message structure type + * @param[in] field The enumeration to release (list handle) + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_NULL_POINTER Input parameter is NULL + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + +int msg_list_clear(msg_struct_t msg_struct_handle, int field); + + +/** + * @brief Adds a filter to block messages by address or word. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_struct_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] filter A pointer to message filter structure + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_add_filter(msg_handle_t handle, const msg_struct_t filter); + + +/** + * @brief Updates filter to block messages by address or word. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * @remarks #msg_struct_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] filter A pointer to message filter structure + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_update_filter(msg_handle_t handle, const msg_struct_t filter); + + +/** + * @brief Deletes the filter to block messages by address or word. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @param[in] handle The message handle + * @param[in] filter_id The filter index to delete from filter DB + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_delete_filter(msg_handle_t handle, msg_filter_id_t filter_id); + + +/** + * @brief Gets all filter list. + * @details This API is used to get a filter list that is already added filter set. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[out] filter_list A pointer to list of message filter structure + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_filter_list(msg_handle_t handle, msg_struct_list_s *filter_list); + + +/** + * @brief Sets the flag of message blocking. + * @details This API is used to set a flag of block operation. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] set_flag Set @c true to enable block operation, + * otherwise set @c false to disable block operation + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_filter_operation(msg_handle_t handle, bool set_flag); + + +/** + * @brief Gets the flag value of message blocking. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[out] set_flag @c true if message blocking is enabled, + * otherwise @c false if message blocking is not enabled + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_filter_operation(msg_handle_t handle, bool *set_flag); + + +/** + * @brief Sets the flag of message blocking for specific filter. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] filter_id The specific index to set flag + * @param[in] active Set @c true to enable the block operation, + * otherwise @c false to not enable the block operation + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_FILTER_ERROR Filter operation error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_filter_active(msg_handle_t handle, msg_filter_id_t filter_id, bool active); -//setting + +/** + * @brief Gets SMSC list and informations. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of SMSC data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_smsc_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets SMSC list and informations. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of SMSC data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_smsc_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Gets CB channel list and informations. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of CB data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_cb_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets CB channel list and informations. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of CB data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_cb_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets SMS sending options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of sending option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets SMS sending options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of sending option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets MMS sending options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of sending option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_mms_send_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets MMS sending options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of sending option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_mms_send_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets MMS receiving options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of receiving option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_mms_recv_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets MMS receiving options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of receiving option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_mms_recv_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets push message options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of push message option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets push message options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of push message option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets voice message options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of voice message option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets voice message options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of voice message option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets message general options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of message general option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_general_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets message general options. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of message general option data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_general_opt(msg_handle_t handle, msg_struct_t msg_struct); + +/** + * @brief Gets message size. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of message size data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_get_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct); + + +/** + * @brief Sets message size. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] handle The message handle + * @param[in] msg_struct A structure pointer of message size data + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + int msg_set_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct); -// text length calculate + +/** + * @brief Calculates input text length by encode type. + * + * @since_tizen 2.3 + * + * @remarks #msg_handle_t MUST be valid, otherwise the function will fail. + * + * @param[in] msg_text The string to calculate length + * @param[in] msg_encode_type_to The current encode type + * @param[out] text_size The calculated text size + * @param[out] segment_size The message segment size + * @param[out] msg_encode_type_in The encode type it should be changed to + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Successfully done + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is not valid. + * @retval MSG_ERR_NOT_SUPPORTED Not supported + * + */ + int msg_util_calculate_text_length(const char* msg_text, msg_encode_type_t msg_encode_type_to, unsigned int *text_size, unsigned int *segment_size, msg_encode_type_t *msg_encode_type_in); + +/** + * @} +*/ + + #ifdef __cplusplus } #endif diff --git a/include/mapi/msg_private.h b/include/mapi/msg_private.h index 1850e93..92168ba 100755 --- a/include/mapi/msg_private.h +++ b/include/mapi/msg_private.h @@ -1,20 +1,17 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ #ifndef MSG_PRIVATE_H_ @@ -24,13 +21,39 @@ INCLUDE FILES ==================================================================================================*/ +#include "MsgDebug.h" +#include "MsgGconfWrapper.h" #include "MsgTypes.h" #include "MsgStorageTypes.h" #include "MsgTransportTypes.h" #include "MsgMmsTypes.h" #include "MsgFilterTypes.h" #include "MsgSettingTypes.h" +#include "MsgUtilFunction.h" + +/*================================================================================================== + DEFINES +==================================================================================================*/ +#define CHECK_MSG_SUPPORTED(feature_name) \ + do { \ + bool bSupported = false; \ + bSupported = MsgCheckFeatureSupport(feature_name); \ + if (bSupported == false) {\ + MSG_ERR("Feature [%s] not supported", feature_name);\ + return MSG_ERR_NOT_SUPPORTED; \ + } \ + } while(0) + +#define CHECK_MSG_SUPPORTED_RETURN_NULL(feature_name) \ + do { \ + bool bSupported = false; \ + bSupported = MsgCheckFeatureSupport(feature_name); \ + if (bSupported == false) {\ + MSG_ERR("Feature [%s] not supported", feature_name);\ + return NULL; \ + } \ + } while(0) /*================================================================================================== FUNCTION PROTOTYPES @@ -56,6 +79,9 @@ void msg_message_copy_message(MSG_MESSAGE_HIDDEN_S *pSrc, MSG_MESSAGE_HIDDEN_S * int msg_cb_message_get_int_value(void *data, int field, int *value); int msg_cb_message_get_str_value(void *data, int field, char *value, int size); +int msg_message_list_append(msg_struct_t msg_struct_handle, int field, msg_struct_t *item); +int msg_message_list_clear(msg_struct_t msg_struct_handle, int field); + @@ -85,9 +111,12 @@ int msg_mms_set_bool_value(msg_struct_s *msg_struct, int field, bool value); int msg_mms_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); int msg_mms_set_list_handle(msg_struct_s *msg_struct, int field, msg_list_handle_t value); +int msg_mms_list_append(msg_struct_t msg_struct_handle, int field, msg_struct_t *item); + void convert_to_mmsdata(const msg_struct_s *pSrc, MMS_MESSAGE_DATA_S *pDest); void convert_from_mmsdata(const MMS_MESSAGE_DATA_S *pSrc, msg_struct_s *pDest); - +void convert_to_hidden_mmsdata(MMS_DATA_S *pSrc, msg_struct_s *pDest); +void convert_from_hidden_mmsdata(msg_struct_s *pSrc, MMS_DATA_S *pDest); // setting int msg_setting_get_int_value(msg_struct_s *msg_struct, int field, int *value); int msg_setting_get_str_value(msg_struct_s *msg_struct, int field, char *src, int size); @@ -140,6 +169,8 @@ int msg_set_push_msg_opt_int(void *push_msg_opt, int field, int value); bool msg_get_push_msg_opt_bool(void *push_msg_opt, int field); int msg_set_push_msg_opt_bool(void *push_msg_opt, int field, bool value); +int msg_get_voice_msg_opt_int(void *voice_msg_opt, int field); +int msg_set_voice_msg_opt_int(void *voice_msg_opt, int field, int value); char *msg_get_voice_msg_opt_str(void *voice_msg_opt, int field); int msg_set_voice_msg_opt_str(void *voice_msg_opt, int field, char *val, int size); @@ -147,7 +178,8 @@ int msg_get_general_opt_int(void *general_opt, int field); int msg_set_general_opt_int(void *general_opt, int field, int value); bool msg_get_general_opt_bool(void *general_opt, int field); int msg_set_general_opt_bool(void *general_opt, int field, bool value); - +char *msg_get_general_opt_str(void *general_opt, int field); +int msg_set_general_opt_str(void *general_opt, int field, char *val, int size); int msg_get_msgsize_opt_int(void *size_opt, int field); int msg_set_msgsize_opt_int(void *size_opt, int field, int value); @@ -168,19 +200,23 @@ int msg_folder_info_get_int(void *folder_info, int field); int msg_thread_info_get_int(void *data, int field); int msg_conv_info_get_int(void *data, int field); int msg_search_condition_get_int(void *condition_info, int field); +int msg_list_condition_get_int(void *condition_info, int field); int msg_report_status_get_int(void *report_info, int field); char* msg_report_status_get_str(void *report_info, int field); char* msg_folder_info_get_str(void *folder_info, int field); char *msg_thread_info_get_str(void *data, int field); char *msg_conv_info_get_str(void *data, int field); char* msg_search_condition_get_str(void *condition_info, int field, int size); +char* msg_list_condition_get_str(void *condition_info, int field, int size); bool msg_sendopt_get_bool(void *send_opt, int field); bool msg_sortrule_get_bool(void *sort_rule, int field); bool msg_conv_get_bool(void *data, int field); bool msg_thread_info_get_bool(void *data, int field); +bool msg_list_condition_get_bool(void *data, int field); int msg_sendopt_get_struct_handle(msg_struct_s *msg_struct, int field, void **value); int msg_syncml_get_struct_handle(msg_struct_s *msg_struct, int field, void **value); int msg_thread_index_get_struct_handle(msg_struct_s *msg_struct, int field, void **value); +int msg_list_condition_get_struct_handle(msg_struct_s *msg_struct, int field, void **value); int msg_address_info_get_int(void *addr_info, int field); int msg_mms_sendopt_get_int(void *opt_info, int field); int msg_reject_message_get_int(void *msg_info, int field); @@ -196,18 +232,23 @@ int msg_thread_index_set_int(void *index_info, int field, int value); int msg_sortrule_set_int(void *sort_info, int field, int value); int msg_folder_info_set_int(void *folder_info, int field, int value); int msg_search_condition_set_int(void *condition_info, int field, int value); +int msg_list_condition_set_int(void *condition_info, int field, int value); int msg_report_status_set_int(void *report_info, int field, int value); int msg_folder_info_set_str(void *folder_info, int field, char *value, int size); int msg_search_condition_set_str(void *condition_info, int field, char *value, int size); +int msg_list_condition_set_str(void *condition_info, int field, char *value, int size); int msg_sendopt_set_bool(void *send_opt, int field, bool value); int msg_sortrule_set_bool(void *sort_rule, int field, bool value); +int msg_list_condition_set_bool(void *data, int field, bool value); int msg_sendopt_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); int msg_syncml_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); int msg_thread_index_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); +int msg_list_condition_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); int msg_address_info_set_int(void *addrinfo, int field, int value); int msg_mms_sendopt_set_int(void *opt_info, int field, int value); int msg_reject_message_set_int(void *msg_info, int field, int value); int msg_address_info_set_str(void *addr_info, int field, char *value, int size); +int msg_media_info_set_str(void *media_info, int field, char *value, int size); int msg_reject_message_set_str(void *msg_info, int field, char *value, int size); int msg_mms_sendopt_set_bool(void *option, int field, bool value); int msg_sms_sendopt_set_bool(void *option, int field, bool value); @@ -219,5 +260,11 @@ int msg_request_set_int(void *request_info, int field, int value); int msg_request_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value); int msg_sent_status_get_int(MSG_SENT_STATUS_S *sent_status_info, int field); +char* msg_media_item_get_str(void *data, int field, int size); +int msg_media_item_get_int(void *data, int field, int *value); +int msg_conversation_get_list_hnd(void *data, int field, void **value); +int msg_multipart_get_str_value(void *data, int field, char *value, int size); +int msg_multipart_get_int_value(void *data, int field, int *value); +int msg_multipart_set_str_value(void *data, int field, char *value, int size); #endif /* MSG_PRIVATE_H_ */ diff --git a/include/mapi/msg_storage.h b/include/mapi/msg_storage.h index 7faa28a..837af02 100755 --- a/include/mapi/msg_storage.h +++ b/include/mapi/msg_storage.h @@ -1,38 +1,22 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ -/** - * @file MapiStorage.h - * @brief Defines storage API of messaging framework - * @version 1.0 - */ - #ifndef MAPI_STORAGE_H #define MAPI_STORAGE_H -/** - * @section Introduction - * - Introduction : Overview on Messaging Storage API - * @section Program - * - Program : Messaging Storage API Reference - */ - /*================================================================================================== INCLUDE FILES ==================================================================================================*/ @@ -44,2073 +28,1103 @@ extern "C" { #endif -/** - * @ingroup MESSAGING_FRAMEWORK - * @defgroup MESSAGING_STORAGE_API Messaging Storage API - * @{ - */ - -/*================================================================================================== - FUNCTION PROTOTYPES -==================================================================================================*/ /** - - * \par Description: - * Saves a message to the database. + * @internal + * @ingroup MSG_SERVICE_FRAMEWORK + * @defgroup MSG_SERVICE_FRAMEWORK_STORAGE_MODULE Storage API + * @brief The Storage API provides functions to get message information with multiple types. * - * \par Purpose: - * This API is used to save Message object to the database. + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK_STORAGE_MODULE + * @{ * - * \par Typical use case: - * Save Message feature is used when the message is to be stored to persistent memory for later reference. + * @section MSG_SERVICE_FRAMEWORK_STORAGE_MODULE_HEADER Required Header + * \#include <msg_storage.h> * - * \par Method of function operation: - * Sets up the database connection and inserts the message to message table. + * @section MSG_SERVICE_FRAMEWORK_STORAGE_MODULE_OVERVIEW Overview * - * \par Sync (or) Async: - * This is a Synchronous API. + * The Storage API provides the following functionalities: * - * \par Important notes: - * - Mandatory fields of a message structure MUST be valid, otherwise the function will be failed. + * - Get message information * - * \param input - msg_handle_t handle is Message handle. - * \param input - msg_message_t msg is a pointer to an msg_message_t structure. - * \param input - send_opt is a pointer to an MSG_SENDINGOPT_S structure. + * @section MSG_SERVICE_FRAMEWORK_STORAGE_MODULE_FEATURE Related Features + * This API is related with the following features:\n + * - http://tizen.org/feature/network.telephony\n * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Successfully connected to Messaging Service \n - * - MSG_ERR_NULL_POINTER - Input parameter is NULL. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * It is recommended to design feature related codes in your application for reliability.\n * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n * - * \par Related functions: - * None + * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n * - * \par Known issues/bugs: - * None + * More details on featuring your application can be found from <a href="../org.tizen.mobile.native.appprogramming/html/ide_sdk_tools/feature_element.htm"><b>Feature Element</b>.</a> * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_message_t msg; - * MSG_SENDINGOPT_S sendingOpt = {0}; + */ + + +/*================================================================================================== + FUNCTION PROTOTYPES +==================================================================================================*/ + +/** + * @brief Saves a message to the database. * - * ... + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * err = msg_open_msg_handle(&msgHandle); + * @remarks Mandatory fields of a message structure MUST be valid, otherwise the function will fail. * - * ... + * @param[in] handle The Message handle + * @param[in] msg A pointer to a message structure + * @param[in] send_opt A pointer to a message structure for sending option * - * err = msg_add_message(handle, (msg_message_t) &msg, &sendingOpt); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } + * @return The message ID on success, + * otherwise a negative error value * - * ... - * \endcode + * @retval MESSAGE_ID Success in operation + * @retval MSG_ERR_INVALID_PARAMETER(-9) Invalid parameter + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_add_message(msg_handle_t handle, const msg_struct_t msg, const msg_struct_t send_opt); /** - - * \par Description: - * Adds a SyncML message to the database. - * - * \par Purpose: - * This API is used to save a SyncML message to the database. - * - * \par Typical use case: - * Save Message feature is used when the message is to be stored to persistent memory for later reference. - * - * \par Method of function operation: - * Sets up the database connection and inserts the syncml message to message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. + * @brief Adds a SyncML message to the database. * - * \par Important notes: - * - Mandatory fields of a message structure MUST be valid, otherwise the function will be failed. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \param input - msg_handle_t handle is Message handle. - * \param input - MSG_SYNCML_MESSAGE_S syncml_msg is a pointer to an MSG_SYNCML_MESSAGE_S structure. + * @remarks Mandatory fields of a message structure MUST be valid, otherwise the function will fail. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_NULL_POINTER - pMsg is NULL. - * - MSG_ERR_INVALID_MSGHANDLE - Message handle is invalid. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED - Message handle is not connected. - * - MSG_ERR_STORAGE_FULL - Storage is FULL. - * - MSG_ERR_COMMUNICATION_ERROR - Communication between client and server is error. - * - MSG_ERR_MEMORY_ERROR - Memory is error. - * - MSG_ERR_MAX_NUMBER_REACHED - Max number is reached. - * - MSG_ERR_PLUGIN - Generic error code for plugin. + * @param[in] handle The Message handle + * @param[in] syncml_msg A pointer to a syncml message structure * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * int err = msg_add_syncml_message(msgHandle, &syncMLMsg); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_add_syncml_message(msg_handle_t handle, const msg_struct_t syncml_msg); /** - - * \par Description: - * Updates a message in the database. - * - * \par Purpose: - * This API is used to update a message in the database. - * - * \par Typical use case: - * Update message feature is used when a previously saved message is to be updated. - * - * \par Method of function operation: - * Sets up the database connection and set the message's new values to message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - The function is to update message data for the message indentified by the given msgId as long as the given values are valid. - * - msg->msgId MUST NOT be updated because msg->msgId is a unique Id on platform. - * - If applications want to move a message between folders, applications SHOULD call msg_move_to_folder. - * - msg->storageId MUST NOT be updated. - * - The function will return MSG_ERR_INVALID_MESSAGE, if inputting a new msg->storageId. - * - If applications want to move the message between storages, applications SHOULD call msg_move_to_storage. - * - * \param input - handle is Message handle. - * \param input - msg is a pointer to an msg_message_t structure. - * \param input - send_opt is a pointer to an MSG_SENDINGOPT_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_update_message(hMsgHandle, pMsg, &sendOpt); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @brief Updates a message in the database. + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @remarks The function is to update message data for the message identified by the given msgId as long as the given values are valid. + * @remarks Message ID MUST NOT be updated because that is a unique ID on platform. + * @remarks If applications want to move a message between folders, applications SHOULD call msg_move_to_folder(). + * @remarks Storage ID MUST NOT be updated. + * @remarks If applications want to move the message between storages, applications SHOULD call msg_move_to_storage(). + * + * @param[in] handle The Message handle + * @param[in] msg A pointer to a message structure + * @param[in] send_opt A pointer to a message sending option structure + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_update_message(msg_handle_t handle, const msg_struct_t msg, const msg_struct_t send_opt); /** - - * \par Description: - * Updates a message's read status in the database. + * @brief Updates a message's read status in the database. * - * \par Purpose: - * This API is used to Updates a message's read status in the database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Update message's read status for a previously saved message. + * @param[in] handle The message handle + * @param[in] msg_id The message ID + * @param[in] read Set @c true if the message is read, + * otherwise set @c false if the message is not read * - * \par Method of function operation: - * Sets up the database connection and updates the message's read status to message table. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is Message ID. - * \parem input - read is boolean for indicating whether a message is read or not. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_update_message(hMsgHandle, pMsg, &sendOpt); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_update_read_status(msg_handle_t handle, msg_message_id_t msg_id, bool read); /** - - * \par Description: - * Updates a message's protected status in the database. + * @brief Updates a message's protected status in the database. * - * \par Purpose: - * This API is used to Updates a message's protected status in the database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Update message's protected status for a previously saved message. + * @param[in] handle The message handle + * @param[in] msg_id The message ID + * @parem[in] is_protected Set @c true if a message is protected, + * otherwise set @c false if message is not protected * - * \par Method of function operation: - * Sets up the database connection and updates the message's protected status to message table. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is Message ID. - * \parem input - is_protected is boolean for indicating whether a message is protected or not. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_update_protected_status(hMsgHandle, 0, true); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_update_protected_status(msg_handle_t handle, msg_message_id_t msg_id, bool is_protected); /** - - * \par Description: - * Deletes a message by Message ID from the database. + * @brief Deletes a message by Message ID from the database. * - * \par Purpose: - * This API is used to delete a message by Message ID from the database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Deletes a previously saved message from the database. + * @param[in] handle The message handle + * @param[in] msg_id The message ID of the message to be deleted * - * \par Method of function operation: - * Sets up the database connection and deletes a message by Message ID from the message table. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is the ID of the Message to be deleted. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_delete_message(msgHandle, 0); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_delete_message(msg_handle_t handle, msg_message_id_t msg_id); /** - - * \par Description: - * Deletes all messages in the specified folder from the database. + * @brief Deletes all messages in the specified folder from the database. * - * \par Purpose: - * This API is used to delete all messages in the specified folder from the database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Deletes all messages in the specified folder from the database. + * @param[in] handle Message handle + * @param[in] msg_id Message ID of the message to be deleted + * @param[in] bOnlyDB Set @c true to not delete messages in SIM, + * otherwise set @c false to delete messages in SIM * - * \par Method of function operation: - * Sets up the database connection and Deletes all messages in the specified folder from the message table. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - folder_id is the ID of the folder to be deleted. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_delete_all_msgs_in_folder(msgHandle, MSG_DRAFT_ID); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_delete_all_msgs_in_folder(msg_handle_t handle, msg_folder_id_t folder_id, bool bOnlyDB); /** - - * \par Description: - * Moves a message to the specified folder in the database. - * - * \par Purpose: - * This API is used to move a message to the specified folder the database. - * - * \par Typical use case: - * Deletes all messages in the specified folder from the database. - * - * \par Method of function operation: - * Sets up the database connection and Deletes all messages in the specified folder from the message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is the ID of the message to be moved. - * \param input - dest_folder_id is the ID of the destination folder. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @brief Moves a message to the specified folder in the database. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Related functions: - * None + * @param[in] handle The message handle + * @param[in] msg_id The message ID of the message to be moved + * @param[in] dest_folder_id The ID of the destination folder * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_move_msg_to_folder(hMsgHandle, 0, MSG_OUTBOX_ID); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_move_msg_to_folder(msg_handle_t handle, msg_message_id_t msg_id, msg_folder_id_t dest_folder_id); /** - - * \par Description: - * Moves a message to the other storage. - * - * \par Purpose: - * This API is usd to move a message to the other storage. - * - * \par Typical use case: - * Moves a message to the other storage type. - * - * \par Method of function operation: - * Sets up the database connection and moves a messages to specified storage type. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is the ID of the message to be moved. - * \param input - storage_id is the ID of the destination storage. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @brief Moves a message to the other storage. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Related functions: - * None + * @param[in] handle The message handle + * @param[in] msg_id The message ID of the message to be moved + * @param[in] storage_id The ID of the destination storage * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_move_msg_to_storage( msgHandle, 0, MSG_STORAGE_PHONE); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_move_msg_to_storage(msg_handle_t handle, msg_message_id_t msg_id, msg_storage_id_t storage_id); /** - - * \par Description: - * Gets the number of messages in the specified folder from the database. - * - * \par Purpose: - * This API is used to get the number of messages in the specified folder from the database. - * - * \par Typical use case: - * Gets the number of messages in the specified folder from the database. - * - * \par Method of function operation: - * Sets up the database connection and Gets the number of messages in the specified folder from the message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - folder_id is the ID of the folder to be counted. - * \param output - count_info is a pointer to an MSG_COUNT_INFO_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @brief Gets the number of messages in the specified folder from the database. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Related functions: - * None + * @param[in] handle The message handle + * @param[in] msg_id The message ID of the message to be counted + * @param[out] count_info A pointer to an #MSG_COUNT_INFO_S structure * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_COUNT_INFO_S countInfo; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_count_message(msgHandle, MSG_OUTBOX_ID, &countInfo) -* if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_count_message(msg_handle_t handle, msg_folder_id_t folder_id, msg_struct_t count_info); /** - - * \par Description: - * Gets the number of messages of specific message type. - * - * \par Purpose: - * This API is used to get the number of messages of specific type. - * - * \par Typical use case: - * Gets the count of message of specific types such as SMS, MMS. - * - * \par Method of function operation: - * Sets up the database connection and queries the number of messages in the specified folder from the message table based on required message type. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_type is the message type to be counted. - * \param output - msg_count is a pointer to the number of message. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_COUNT_INFO_S countInfo; - * - * ... + * @brief Gets the number of messages of specific message type. * - * err = msg_open_msg_handle(&msgHandle); + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * ... + * @param[in] handle The message handle + * @param[in] msg_type The message type to be counted + * @param[out] msg_count A pointer to the number of message * - * err = msg_count_msg_by_type(msgHandle, MSG_TYPE_SMS, &countInfo); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_count_msg_by_type(msg_handle_t handle, msg_message_type_t msg_type, int *msg_count); /** - - * \par Description: - * Gets the number of messages of specific address. - * - * \par Purpose: - * This API is used to get the number of messages from a specific address. - * - * \par Typical use case: - * Get the count of messages from the specified address - * - * \par Method of function operation: - * Sets up the database connection and queries the number of messages based on address from the message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - If addr_info is NULL, nothing happens. - * - * \param input - handle is Message handle. - * \param input - addr_info is a pointer to an MSG_ADDRESS_INFO_LIST_S structure. - * \param input - msg_thread_count_list is a pointer to an MSG_THREAD_COUNT_INFO_S structure. + * @brief Gets the number of messages of specific address. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @remarks If @a addr_info is @c NULL, nothing happens. * - * \par Related functions: - * None + * @param[in] handle The message handle + * @param[in] addr_info A pointer to an address list information structure + * @param[in] msg_thread_count_list A pointer to an thread count information structure * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_COUNT_INFO_S countInfo; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_count_msg_by_type(msgHandle, MSG_TYPE_SMS, &countInfo); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_count_msg_by_contact(msg_handle_t handle, const msg_struct_t addr_info, msg_struct_t msg_thread_count_list); /** - - * \par Description: - * Gets the detail information of a message from the database. - * - * \par Purpose: - * This API is used to get the number of messages from a specific address. - * - * \par Typical use case: - * Get the count of messages from the specified address - * - * \par Method of function operation: - * Sets up the database connection and queries the number of messages based on address from the message table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - If addr_info is NULL, nothing happens. - * - Applications need to call msg_release_message to free the memory. - * - However, if this function is failed, the memory for the message is NOT allocated in this function. - * -handle is Message handle. - * \param input - handle is Message handle. - * \param input - msg_id is the ID of the Message to be returned. - * \param output - msg is a pointer to an msg_message_t structure. - * \param input - send_opt is a pointer to an MSG_SENDINGOPT_S structure. + * @brief Gets the detail information of a message from the database. + * @details This API is used to get the detail information of message by message ID. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @remarks Applications need to call msg_release_struct() to free the memory. + * @remarks However, if this function fails, the memory for the message is NOT allocated in this function. * - * \par Related functions: - * - None + * @param[in] handle The Message handle + * @param[in] msg_id The ID of the Message to be returned + * @param[out] msg A pointer to a #msg_struct_t message structure + * @param[in] send_opt A pointer to a #msg_struct_t sending option structure * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * - * ... - * msg_message_t msg = msg_new_message(); - * MSG_SENDINGOPT_S sendOpt = {0, }; - * ... - * err = msg_get_message(msgHandle, 0, msg, &sendOpt); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_get_message(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_t msg, msg_struct_t send_opt); -int msg_get_conversation(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_t conv); -int msg_get_vobject_data(msg_handle_t handle, msg_message_id_t msg_id, void** encoded_data); /** - - * \par Description: - * Returns the common information list of messages with selected folder id. + * @brief Gets the detail information of a message on conversation list. + * @details This API is used to get the conversation informations of message by message ID. * - * \par Purpose: - * This API is used to get the common information list of messages with selected folder id from database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Get the common information from the specified folder from database. + * @param[in] handle The Message handle + * @param[in] msg_id The ID of the Message to be returned + * @param[out] conv A pointer to a #msg_struct_t of message structure * - * \par Method of function operation: - * Sets up the database connection and queries the common information based on selected folder id from the message and folder tables. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - The memory for a message will be allocated in this function. - * - Applications need to call msg_release_folder_view_list to free the memory. - * - However, if this function is failed, the memory for the message is NOT allocated in this function. - * - * \param input - handle is Message handle. - * \param input - folder_id is the ID of the folder to be returned. - * \param input - sort_rule indicates a sort type and sort order for querying messages. - * \param output - msg_folder_view_list is a pointer to an MSG_FOLDER_VIEW_LIST_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * - None - * - * \par Known issues/bugs: - * None + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_conversation(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_t conv); + + +/** + * @brief Gets the v-object data of message. + * @details This API is used to get the v-object data of message by message ID. * - * \par Sample code: - * \code - * ... + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * msg_handle_t msgHandle = NULL; + * @param[in] handle The Message handle + * @param[in] msg_id The ID of the Message to be returned + * @param[out] encoded_data A pointer to a encoded v-object data of message * - * ... - * MSG_FOLDER_VIEW_LIST_S folderViewList; - * ... - * err = msg_get_folder_view_list(hMsgHandle, 0, NULL, &folderViewList); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_get_folder_view_list(msg_handle_t handle, msg_folder_id_t folder_id, const msg_struct_t sort_rule, msg_struct_list_s *msg_folder_view_list); +int msg_get_vobject_data(msg_handle_t handle, msg_message_id_t msg_id, void** encoded_data); -/** - * \par Description: - * Returns the information of all peers to whom messages have been sent or recieved. - * - * \par Purpose: - * This API is used to get the information of all peers to whom messages have been sent or recieved. - * - * \par Typical use case: - * Get the common information from the specified folder from database. - * - * \par Method of function operation: - * Frees the memory occupied by MSG_FOLDER_VIEW_LIST_S object and its members. +/** + * @brief Gets the information of all peers to whom messages have been sent or received. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Important notes: - * - The memory for a list will be allocated in this function. - * - Applications need to call msg_release_thread_view_list to free the memory. - * - However, if this function is failed, the memory for a list is NOT allocated in this function. + * @remarks The memory for a list will be allocated in this function. + * @remarks Applications need to call msg_release_thread_view_list() to free the memory. + * @remarks However, if this function fails, the memory for a list is NOT allocated in this function. * - * \param input - handle is Message handle. - * \param input - sort_rule indicates a sort type and sort order for querying messages. - * \param output - msg_thread_view_list is a pointer to an msg_struct_list_s structure. + * @param[in] handle The Message handle + * @param[in] sourt_rule This indicates a sort type and sort order for querying messages + * @param[out] msg_thread_view_list A pointer to an #msg_struct_list_s structure * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_thread_view_list(msg_handle_t handle, const msg_struct_t sort_rule, msg_struct_list_s *msg_thread_view_list); + + +/** + * @briefs Gets the common information list of messages with the selected thread ID. * - * \par Related functions: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Known issues/bugs: - * None + * @remarks The memory for a list will be allocated in this function. + * @remarks Applications need to call msg_release_conversation_view_list() to free the memory. + * @remarks However, if this function is failed, the memory for a list is NOT allocated in this function. * - * \par Sample code: - * \code - * ... + * @param[in] hMsgHandle The Message handle + * @param[in] thread_id The ID of the thread to be returned + * @param[out] msg_conv_view_list A pointer to a structure of conversational message list * - * msg_handle_t msgHandle = NULL; + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * msg_struct_list_s threadViewList; - * ... - * err = msg_get_thread_view_list(hMsgHandle, NULL, &threadViewList); - * ... - * msg_release_thread_view_list(&threadViewList); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_get_thread_view_list(msg_handle_t handle, const msg_struct_t sort_rule, msg_struct_list_s *msg_thread_view_list); - -/** - - * \par Description: - * Returns the common information list of messages with selected thread_id. - * - * \par Purpose: - * This API is used to get the common information list of messages with selected thread_id. - * - * \par Typical use case: - * Gets the common information list of messages with the selected thread id from the database. - * - * \par Method of function operation: - * Connects to the database and queries the common infomation of list messages with the provided thread id. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - The memory for a list will be allocated in this function. - * - Applications need to call msg_release_conversation_view_list to free the memory. - * - However, if this function is failed, the memory for a list is NOT allocated in this function. - * - * \param input - hMsgHandle is Message handle. - * \param input - thread_id is the ID of the thread to be returned. - * \param output - msg_conv_view_list is a pointer to an MSG_CONV_VIEW_LIST_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * - None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; - * ... - * MSG_CONV_VIEW_LIST_S convViewList; - * ... - * err = msg_get_conversation_view_list(hMsgHandle, ThreadId, &convViewList); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * msg_release_conversation_view_list(&convViewList); - * ... - * \endcode - */ -/*================================================================================================*/ int msg_get_conversation_view_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_list_s *msg_conv_view_list); /** - - * \par Description: - * Deletes all the Messages Sent/Received from the selected list. - * - * \par Purpose: - * This API is used to delete all the Messages Sent/Received from the selected list. - * - * \par Typical use case: - * Deletes all messages sent/received from the selected list. - * - * \par Method of function operation: - * Sets up the database connection and deletes all messages sent/received from a selected list. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - If addr_info is NULL, nothing happens. - * - * \param input - handle is Message handle. - * \param input - thread_id is the ID of the thread to be deleted. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @brief Deletes all the Messages Sent/Received from the selected list. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Related functions: - * None + * @param[in] handle The Message handle + * @param[in] thread_id The ID of the thread to be deleted + * @param[in] include_protected_msg Set @c true to delete protected messages, + * otherwise @c false to not delete protected messages * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * MSG_SYNCML_MESSAGE_S syncMLMsg; - * MSG_SENDINGOPT_S sendingOpt = {0}; - * - * ... - * - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * - * err = msg_delete_thread_message_list(hMsgHandle, 0); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_delete_thread_message_list(msg_handle_t handle, msg_thread_id_t thread_id, bool include_protected_msg); /** - - * \par Description: - * Adds a new folder. + * @brief Adds a new folder. * - * \par Purpose: - * This API is used to add a new folder. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Adds a new folder with the specified folder info + * @param[in] handle The Message handle + * @param[in] folder_info A pointer to an #MSG_FOLDER_INFO_S structure * - * \par Method of function operation: - * Sets up the database connection and add a new folder to the folder table. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None. - * - * \param - handle is Message handle. - * \param - folder_info is a pointer to an MSG_FOLDER_INFO_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * Make Folder - * MSG_FOLDER_INFO_S folderInfo; - * ... - * err = msg_open_msg_handle(&msgHandle); - * - * folderInfo.folderId = 1; - * folderInfo.folderType = MSG_FOLDER_TYPE_USER_DEF; - * ... - * - * err = msg_add_folder(hMsgHandle, &folderInfo); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_add_folder(msg_handle_t handle, const msg_struct_t folder_info); /** - - * \par Description: - * Updates the folder info. - * - * \par Purpose: - * This API is used to add a new folder. - * - * \par Typical use case: - * Adds a new folder with the specified folder info - * - * \par Method of function operation: - * Sets up the database connection and add a new folder to the folder table. + * @brief Updates the folder info. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Important notes: - * - None. + * @param[in] handle The Message handle + * @param[in] folder_info A pointer to an #MSG_FOLDER_INFO_S structure * - * \param - handle is Message handle. - * \param - folder_info is a pointer to an MSG_FOLDER_INFO_S structure. + * @return @c 0 on success, + * otherwise a negative error value * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * Make Folder - * MSG_FOLDER_INFO_S folderInfo; - * ... - * err = msg_open_msg_handle(&msgHandle); - * - * folderInfo.folderId = 2; - * folderInfo.folderType = MSG_FOLDER_TYPE_USER_DEF; - * ... - * err = msg_update_folder(msgHandle, &folderInfo); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_update_folder(msg_handle_t handle, const msg_struct_t folder_info); /** - - * \par Description: - * Deletes an exisiting folder. - * - * \par Purpose: - * This API is used to delete an existing folder. - * - * \par Typical use case: - * Deletes an existing folder. - * - * \par Method of function operation: - * Sets up the database connection and deletes an existing folder to the folder table. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None. - * - * \param input - handle is Message handle. - * \param input - folder_id is the ID of the folder to be deleted. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @brief Deletes an existing folder. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Related functions: - * None + * @param[in] handle The Message handle + * @param[in] folder_id The ID of the folder to be deleted * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * err = msg_delete_folder(hMsgHandle, MSG_INBOX_ID); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_delete_folder(msg_handle_t handle, msg_folder_id_t folder_id); /** - - * \par Description: - * Returns the information list of folders. - * - * \par Purpose: - * This API is used to get the information list of folders. - * - * \par Typical use case: - * Gets the folder list information. - * - * \par Method of function operation: - * Sets up the database connection and queries for the folder list information. + * @brief Gets the information list of folders. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Important notes: - * - None. + * @param[in] handle The Message handle + * @param[out] folder_list A pointer to a #msg_struct_list_s structure * - * \param input - handle is Message handle. - * \param output - folder_list is a pointer to an msg_struct_list_s structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_struct_list_s folderList; - - * err = msg_open_msg_handle(&msgHandle); + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * err = msg_get_folder_list(msgHandle, &folderList); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * msg_release_folder_list(&folderList); - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_get_folder_list(msg_handle_t handle, msg_struct_list_s *folder_list); /** - - * \par Description: - * Creates the specified number of messages in database. - * - * \par Purpose: - * This API is used to generate specified number of messages in the database - * - * \par Typical use case: - * Generate large number of messages in the database. - * - * \par Method of function operation: - * Creates the specified number of messages in database for specified message type in the specified folder - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_type is one of enum _MSG_MESSAGE_TYPE_E. - * \param input - folder_id is the folder for the test messages. - * \param input - num_msg is the number of messages. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Parameter is invalid. - * - MSG_ERR_INVALID_FOLDER_ID Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_struct_list_s folderList; - - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * err = msg_generate_message(msgHandle, MSG_TYPE_SMS, MSG_INBOX_ID, 100); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @brief Creates the specified number of messages in database. + * @details This API is used to generate specified number of messages in the database + * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write + * + * @param[in] handle The Message handle + * @param[in] msg_type The message type \n + * One of enum _MSG_MESSAGE_TYPE_E. + * @param[in] folder_id The folder for the test messages + * @param[in] num_msg The number of messages + * + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_MSGHANDLE Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_type, msg_folder_id_t folder_id, unsigned int num_msg); -int msg_generate_sms(msg_handle_t handle, msg_folder_id_t folder_id, unsigned int num_msg) DEPRECATED; /** - - * \par Description: - * Returns the Message Data to be used by the Quick Panel. - * - * \par Purpose: - * This API is used to get the Message Datato be used by the Quick Panel. - * - * \par Typical use case: - * Quick panel needs the message information to show new message notification. - * - * \par Method of function operation: - * Connects to database and queries for information needed by the quick panel. - * - * \par Sync (or) Async: - * This is a Synchronous API. + * @brief Returns the Message Data to be used by the Quick Panel. * - * \par Important notes: - * - None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \param input - handle is Message handle. - * \param input - type is the type of message that Quick Panel need. - * \param output - msg is a pointer to an msg_message_t structure. + * @param[in] handle The Message handle + * @param[in] type The type of message that Quick Panel needs + * @param[out] msg A pointer to a #msg_struct_t structure * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Parameter is invalid. - * - MSG_ERR_INVALID_FOLDER_ID Storage is error. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_message_t msgInfo; - - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * err = msg_get_quick_panel_data(msgHandle, MSG_QUICKPANEL_SMS, msgInfo); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_DB_STEP There is no Quick Panel message + * @retval MSG_ERR_INVALID_PARAMETER(-9) Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_get_quick_panel_data(msg_handle_t handle, msg_quickpanel_type_t type, msg_struct_t msg); /** - - * \par Description: - * Resets the Messaging database. - * - * \par Purpose: - * This API is used to reset the messaging database. - * - * \par Typical use case: - * Completely delete the messaging database. - * - * \par Method of function operation: - * Connects to database and deletes all the messaging tables. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. + * @brief Resets the Messaging database. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Related functions: - * None + * @param[in] handle The Message handle * - * \par Known issues/bugs: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * err = msg_reset_database(msgHandle); - * if (err != MSG_SUCCESS) - *{ - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reset_database(msg_handle_t handle); /** - - * \par Description: - * Returns the total size used for message contents. - * - * \par Purpose: - * This API is used to get the total size used for message contents. - * - * \par Typical use case: - * To get the total space used by message contents. - * - * \par Method of function operation: - * Uses linux system calls to query the space used by message contents. + * @brief Gets the total size used for message contents. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Important notes: - * - None + * @param[in] handle The Message handle + * @param[out] memsize A pointer to the size * - * \param input - handle is Message handle. - * \param output - memsize is a pointer to the size. + * @return @c 0 on success, + * otherwise a negative error value * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * int memsize = 0; - * err = msg_open_msg_handle(&msgHandle); - * - * ... - * err = msg_get_mem_size(msgHandle, &memsize); - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_get_mem_size(msg_handle_t handle, unsigned int* memsize); /** - - * \par Description: - * Backup messages to storage. - * - * \par Purpose: - * This API is used to backup messages to storage. - * - * \par Typical use case: - * Backup messages to storage. - * - * \par Method of function operation: - * Reads all the messages from Messaging database and writes to storage in V-Message format - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * None - * - * \param input - msg_handle_t handle is Message handle. - * \param input - msg_message_backup_type_t type is backup_type. - * \param input - backup_filepath is path to backup message. + * @brief Backs up messages to storage. * - * \return Return Type int (msg_error_t) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @param[in] handle The Message handle + * @param[in] type The backup type + * @param[in] backup_filepath The path to backup message * - * \par Related functions: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_error_t err; - * msg_message_backup_type_t type = MSG_BACKUP_TYPE_MMS; - * const char *filepath = "/backup_mms" - * - * ... - * err = msg_backup_message(&msgHandle, type, filepath); - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_backup_message(msg_handle_t handle, msg_message_backup_type_t type, const char *backup_filepath); /** - - * \par Description: - * Restore messages from backed up messages. - * - * \par Purpose: - * This API is used to restore messages from backed up messages. - * - * \par Typical use case: - * Restore messages from previously backed up messages. - * - * \par Method of function operation: - * Reads the previously backup up messages and restores the database. + * @brief Restores messages from backed up messages. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Important notes: - * None + * @param[in] handle The Message handle + * @param[in] backup_filepath The path to backup message * - * \param input - msg_handle_t handle is Message handle. - * \param input - backup_filepath is path of backup file for restore. + * @return @c 0 on success, + * otherwise a negative error value * - * - * \return Return Type int (msg_error_t) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * msg_handle_t msgHandle = NULL; - * msg_error_t err; - * const char *filepath = "/backup_mms" - * ... - * err = msg_restore_message(&msgHandle, filepath); - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_restore_message(msg_handle_t handle, const char *backup_filepath); /** - - * \par Description: - * Search messages or addresses which including a string that applcation want to find. + * @brief Searches messages or addresses for the specified string. + * @details This API is used to search messages or addresses from storage. * - * \par Purpose: - * This API is used to search messages or addresses from storage. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Search messages or addresses from storage. + * @param[in] handle The Message handle + * @param[in] search_string The string to search + * @param[out] msg_thread_view_list A pointer to an #msg_struct_list_s structure * - * \par Method of function operation: - * search messages or addresses from storage. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_search_message_for_thread_view(msg_handle_t handle, const char *search_string, msg_struct_list_s *msg_thread_view_list); + + +/** + * @brief Gets reject message list by phone number. + * @details This API is used to get reject message list from storage. * - * \par Important notes: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \param input - msg_handle_t handle is Message handle. - * \param input - search_string is the string to search. - * \param output - msg_thread_view_list is a pointer to an msg_struct_list_s structure. + * @param[in] handle The Message handle + * @param[in] phone_num The string of phone number to find + * @param[out] msg_reject_msg_list A pointer to a #msg_struct_list_s structure * - * \return Return Type int (msg_error_t) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_reject_msg_list(msg_handle_t handle, const char* phone_num, msg_struct_list_s *msg_reject_msg_list); + + +/** + * @brief Registers a callback function about the change of storage status to Message handle. + * @details This API is used to register a callback function about the change of storage status "msg_storage_change_cb" to Message handle. * - * \par Related functions: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Known issues/bugs: - * None + * @remarks This function MUST be called after Message handle is opened. * - * \par Sample code: - * \code - * ... + * @param[in] handle The Message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; - * ... - * char* search_string = "hello"; - * msg_struct_list_s threadViewList; - * ... - * err = msg_search_message_for_thread_view(&msgHandle, search_string, &threadViewList); + * @return @c 0 on success, + * otherwise a negative error value * - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected + * @retval MSG_ERR_MEMORY_ERROR Memory is error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_search_message_for_thread_view(msg_handle_t handle, const char *search_string, msg_struct_list_s *msg_thread_view_list); +int msg_reg_storage_change_callback(msg_handle_t handle, msg_storage_change_cb cb, void *user_param); -/** - * \par Description: - * Search messages or addresses which including a string that applcation want to find. - * - * \par Purpose: - * This API is used to search messages or addresses from storage. - * - * \par Typical use case: - * Search messages or addresses from storage. - * - * \par Method of function operation: - * search messages or addresses from storage. - * - * \par Sync (or) Async: - * This is a Synchronous API. +/** + * @brief Gets the report status information of message. * - * \par Important notes: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \param input - msg_handle_t handle is Message handle. - * \param input - search_string is the string to search. - * \param input - offset is the offset of the search result. - * \param input - limit is the limit of the search result. - * \param output - msg_list is a pointer to an msg_struct_list_s structure. + * @param[in] handle The Message handle + * @param[in] msg_id The ID of the message + * @param[out] report_status A pointer to a #msg_struct_list_s structure * - * \return Return Type int (msg_error_t) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_report_status(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_list_s *report_list); + + +/** + * @brief Gets the address list for specific thread ID. * - * \par Related functions: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Known issues/bugs: - * None + * @param[in] handle The Message handle + * @param[in] msg_id The ID of the message + * @param[out] msg_address_list A pointer to a #msg_struct_list_s structure * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; - * ... - * msg_struct_list_s msg_list; - * int offset = 0; - * int limit = 10; + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_address_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_list_s *msg_address_list); + + +/** + * @brief Gets the thread ID by address. * - * MSG_SEARCH_CONDITION_S searchCon; + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * searchCon.msgType = MSG_TYPE_SMS; - * searchCon.folderId = MSG_INBOX_ID; - * searchCon.pSearchVal = "keyString"; - * searchCon.pAddressVal = "01000000000"; + * @param[in] handle The Message handle + * @param[in] msg_address_list A pointer to a #msg_struct_list_s structure + * @param[out] thread_id The thread ID of the message * - * ... - * err = msg_search_message(hMsgHandle, &searchCon, offset, limit, &msgList); + * @return @c 0 on success, + * otherwise a negative error value * - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_search_message(msg_handle_t handle, const msg_struct_t msg_search_conditions, int offset, int limit, msg_struct_list_s *msg_list); -/** +int msg_get_thread_id_by_address(msg_handle_t handle, msg_struct_list_s *msg_address_list, msg_thread_id_t *thread_id); - * \par Description: - * Get reject message list that application wants to find by phone number. - * - * \par Purpose: - * This API is used to get reject message list from storage. - * - * \par Typical use case: - * Get reject message list from storage. +/** + * @brief Gets the thread ID by address. * - * \par Method of function operation: - * Get reject message list from storage. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Sync (or) Async: - * This is a Synchronous API. + * @param[in] handle The Message handle + * @param[in] msg_address_list A pointer to a #msg_list_handle structure + * @param[out] thread_id The thread ID of the message * - * \par Important notes: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \param input - msg_handle_t handle is Message handle. - * \param input - phone_num is the string of phone number to find. - * \param output - msg_reject_msg_list is a pointer to an msg_struct_list_s structure. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ - * \return Return Type int (msg_error_t) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_PARAMETER Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR Storage is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None +int msg_get_thread_id_by_address2(msg_handle_t handle, msg_list_handle_t msg_address_list, msg_thread_id_t *thread_id); + + + +/** + * @brief Gets the thread information. * - * \par Known issues/bugs: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Sample code: - * \code - * ... + * @param[in] handle The Message handle + * @param[in] thread_id The ID of the thread + * @param[out] msg_thread A pointer to a #msg_struct_t structure * - * msg_handle_t msgHandle = NULL; - * msg_error_t err = MSG_SUCCESS; - * ... - * char* phone_num = "01030016057"; - * msg_struct_list_s rejectMsgList; - * ... - * err = msg_get_reject_msg_list(hMsgHandle, phone_num, &rejectMsgList); + * @return @c 0 on success, + * otherwise a negative error value * - * if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_get_reject_msg_list(msg_handle_t handle, const char* phone_num, msg_struct_list_s *msg_reject_msg_list); +int msg_get_thread(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_t msg_thread); -/** - * \par Description: - * Registers a callback function about the change of storage status to Message handle. - * - * \par Purpose: - * This API is used to register a callback function about the change of storage status "msg_storage_change_cb" to Message handle. +/** + * @brief Gets the information list of messages. * - * \par Typical use case: - * Register a callback function about the change of storage status. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Method of function operation: - * Adds the msg_storage_change_cb API to a callback function list. + * @param[in] handle The Message handle + * @param[in] msg_list_conditions A pointer to a #msg_struct_t structure for getting conditions + * @param[out] msg_list A pointer to a #msg_struct_list_s structure * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * This function MUST be called after Message handle is opened. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_get_message_list2(msg_handle_t handle, const msg_struct_t msg_list_conditions, msg_struct_list_s *msg_list); + + +/** + * @brief A function to get media list of a chat room. * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. + * @since_tizen 2.3.1 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected. - * - MSG_ERR_MEMORY_ERROR Memory is error. + * @remarks This function MUST be called after Message handle is opened. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @param[in] handle The Message handle + * @param[in] thread_id The thread id of conversation to get media list + * @param[out] msg_list The media file list in a conversation * - * \par Related functions: - * None + * @return @c 0 on success, + * otherwise a negative error value * - * \par Known issues/bugs: - * None + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + */ + +int msg_get_media_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_list_handle_t *msg_list); + + +/** + * @brief Adds a new push event. * - * \par Sample code: - * \code - * ... + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * int err = MSG_SUCCESS; + * @param[in] handle The Message handle + * @param[in] push_event A pointer to a #msg_struct_t structure for push event * - * err = msg_reg_storage_change_callback(msgHandle, &storageCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * void storageCB(msg_handle_t handle, msg_thread_id_t threadId, msg_message_id_t msgId, void *user_param) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_reg_storage_change_callback(msg_handle_t handle, msg_storage_change_cb cb, void *user_param); +int msg_add_push_event(msg_handle_t handle, const msg_struct_t push_event); -/** - * \par Description: - * Gets the report status information of message. - * - * \par Purpose: - * This API is used to get the report status information of specified message. +/** + * @brief Deletes a push event. * - * \par Typical use case: - * Gets the report status information of specified message from the database. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Method of function operation: - * Sets up the database connection and Gets the report status information of specified message from the report table. + * @param[in] handle The Message handle + * @param[in] push_event A pointer to a #msg_struct_t structure for push event * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * - None + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_delete_push_event(msg_handle_t handle, const msg_struct_t push_event); + + +/** + * @brief Updates a push event. * - * \param input - handle is Message handle. - * \param input - msg_id is the ID of the message. - * \param output - report_status is a pointer to a MSG_REPORT_STATUS_INFO_S structure. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS - Success in operation. - * - MSG_ERR_INVALID_PARAMETER - Parameter is invalid. - * - MSG_ERR_STORAGE_ERROR - Storage is error. + * @param[in] handle The Message handle + * @param[in] src_event A pointer to a #msg_struct_t structure for source push event + * @param[in] dst_event A pointer to a #msg_struct_t structure for destination push event * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Related functions: - * None + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_update_push_event(msg_handle_t handle, const msg_struct_t src_event, const msg_struct_t dst_event); + + +/** + * @brief Deletes messages by Message ID list from the database. * - * \par Known issues/bugs: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Sample code: - * \code - * ... + * @param[in] handle sThe Message handle + * @param[in] msg_id_list The message ID list to be deleted * - * msg_handle_t msgHandle = NULL; - * MSG_REPORT_STATUS_INFO_S reportStatus; + * @return @c 0 on success, + * otherwise a negative error value * - * ... + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_delete_msgs_by_list(msg_handle_t handle, msg_id_list_s *msg_id_list); + + +/** + * @brief Marks a conversation given by thread ID as read. * - * err = msg_open_msg_handle(&msgHandle); + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * ... + * @param[in] handle The Message handle + * @param[in] thread_id The thread ID to be updated * - * err = msg_get_report_status(msgHandle, msgID, &reportStatus) -* if( err != MSG_SUCCESS ) - * { - * printf("err [%d]", err); - * return err; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Parameter is invalid + * @retval MSG_ERR_STORAGE_ERROR Storage error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_get_report_status(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_list_s *report_list); -int msg_get_address_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_list_s *msg_address_list); - - -int msg_get_thread_id_by_address(msg_handle_t handle, msg_struct_list_s *msg_address_list, msg_thread_id_t *thread_id); - - -int msg_get_thread(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_t msg_thread); - - -int msg_get_message_list(msg_handle_t handle, msg_folder_id_t folder_id, msg_thread_id_t thread_id, msg_message_type_t msg_type, msg_storage_id_t storage_id, msg_struct_list_s *msg_list); - - -int msg_add_push_event(msg_handle_t handle, const msg_struct_t push_event); - -int msg_delete_push_event(msg_handle_t handle, const msg_struct_t push_event); - -int msg_update_push_event(msg_handle_t handle, const msg_struct_t src_event, const msg_struct_t dst_event); - -int msg_delete_msgs_by_list(msg_handle_t handle, msg_id_list_s *msg_id_list); +int msg_set_conversation_to_read(msg_handle_t handle, msg_thread_id_t thread_id); /** * @} */ diff --git a/include/mapi/msg_storage_types.h b/include/mapi/msg_storage_types.h index 5af9827..792d6ef 100755 --- a/include/mapi/msg_storage_types.h +++ b/include/mapi/msg_storage_types.h @@ -1,20 +1,17 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ #ifndef MSG_STORAGE_TYPES_H_ @@ -31,12 +28,19 @@ ==================================================================================================*/ /** - * @brief Represents message id list. + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK_STORAGE_MODULE + * @{ + */ + + +/** + * @brief The structure type that represents message ID list. */ typedef struct { - int nCount; /**< The count of message id informatioin */ - msg_message_id_t *msgIdList; /**< The pointer to message id informatioin */ + int nCount; /**< The count of message ID informatioin */ + msg_message_id_t *msgIdList; /**< The pointer to message ID informatioin */ }msg_id_list_s; @@ -45,46 +49,50 @@ typedef struct ==================================================================================================*/ /** - * @brief Represents a folder type. \n - * The values for this type SHOULD be in _MSG_FOLDER_TYPE_E. + * @brief The structure type that represents a folder type. \n + * The values for this type SHOULD be in @ref _MSG_FOLDER_TYPE_E. */ typedef unsigned char msg_folder_type_t; /** - * @brief Represents a sort type. \n - * The values for this type SHOULD be in \ref _MSG_SORT_TYPE_E. + * @brief The structure type that represents a sort type. \n + * The values for this type SHOULD be in @ref _MSG_SORT_TYPE_E. */ typedef unsigned char msg_sort_type_t; /** - * @brief Represents a Saved SIM message ID. + * @brief The structure type that represents a saved SIM message ID. */ typedef signed short msg_sim_id_t; +/** + * @brief The structure type that represents a Saved SIM slot ID. + */ +typedef int msg_sim_slot_id_t; + /** - * @brief Represents a message type for quick panel. \n - * The values for this type SHOULD be in \ref _MSG_QUICKPANEL_TYPE_E. + * @brief The structure type that represents a message type for quick panel. \n + * The values for this type SHOULD be in @ref _MSG_QUICKPANEL_TYPE_E. */ typedef unsigned char msg_quickpanel_type_t; /** - * @brief Represents a storage change CB type. \n - * The values for this type SHOULD be in \ref _MSG_STORAGE_CHANGE_TYPE_E. + * @brief The structure type that represents a storage change CB type. \n + * The values for this type SHOULD be in @ref _MSG_STORAGE_CHANGE_TYPE_E. */ typedef unsigned char msg_storage_change_type_t; -/** @brief Prototype of the function that will be called when the database of message framework is changed. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_storage_change_callback. - * The callback function runs in the application process, not in the framework process. - * @param[in] handle is Message handle. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when the database of message framework is changed. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_storage_change_callback(). + * The callback function runs in the application process, not in the framework process. + * @param[in] handle The Message handle. + * @param[in] user_param A pointer to user data */ typedef void (*msg_storage_change_cb)(msg_handle_t handle, msg_storage_change_type_t storageChangeType, msg_id_list_s *pMsgIdList, void *user_param); @@ -94,119 +102,129 @@ typedef void (*msg_storage_change_cb)(msg_handle_t handle, msg_storage_change_ty ==================================================================================================*/ /** - * @brief Represents the values of a storage type. \n - * This enum is used as the value of msg_storage_id_t. + * @brief Enumeration for the values of a storage type. \n + * This enum is used as the value of msg_storage_id_t. */ enum _MSG_STORAGE_ID_E { - MSG_STORAGE_UNKNOWN = 0, /**< Storage Id is unknown. */ - MSG_STORAGE_PHONE, /**< Storage Id is Phone. */ - MSG_STORAGE_SIM, /**< Storage Id is SIM card. */ + MSG_STORAGE_UNKNOWN = 0, /**< Storage ID is unknown. */ + MSG_STORAGE_PHONE, /**< Storage ID is Phone. */ + MSG_STORAGE_SIM, /**< Storage ID is SIM card in slot 1. */ + MSG_STORAGE_SIM2, /**< Storage ID is SIM card in slot 2. */ }; /** - * @brief Represents the values of a storage type. \n - * This enum is used as the value of msg_folder_id_t. + * @brief Enumeration for the values of a storage type. \n + * This enum is used as the value of msg_folder_id_t. */ enum _MSG_FOLDER_ID_E { - MSG_IOSBOX_ID = -1, /**< Indicates INBOX, OUTBOX and SENTBOX group folder id. (Only for search option.) */ - MSG_ALLBOX_ID = 0, /**< Indicates INBOX, OUTBOX, SENTBOX and DRAFTBOX group folder id. (Only for search option.) */ - MSG_INBOX_ID = 1, - MSG_OUTBOX_ID = 2, - MSG_SENTBOX_ID = 3, - MSG_DRAFT_ID = 4, - MSG_CBMSGBOX_ID = 5, - MSG_SPAMBOX_ID = 6, - - // new folder should be placed here - - MSG_MAX_FOLDER_ID + MSG_IOSBOX_ID = -1, /**< Indicates INBOX, OUTBOX and SENTBOX group folder ID. (Only for search option.) */ + MSG_ALLBOX_ID = 0, /**< Indicates INBOX, OUTBOX, SENTBOX and DRAFTBOX group folder ID. (Only for search option.) */ + MSG_INBOX_ID = 1, /**< Indicates INBOX folder ID */ + MSG_OUTBOX_ID = 2, /**< Indicates OUTBOX folder ID */ + MSG_SENTBOX_ID = 3, /**< Indicates SENTBOX folder ID */ + MSG_DRAFT_ID = 4, /**< Indicates DRAFT folder ID */ + MSG_CBMSGBOX_ID = 5, /**< Indicates CALLBACK message folder ID */ + MSG_SPAMBOX_ID = 6, /**< Indicates SPAM message folder ID */ + MSG_MAX_FOLDER_ID /**< Indicates MAX folder ID. Folder ID to be accessed should be smaller than this */ }; /** - * @brief Represents the values of a folder type. \n - * This enum is used as the value of msg_folder_type_t. + * @brief Enumeration for the values of a folder type. \n + * This enum is used as the value of msg_folder_type_t. */ enum _MSG_FOLDER_TYPE_E { MSG_FOLDER_TYPE_INBOX = 1, /**< Inbox folder */ - MSG_FOLDER_TYPE_OUTBOX, /**< Outbox folder */ - MSG_FOLDER_TYPE_DRAFT, /**< Draft folder */ + MSG_FOLDER_TYPE_OUTBOX, /**< Outbox folder */ + MSG_FOLDER_TYPE_DRAFT, /**< Draft folder */ MSG_FOLDER_TYPE_SPAMBOX, /**< Spambox folder */ - MSG_FOLDER_TYPE_TEMPLATE, /**< Template folder */ MSG_FOLDER_TYPE_USER_DEF /**< Folder which is created by a user */ }; /** - * @brief Represents the values of a sort type. \n - * This enum is used as the value of msg_sort_type_t. + * @brief Enumeration for the values of a sort type. \n + * This enum is used as the value of msg_sort_type_t. */ enum _MSG_SORT_TYPE_E { MSG_SORT_BY_UNKNOWN = 0, /**< Unknown sort type */ - MSG_SORT_BY_DISPLAY_FROM, /**< Sort by display from */ - MSG_SORT_BY_DISPLAY_TO, /**< Sort by display to */ + MSG_SORT_BY_DISPLAY_FROM, /**< Sort by display from */ + MSG_SORT_BY_DISPLAY_TO, /**< Sort by display to */ MSG_SORT_BY_DISPLAY_TIME, /**< Sort by display time */ MSG_SORT_BY_MSG_TYPE, /**< Sort by msg type */ MSG_SORT_BY_READ_STATUS, /**< Sort by read status */ - MSG_SORT_BY_STORAGE_TYPE, /**< Sort by storage type */ + MSG_SORT_BY_STORAGE_TYPE, /**< Sort by storage type */ MSG_SORT_BY_THREAD_NAME, /**< Sort by name for thread view*/ MSG_SORT_BY_THREAD_DATE, /**< Sort by date for thread view*/ - MSG_SORT_BY_THREAD_COUNT, /**< Sort by count for thread view*/ + MSG_SORT_BY_THREAD_COUNT, /**< Sort by count for thread view*/ }; /** - * @brief Represents the values of a message type for quick panel. \n - * This enum is used as the value of msg_quickpanel_type_t. + * @brief Enumeration for the values of a message type for quick panel. \n + * This enum is used as the value of msg_quickpanel_type_t. */ enum _MSG_QUICKPANEL_TYPE_E { - MSG_QUICKPANEL_SMS = 0, - MSG_QUICKPANEL_MMS, - MSG_QUICKPANEL_DELIVER_REP, - MSG_QUICKPANEL_READ_REP, - MSG_QUICKPANEL_VOICEMAIL, - MSG_QUICKPANEL_MMS_NOTI, + MSG_QUICKPANEL_SMS = 0, /**< Quickpanel SMS */ + MSG_QUICKPANEL_MMS, /**< Quickpanel MMS */ + MSG_QUICKPANEL_DELIVER_REP, /**< Quickpanel delivery report */ + MSG_QUICKPANEL_READ_REP, /**< Quickpanel message read report */ + MSG_QUICKPANEL_VOICEMAIL, /**< Quickpanel voicemail */ + MSG_QUICKPANEL_MMS_NOTI, /**< Quickpanel MMS notification */ }; + /** - * @} + * @brief Enumeration for the values of a count limit for each mailbox. */ enum _MSG_COUNT_LIMIT_MAILBOX_TYPE_E { - MSG_COUNT_LIMIT_INBOX_TYPE, - MSG_COUNT_LIMIT_OUTBOX_TYPE, - MSG_COUNT_LIMIT_SENTBOX_TYPE, - MSG_COUNT_LIMIT_DRAFTBOX_TYPE, - MSG_COUNT_LIMIT_CBMSGBOX_TYPE, - MSG_COUNT_LIMIT_MAILBOX_TYPE_MAX, + MSG_COUNT_LIMIT_INBOX_TYPE, /**< Message count limit of inbox folder*/ + MSG_COUNT_LIMIT_OUTBOX_TYPE, /**< Message count limit of outbox folder*/ + MSG_COUNT_LIMIT_SENTBOX_TYPE, /**< Message count limit of sentbox folder*/ + MSG_COUNT_LIMIT_DRAFTBOX_TYPE, /**< Message count limit of draftbox folder*/ + MSG_COUNT_LIMIT_CBMSGBOX_TYPE, /**< Message count limit of call-back-message-box folder */ + MSG_COUNT_LIMIT_MAILBOX_TYPE_MAX, /**< Indicates the maximum number of types of folder message count limits */ }; + +/** + * @brief Enumeration for the values of a count limit for each message type. + */ enum _MSG_COUNT_LIMIT_MSG_TYPE_E { - MSG_COUNT_LIMIT_SMS_TYPE, - MSG_COUNT_LIMIT_MMS_TYPE, - MSG_COUNT_LIMIT_CB_TYPE, - MSG_COUNT_LIMIT_WAPPUSH_TYPE, - MSG_COUNT_LIMIT_PROVISION_TYPE, - MSG_COUNT_LIMIT_MSG_TYPE_MAX, + MSG_COUNT_LIMIT_SMS_TYPE, /**< Message count limit for SMS */ + MSG_COUNT_LIMIT_MMS_TYPE, /**< Message count limit for MMS */ + MSG_COUNT_LIMIT_CB_TYPE, /**< Message count limit for callback messages */ + MSG_COUNT_LIMIT_WAPPUSH_TYPE, /**< Message count limit for wappush messages */ + MSG_COUNT_LIMIT_PROVISION_TYPE, /**< Message count limit for provision messages */ + MSG_COUNT_LIMIT_MSG_TYPE_MAX, /**< Indicates maximum number of types of message count limits */ }; + +/** + * @brief Enumeration for the values of a storage change type. \n + * This enum is used with storage change callback functions. + */ enum _MSG_STORAGE_CHANGE_TYPE_E { // msg data - MSG_STORAGE_CHANGE_INSERT = 1, - MSG_STORAGE_CHANGE_UPDATE, - MSG_STORAGE_CHANGE_DELETE, + MSG_STORAGE_CHANGE_INSERT = 1, /**< Indicates storage change by an INSERT operation*/ + MSG_STORAGE_CHANGE_UPDATE, /**< Indicates storage change by an UPDATE operation*/ + MSG_STORAGE_CHANGE_DELETE, /**< Indicates storage change by a DELETE operation*/ // thread data - MSG_STORAGE_CHANGE_CONTACT, + MSG_STORAGE_CHANGE_CONTACT, /**< Indicates storage change by a CHANGE CONTACT operation*/ }; +/** + * @} + */ #endif /* MSG_STORAGE_TYPES_H_ */ diff --git a/include/mapi/msg_transport.h b/include/mapi/msg_transport.h index 9766bed..6dd003c 100755 --- a/include/mapi/msg_transport.h +++ b/include/mapi/msg_transport.h @@ -1,38 +1,22 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ -/** - * @file MapiTransport.h - * @brief Defines transport API of messaging framework - * @version 1.0 - */ - #ifndef MAPI_TRANSPORT_H #define MAPI_TRANSPORT_H -/** - * @section Introduction - * - Introduction : Overview on Messaging Transport API - * @section Program - * - Program : Messaging Transport API Reference - */ - /*================================================================================================== INCLUDE FILES ==================================================================================================*/ @@ -45,937 +29,521 @@ extern "C" #endif /** - * @ingroup MESSAGING_FRAMEWORK - * @defgroup MESSAGING_TRANSPORT_API Messaging Transport API - * @{ - */ - -/*================================================================================================== - FUNCTION PROTOTYPES -==================================================================================================*/ - -/** - - * \par Description: - * Submits a request to the Messaging Framework. - * - * \par Purpose: - * This API is used to submit a request to the Messaging Framework. - * - * \par Typical use case: - * Submit a request to Messaging Service such as Send Message, Forward etc. + * @internal + * @ingroup MSG_SERVICE_FRAMEWORK + * @defgroup MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE Transport API + * @brief The Transport API provides functions to send SMS/MMS and register incoming/sending/syncML/report callback. * - * \par Method of function operation: - * Sets up the database connection and inserts the message to message table. + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE + * @{ * - * \par Sync (or) Async: - * This is a Synchronous API. + * @section MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE_HEADER Required Header + * \#include <msg_transport.h> * - * \par Important notes: - * - The result information will be sent back by using the callback function, msg_sent_status_cb. - * - Applications MUST fill in the valid message type. - * - reqId will be filled in the framework. + * @section MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE_OVERVIEW Overview * - * \param input - handle is Message handle. - * \param input - req is a pointer to an MSG_REQUEST_S structure. + * The Transport API provides the following functionalities: * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - MSG_ERR_NULL_POINTER Pointer is NULL. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * - Sending SMS/MMS messages + * - Register incoming message callback + * - Register sent status callback + * - Register push message application + * - Register syncML message callback + * - Managing the registration * - * \par Related functions: - * None + * @section MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE_FEATURE Related Features + * This API is related with the following features:\n + * - http://tizen.org/feature/network.telephony\n + * - http://tizen.org/feature/network.telephony.mms\n * - * \par Known issues/bugs: - * None + * It is recommended to design feature related codes in your application for reliability.\n * - * \par Sample code: - * \code - * ... + * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; + * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n * - * req.msg = msg; - * req.sendOpt = sendOpt; - - * err = msg_submit_req(msgHandle, &req); - * if (err != MSG_SUCCESS) - * { - * ... - * } + * More details on featuring your application can be found from <a href="../org.tizen.mobile.native.appprogramming/html/ide_sdk_tools/feature_element.htm"><b>Feature Element</b>.</a> * - * ... - * \endcode */ -/*================================================================================================*/ -int msg_submit_req(msg_handle_t handle, msg_struct_t req); +/*================================================================================================== + FUNCTION PROTOTYPES +==================================================================================================*/ /** - - * \par Description: - * Registers sent status callback function to Message handle. - * - * \par Purpose: - * This API is used to register sent status callback function "msg_sent_status_cb" to Message handle. + * @brief Submits a request to the Messaging Framework. * - * \par Typical use case: - * Register for sent status callback. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Method of function operation: - * Adds the msg_sent_status_cb API to sent status callback list. + * @remarks The result information will be sent back by using the callback function, msg_sent_status_cb(). + * @remarks Applications MUST fill in the valid message type. + * @remarks reqId will be filled in the framework. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @param[in] handle The message handle + * @param[in] req The pointer to an #MSG_REQUEST_S structure * - * \par Important notes: - * This function MUST be called after Message handle is opened. + * @return @c 0 on success, + * otherwise a negative error value * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_TRANSPORT_ERROR Transport error + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_submit_req(msg_handle_t handle, msg_struct_t req); + + +/** + * @brief Registers sent status callback function to Message handle. + * @details This API is used to register sent status callback function msg_sent_status_cb() to Message handle. * - * \par Related functions: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Known issues/bugs: - * None + * @remarks This function MUST be called after Message handle is opened. * - * \par Sample code: - * \code - * ... + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; + * @return @c 0 on success, + * otherwise a negative error value * - * req.msg = msg; - * req.sendOpt = sendOpt; - - * err = msg_reg_sent_status_callback(msgHandle, &sentStatusCB, (void*)"sent status callback"); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } - - * void sentStatusCB(msg_handle_t Handle, MSG_SENT_STATUS_S *pStatus, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reg_sent_status_callback(msg_handle_t handle, msg_sent_status_cb cb, void *user_param); /** - - * \par Description: - * Registers incoming SMS callback to Message handle. + * @brief Registers incoming SMS callback to Message handle. + * @details This API is used to Registers incoming SMS callback function msg_sms_incoming_cb() to Message handle. * - * \par Purpose: - * This API is used to Registers incoming SMS callback function "msg_sms_incoming_cb" to Message handle. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Register incoming SMS message callback. + * @remarks This function MUST be called after Message handle is opened. * - * \par Method of function operation: - * Adds the msg_sms_incoming_cb API to incoming SMS callback list. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] port The port used for listening \n + * If port is not used, set to @c 0. + * @param[in] user_param A pointer to user data * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * This function MUST be called after Message handle is opened. - * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - port is used for listening. If port is not used, please assign 0 to it. - * \param input - user_param is a pointer to user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; - * - * req.msg = msg; - * req.sendOpt = sendOpt; - - * err = msg_reg_sms_message_callback(msgHandle, &incomingSmsCB, 0, (void*)"sms message callback"); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } - * - * void incomingSmsCB(msg_handle_t Handle, msg_message_t msg, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reg_sms_message_callback(msg_handle_t handle, msg_sms_incoming_cb cb, unsigned short port, void *user_param); /** - - * \par Description: - * Registers incoming MMS callback to Message handle. + * @brief Registers incoming MMS conf callback to Message handle. + * @details This API is used to Registers incoming MMS conf callback function msg_mms_conf_msg_incoming_cb() to Message handle. * - * \par Purpose: - * This API is used to Registers incoming MMS callback function "msg_mms_conf_msg_incoming_cb" to Message handle. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Register incoming SMS message callback. + * @remarks This function MUST be called after Message handle is opened. * - * \par Method of function operation: - * Adds the msg_mms_conf_msg_incoming_cb API to incoming MMS callback list. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] app_id The app ID used for listening \n + * If appId is not used, set to @c NULL. + * @param[in] user_param A pointer to user data * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * This function MUST be called after Message handle is opened. - * - * \param input - handle is Message handle. - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - app_id is used for listening. If appId is not used, please assign NULL to it. - * \param input - user_param is a pointer to user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; - * - * req.msg = msg; - * req.sendOpt = sendOpt; - - * err = msg_reg_mms_conf_message_callback(msgHandle, &incomingMmsConfCB, NULL, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } - * - * void incomingMmsConfCB(msg_handle_t Handle, msg_message_t msg, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reg_mms_conf_message_callback(msg_handle_t handle, msg_mms_conf_msg_incoming_cb cb, const char *app_id, void *user_param); /** - - * \par Description: - * Registers incoming SyncML Message callback to Message handle. + * @brief Registers incoming SyncML Message callback to Message handle. + * @details This API is used to register incoming SyncML Message callback function msg_syncml_msg_incoming_cb() to Message handle. * - * \par Purpose: - * This API is used to Registers incoming SyncML Message callback function "msg_syncml_msg_incoming_cb" to Message handle. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Register incoming SMS message callback. + * @remarks This function MUST be called after Message handle is opened. * - * \par Method of function operation: - * Adds the msg_syncml_msg_incoming_cb API to incoming SyncML callback list. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * This function MUST be called after Message handle is opened. - * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected. - * - MSG_ERR_MEMORY_ERROR Memory is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * - * err = err = msg_reg_syncml_message_callback(msgHandle, &syncMLCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } - * - * void syncMLCB(msg_handle_t hMsgHandle, msg_syncml_message_type_t msgType, const char* pPushHeader, int PushHeaderLen, const char* pPushBody, int PushBodyLen, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reg_syncml_message_callback(msg_handle_t handle, msg_syncml_msg_incoming_cb cb, void *user_param); /** - - * \par Description: - * Registers incoming LBS Message callback to Message handle. - * - * \par Purpose: - * This API is used to Registers incoming LBS Message callback function "msg_lbs_msg_incoming_cb" to Message handle. + * @brief Registers incoming LBS Message callback to Message handle. + * @details This API is used to register incoming LBS Message callback function msg_lbs_msg_incoming_cb() to Message handle. * - * \par Typical use case: - * Register incoming SMS message callback. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Method of function operation: - * Adds the msg_lbs_msg_incoming_cb API to incoming LBS Message callback list. + * @remarks This function MUST be called after Message handle is opened. * - * \par Sync (or) Async: - * This is a Synchronous API. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * \par Important notes: - * This function MUST be called after Message handle is opened. + * @return @c 0 on success, + * otherwise a negative error value * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected. - * - MSG_ERR_MEMORY_ERROR Memory is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * - * err = msg_reg_lbs_message_callback(msgHandle, &lbsCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } - * - * void lbsCB(msg_handle_t hMsgHandle, const char* pPushHeader, const char* pPushBody, int pushBodyLen, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_reg_lbs_message_callback(msg_handle_t handle, msg_lbs_msg_incoming_cb cb, void *user_param); /** - - * \par Description: - * Registers incoming LBS Message callback to Message handle. - * - * \par Purpose: - * This API is used to Registers incoming LBS Message callback function "msg_lbs_msg_incoming_cb" to Message handle. - * - * \par Typical use case: - * Register incoming SMS message callback. + * @brief Registers SyncML operation callback to Message handle. + * @details This API is used to register SyncML operation callback function msg_syncml_msg_operation_cb() to Message handle. * - * \par Method of function operation: - * Adds the msg_lbs_msg_incoming_cb API to incoming LBS Message callback list. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Sync (or) Async: - * This is a Synchronous API. + * @remarks This function MUST be called after Message handle is opened. * - * \par Important notes: - * This function MUST be called after Message handle is opened. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. + * @return @c 0 on success, + * otherwise a negative error value * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected. - * - MSG_ERR_MEMORY_ERROR Memory is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_reg_syncml_message_operation_callback(msg_handle_t handle, msg_syncml_msg_operation_cb cb, void *user_param); + + +/** + * @brief Registers incoming push Message callback to Message handle. + * @details This API is used to register incoming push Message callback function msg_push_msg_incoming_cb() to Message handle. * - * \par Known issues/bugs: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Sample code: - * \code - * ... + * @remarks This function MUST be called after Message handle is opened. * - * int err = MSG_SUCCESS; + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] app_id The app ID for listening \n + * If appId is not used, set to @c NULL. + * @param[in] user_param A pointer to user data * - * err = msg_reg_lbs_message_callback(msgHandle, &lbsCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * void lbsCB(msg_handle_t hMsgHandle, const char* pPushHeader, const char* pPushBody, int pushBodyLen, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ -int msg_reg_syncml_message_operation_callback(msg_handle_t handle, msg_syncml_msg_operation_cb cb, void *user_param); - int msg_reg_push_message_callback(msg_handle_t handle, msg_push_msg_incoming_cb cb, const char *app_id, void *user_param); -int msg_reg_cb_message_callback(msg_handle_t handle, msg_cb_incoming_cb cb, bool bsave, void *user_param); /** - - * \par Description: - * Registers incoming LBS Message callback to Message handle. + * @brief Registers incoming CB Message callback to Message handle. + * @details This API is used to register incoming CB Message callback function msg_cb_incoming_cb() to Message handle. * - * \par Purpose: - * This API is used to Registers incoming LBS Message callback function "msg_lbs_msg_incoming_cb" to Message handle. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Typical use case: - * Register incoming SMS message callback. + * @remarks This function MUST be called after Message handle is opened. * - * \par Method of function operation: - * Adds the msg_lbs_msg_incoming_cb API to incoming LBS Message callback list. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] bsave A bool flag to indicate whether CB message is to be saved or not \n + * CB message will be saved if this flag is true + * @param[in] user_param A pointer to user data * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * This function MUST be called after Message handle is opened. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_reg_cb_message_callback(msg_handle_t handle, msg_cb_incoming_cb cb, bool bsave, void *user_param); + + + +/** + * @brief Registers incoming Report Message callback to Message handle. + * @details This API is used to register incoming Report Message callback function msg_report_msg_incoming_cb() to Message handle. * - * \param input - handle is Message handle. - * \param input - cb is a function to be called. - * \param input - user_param is a pointer to user data. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_MSGHANDLE_NOT_CONNECTED Message handle is not connected. - * - MSG_ERR_MEMORY_ERROR Memory is error. + * @remarks This function MUST be called after Message handle is opened. * - * \par Prospective clients: - * External/Native Apps using Messaging Services. + * @param[in] handle The message handle + * @param[in] cb The function to be called + * @param[in] user_param A pointer to user data * - * \par Related functions: - * None + * @return @c 0 on success, + * otherwise a negative error value + * + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_CALLBACK_ERROR Callback registration error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported + */ + +int msg_reg_report_message_callback(msg_handle_t handle, msg_report_msg_incoming_cb cb, void *user_param); + + +/** + * @brief Operates SyncML message. + * @details This API is used to run SyncML operation. * - * \par Known issues/bugs: - * None + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.read * - * \par Sample code: - * \code - * ... + * @remarks This function MUST be called after Message handle is opened. * - * int err = MSG_SUCCESS; + * @param[in] handle The message handle + * @param[in] msgId The message ID to run SycnML operation * - * err = msg_reg_lbs_message_callback(msgHandle, &lbsCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * return; - * } + * @return @c 0 on success, + * otherwise a negative error value * - * void lbsCB(msg_handle_t hMsgHandle, const char* pPushHeader, const char* pPushBody, int pushBodyLen, void *pUserParam) - * { - * ... - * } - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_TRANSPORT_ERROR Transport error + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_syncml_message_operation(msg_handle_t handle, msg_message_id_t msgId); /** - - * \par Description: - * Sends SMS. It is a synchronous API which has been blocked until sent status arrives. - * - * \par Purpose: - * This API is used to sends SMS. + * @brief Sends SMS. + * @details This API is used to send SMS. It is a synchronous API which has been blocked until sent status arrives. * - * \par Typical use case: - * Sends a SMS Message + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Method of function operation: - * It is a synchronous API which has been blocked until sent status arrives. + * @param[in] phone_num The list of phone numbers \n + * It is separated by ",". + * @param[in] sms_text The SMS text + * @param[in] cb The function to be called + * @param[in] user_param The user data * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * - None - * - * \param input - phone_num is the list of phone numbers. It is separated by ",". - * \param input - sms_text is a SMS text. - * \param input - cb is a function to be called. - * \param input - user_param is for user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_NULL_POINTER Invalid parameter. - * - MSG_ERR_MEMORY_ERROR Memory is error. + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported * * \par Prospective clients: * External/Native Apps using Messaging Services. * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * - * err = msg_sms_send("01000000000,01000000000", "1234567890", sentStatusCB, NULL); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode */ -/*================================================================================================*/ + int msg_sms_send(const char *phone_num, const char *sms_text, msg_simple_sent_status_cb cb, void *user_param); /** - - * \par Description: - * Submits request to send SMS message. - * - * \par Purpose: - * This API is used to submit request to send SMS message. + * @brief Submits request to send SMS message. + * @details This API is used to submit request to send SMS message. * - * \par Typical use case: - * Submits request to send SMS message. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Method of function operation: - * Submits a request to send SMS. + * @param[in] handle The message handle + * @param[in] req A pointer to #msg_struct_t structure for SMS request information * - * \par Sync (or) Async: - * This is a Synchronous API. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Important notes: - * - None - * - * \param input - phone_num is the list of phone numbers. It is separated by ",". - * \param input - sms_text is a SMS text. - * \param input - cb is a function to be called. - * \param input - user_param is for user data. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_NULL_POINTER Invalid parameter. - * - MSG_ERR_MEMORY_ERROR Memory is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; - * - * req.msg = msg; - * req.sendOpt = sendOpt; - * - * err = msg_sms_send_message(msgHandle, &req); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_NULL_POINTER Null parameter + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_sms_send_message(msg_handle_t handle, msg_struct_t req); /** - - * \par Description: - * Submits request to send MMS message. + * @brief Submits request to send MMS message. + * @details This API is used to submit request to send MMS message. * - * \par Purpose: - * This API is used to submit request to send MMS message. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Typical use case: - * Submits request to send MMS message. + * @param[in] handle The message handle + * @param[in] req A pointer to #msg_struct_t structure for MMS request information * - * \par Method of function operation: - * Submits a request to send MMS. + * @return @c 0 on success, + * otherwise a negative error value * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - req is a pointer to an MSG_REQUEST_S structure. - * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_NULL_POINTER Invalid parameter. - * - MSG_ERR_MEMORY_ERROR Memory is error. - * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None - * - * \par Sample code: - * \code - * ... - * - * int err = MSG_SUCCESS; - * MSG_REQUEST_S req; - * - * req.msg = msg; - * req.sendOpt = sendOpt; - * - * err = msg_mms_send_message(msgHandle, &req); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_mms_send_message(msg_handle_t handle, msg_struct_t req); /** - - * \par Description: - * Submits request to send MMS read report request. - * - * \par Purpose: - * This API is used to submit request to send MMS read report request. - * - * \par Typical use case: - * Submits request to send MMS read report request. - * - * \par Method of function operation: - * Submits a request to send MMS read report request. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - msg_id is a message id, which is a positive integer. - * \param input - mms_read_status is status whether message was read or not. + * @brief Submits request to send MMS read report request. + * @details This API is used to submit request to send MMS read report request. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_NULL_POINTER Invalid parameter. - * - MSG_ERR_MEMORY_ERROR Memory is error. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None + * @param[in] handle The message handle + * @param[in] msg_id The message ID \n + * This is a positive integer. + * @param[in] mms_read_status This is status whether message was read or not * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * int err = MSG_SUCCESS; - * - * err = err = msg_mms_send_read_report(NULL, 0, MSG_READ_REPORT_IS_READ); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_mms_send_read_report(msg_handle_t handle, msg_message_id_t msgId, msg_read_report_status_t mms_read_status); /** - - * \par Description: - * Submits request to send forward MMS request. - * - * \par Purpose: - * This API is used to submit request to send forward MMS request. - * - * \par Typical use case: - * Submits request to send forward MMS request. - * - * \par Method of function operation: - * Submits a request to send forward MMS request. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - req is a pointer to an MSG_REQUEST_S structure. + * @brief Submits request to send forward MMS request. + * @details This API is used to submit request to send forward MMS request. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - MSG_ERR_NULL_POINTER Pointer is NULL. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None + * @param[in] handle The message handle + * @param[in] req A pointer to #msg_struct_t structure for MMS * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * int err = MSG_SUCCESS; - * - * err = err = msg_mms_send_read_report(NULL, 0, MSG_READ_REPORT_IS_READ); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_mms_forward_message(msg_handle_t handle, msg_struct_t req); /** - - * \par Description: - * Submits request to retrieve MMS request. - * - * \par Purpose: - * This API is used to submit request to retrieve MMS request. - * - * \par Typical use case: - * Submits request to retrieve MMS request. - * - * \par Method of function operation: - * Submits a request to send forward MMS request. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - req is a pointer to an MSG_REQUEST_S structure. + * @brief Submits request to retrieve MMS request. + * @details This API is used to submit request to retrieve MMS request. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - MSG_ERR_NULL_POINTER Pointer is NULL. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None + * @param[in] handle The message handle + * @param[in] req A pointer to #msg_struct_t structure for MMS * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * int err = MSG_SUCCESS; - * - * err = msg_mms_retrieve_message(handle, &req); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_mms_retrieve_message(msg_handle_t handle, msg_struct_t req); -/* reject_msg_support */ /** - - * \par Description: - * Submits request to reject MMS message. - * - * \par Purpose: - * This API is used to submit request to reject MMS message. - * - * \par Typical use case: - * Submits request to reject MMS message. - * - * \par Method of function operation: - * Submits a request to send forward reject MMS message. - * - * \par Sync (or) Async: - * This is a Synchronous API. - * - * \par Important notes: - * - None - * - * \param input - handle is Message handle. - * \param input - req is a pointer to an MSG_REQUEST_S structure. + * @brief Submits request to reject MMS message. + * @details This API is used to submit request to reject MMS message. * - * \return Return Type (int(msg_error_t)) \n - * - MSG_SUCCESS Success in operation. - * - MSG_ERR_INVALID_MSGHANDLE Message handle is invalid. - * - MSG_ERR_NULL_POINTER Pointer is NULL. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/message.write * - * \par Prospective clients: - * External/Native Apps using Messaging Services. - * - * \par Related functions: - * None - * - * \par Known issues/bugs: - * None + * @param[in] handle The message handle + * @param[in] req A pointer to #msg_struct_t structure for MMS * - * \par Sample code: - * \code - * ... + * @return @c 0 on success, + * otherwise a negative error value * - * int err = MSG_SUCCESS; - * - * err = msg_mms_reject_message(handle, &req); - * if (err != MSG_SUCCESS) - * { - * ... - * } - * - * ... - * \endcode + * @retval MSG_SUCCESS Success in operation + * @retval MSG_ERR_INVALID_PARAMETER Input parameter is invalid + * @retval MSG_ERR_PERMISSION_DENIED The application does not have the privilege to call this method + * @retval MSG_ERR_NOT_SUPPORTED Not supported */ -/*================================================================================================*/ + int msg_mms_reject_message(msg_handle_t handle, msg_struct_t req); /** diff --git a/include/mapi/msg_transport_types.h b/include/mapi/msg_transport_types.h index 14498aa..d27811f 100755 --- a/include/mapi/msg_transport_types.h +++ b/include/mapi/msg_transport_types.h @@ -1,20 +1,17 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ #ifndef MSG_TRANSPORT_TYPES_H_ @@ -27,113 +24,164 @@ #include "msg_types.h" #include "msg_storage_types.h" +/** + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK_TRANSPORT_MODULE + * @{ + */ + /*================================================================================================== DEFINES ==================================================================================================*/ -/** @brief Prototype of the function that will be called when the status of the message which is already sent is changed. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_sent_status_callback. - * If the application sends a message, this callback function will be called to report its sending status. - * The application can get the request ID from sent_status to know which request is bound. - * The callback function runs in the application process, not in the framework process. - * The memory of sent_status is managed by MAPI, when the callback function is finished. - * @param[in] handle is Message handle. - * @param[in] sent_status is a pointer to an MSG_SENT_STATUS_S structure. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when the status of the message which is already sent is changed. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_sent_status_callback(). + * If the application sends a message, this callback function will be called to report its sending status. + * The application can get the request ID from sent_status to know which request is bound. + * The callback function runs in the application process, not in the framework process. + * The memory of @a sent_status is managed by MAPI, when the callback function is finished. + * + * @param[in] handle The Message handle + * @param[in] sent_status A pointer to #msg_struct_t structure for sent status + * @param[in] user_param The user data */ typedef void (*msg_sent_status_cb)(msg_handle_t handle, msg_struct_t sent_status, void *user_param); -/** @brief Prototype of the function that will be called when the status of the message which is already sent is changed. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_sent_status_callback. - * If the application sends a message, this callback function will be called to report its sending status. - * The application can get the request ID from sent_status to know which request is bound. - * The callback function runs in the application process, not in the framework process. - * The memory of sent_status is managed by MAPI, when the callback function is finished. - * @param[in] sent_status is a pointer to an MSG_SENT_STATUS_S structure. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when the status of the message which is already sent is changed. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_sent_status_callback(). + * If the application sends a message, this callback function will be called to report its sending status. + * The application can get the request ID from sent_status to know which request is bound. + * The callback function runs in the application process, not in the framework process. + * The memory of @a sent_status is managed by MAPI, when the callback function is finished. + * + * @param[in] sent_status A pointer to #msg_struct_t structure for sent status + * @param[in] user_param The pointer to user data */ typedef void (*msg_simple_sent_status_cb)(msg_struct_t sent_status, void *user_param); -/** @brief Prototype of the function that will be called when a new message is received. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_sms_message_callback. - * This callback function will be called when a new message is received and the message satisfies the filter list. - * The callback function runs in the application process, not in the framework process. - * The memory for msg is managed by MAPI, when the callback function is finished. - * @param[in] handle is Message handle. - * @param[in] msg is a pointer to an msg_message_t structure. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when a new message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_sms_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * The memory for msg is managed by MAPI, when the callback function is finished. + * + * @param[in] handle The Message handle + * @param[in] msg A pointer to #msg_struct_t structure for message details + * @param[in] user_param The user data */ typedef void (*msg_sms_incoming_cb)(msg_handle_t handle, msg_struct_t msg, void *user_param); -/** @brief Prototype of the function that will be called when a new MMS message is received. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_mms_conf_message_callback. - * This callback function will be called when a new MMS message is received and the message satisfies the filter list. - * The callback function runs in the application process, not in the framework process. - * The memory for msg is managed by MAPI, when the callback function is finished. - * @param[in] handle is Message handle. - * @param[in] msg is a pointer to an msg_message_t structure. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when a new MMS message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_mms_conf_message_callback(). + * This callback function will be called when a new MMS message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * The memory for @a msg is managed by MAPI, when the callback function is finished. + * + * @param[in] handle The Message handle + * @param[in] msg A pointer to #msg_struct_t structure for message details + * @param[in] user_param The user data */ typedef void (*msg_mms_conf_msg_incoming_cb)(msg_handle_t handle, msg_struct_t msg, void *user_param); -/** @brief Prototype of the function that will be called when a new SyncML message is received. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_syncml_message_callback. - * This callback function will be called when a new message is received and the message satisfies the filter list. - * The callback function runs in the application process, not in the framework process. - * @param[in] handle is Message handle. - * @param[in] msg_type is msg_syncml_message_type_t structure. - * @param[in] push_body is WAP Push body data. - * @param[in] push_body_len is the length of WAP Push body data. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when a new SyncML message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_syncml_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] handle The Message handle + * @param[in] msg_type The #msg_syncml_message_type_t structure + * @param[in] push_body The WAP Push body data + * @param[in] push_body_len The length of WAP Push body data + * @param[in] sim_index The index of the sim on which message is received. + * @param[in] user_param The user data */ -typedef void (*msg_syncml_msg_incoming_cb)(msg_handle_t handle, msg_syncml_message_type_t msg_type, const char *push_body, int push_body_len, const char* wsp_header, int wsp_header_len, void *user_param); - - -/** @brief Prototype of the function that will be called when a new LBS message is received. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_lbs_message_callback. - * This callback function will be called when a new message is received and the message satisfies the filter list. - * The callback function runs in the application process, not in the framework process. - * @param[in] hMsgHandle is Message handle. - * @param[in] push_header is push message header data. - * @param[in] push_body is push message body data. - * @param[in] push_body_len is push message body length. - * @param[in] user_param is a pointer to user data. - * @return void +typedef void (*msg_syncml_msg_incoming_cb)(msg_handle_t handle, msg_syncml_message_type_t msg_type, const char *push_body, int push_body_len, const char* wsp_header, int wsp_header_len, int sim_index, void *user_param); + + +/** @brief Called when a new LBS message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_lbs_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] hMsgHandle The Message handle + * @param[in] push_header The push message header data + * @param[in] push_body The push message body data + * @param[in] push_body_len The push message body length + * @param[in] user_param The user data */ typedef void (*msg_lbs_msg_incoming_cb)(msg_handle_t handle, const char *push_header, const char *push_body, int push_body_len, void *user_param); -/** @brief Prototype of the function that will be called when a new SyncML message is received. - * Applications SHOULD implement this callback function and register it into Message handle. - * For how to register this callback function, please refer to msg_reg_syncml_message_callback. - * This callback function will be called when a new message is received and the message satisfies the filter list. - * The callback function runs in the application process, not in the framework process. - * @param[in] handle is Message handle. - * @param[in] user_param is a pointer to user data. - * @return void +/** @brief Called when a new SyncML message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_syncml_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] handle The Message handle + * @param[in] msgId The message ID + * @param[in] extId The external ID + * @param[in] user_param The user data */ typedef void (*msg_syncml_msg_operation_cb)(msg_handle_t handle, int msgId, int extId, void *user_param); +/** @brief Called when a new push message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_push_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] handle The Message handle + * @param[in] push_header The push message header data + * @param[in] push_body The push message body data + * @param[in] push_body_len The push message body length + * @param[in] user_param The user data + */ typedef void (*msg_push_msg_incoming_cb)(msg_handle_t handle, const char *push_header, const char *push_body, int push_body_len, void *user_param); +/** @brief Called when a new CB message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_cb_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] handle The Message handle + * @param[in] msg A pointer to #msg_struct_t structure for message details + * @param[in] user_param The user data + */ typedef void (*msg_cb_incoming_cb)(msg_handle_t handle, msg_struct_t msg, void *user_param); + +/** @brief Called when a report message is received. + * Applications SHOULD implement this callback function and register it into Message handle. + * For how to register this callback function, please refer to msg_reg_report_message_callback(). + * This callback function will be called when a new message is received and the message satisfies the filter list. + * The callback function runs in the application process, not in the framework process. + * + * @param[in] handle The Message handle + * @param[in] reportMsgType The message type of incoming report message + * @param[in] MsgId The message ID of reported message + * @param[in] addr_len The incoming report message's address length + * @param[in] addr_val The incoming report message's address value + * @param[in] user_param The user data + */ +typedef void (*msg_report_msg_incoming_cb)(msg_handle_t handle, msg_report_type_t reportMsgType, msg_message_id_t MsgId, int addr_len, const char *addr_val, void *user_param); + +/** + * @} + */ + #endif /* MSG_TRANSPORT_TYPES_H_ */ diff --git a/include/mapi/msg_types.h b/include/mapi/msg_types.h index 45d0965..10e66a0 100755 --- a/include/mapi/msg_types.h +++ b/include/mapi/msg_types.h @@ -1,20 +1,17 @@ /* - * msg-service - * - * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * 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. - * */ #ifndef MSG_TYPES_H_ @@ -30,301 +27,424 @@ #define EXPORT_API __attribute__ ((visibility("default"))) #endif -#define MAX_TO_ADDRESS_CNT 10 -#define MAX_PHONE_NUMBER_LEN 20 +/** + * @internal + * @addtogroup MSG_SERVICE_FRAMEWORK + * @{ + */ + +/** + * @brief Definition for maximum address count + */ +#define MAX_TO_ADDRESS_CNT 10 + +/** + * @brief Definition for maximum phone number length + */ +#define MAX_PHONE_NUMBER_LEN 20 + +/** + * @brief Definition for maximum XDN alpha ID length + */ +#define MAX_SIM_XDN_ALPHA_ID_LEN 30 +/** + * @brief Definition for maximum address value length + */ #define MAX_ADDRESS_VAL_LEN 254 -#define MAX_SIGN_VAL_LEN 128 -#define MAX_SUBJECT_LEN 120 -#define MAX_DISPLAY_NAME_LEN 195 -#define MAX_IMAGE_PATH_LEN 1024 -#define MAX_MSG_DATA_LEN 320 -#define MAX_MSG_TEXT_LEN 1530 -#define MAX_FILTER_VALUE_LEN 40 -#define MAX_COMMAND_LEN 1024 -#define MAX_FOLDER_NAME_SIZE 20 - -#define MAX_WAPPUSH_ID_LEN 100 -#define MAX_WAPPUSH_CONTENT_TYPE_LEN 100 -#define MAX_WAPPUSH_HREF_LEN 300 -#define MAX_WAPPUSH_CONTENTS_LEN 2048 +/** + * @brief Definition for maximum subject length + */ +#define MAX_SUBJECT_LEN 120 + +/** + * @brief Definition for maximum display length length + */ +#define MAX_DISPLAY_NAME_LEN 195 + +/** + * @brief Definition for maximum image path length + */ +#define MAX_IMAGE_PATH_LEN 1024 + +/** + * @brief Definition for maximum message data length + */ +#define MAX_MSG_DATA_LEN 320 + +/** + * @brief Definition for maximum message text length + */ +#define MAX_MSG_TEXT_LEN 1530 + +/** + * @brief Definition for maximum filter value length + */ +#define MAX_FILTER_VALUE_LEN 128 + +/** + * @brief Definition for maximum command length + */ +#define MAX_COMMAND_LEN 1024 + +/** + * @brief Definition for maximum folder name size + */ +#define MAX_FOLDER_NAME_SIZE 20 + +/** + * @brief Definition for maximum ID length of push message + */ +#define MAX_WAPPUSH_ID_LEN 100 + +/** + * @brief Definition for maximum content type length of push message + */ +#define MAX_WAPPUSH_CONTENT_TYPE_LEN 100 + +/** + * @brief Definition for maximum href length of push message + */ +#define MAX_WAPPUSH_HREF_LEN 300 + +/** + * @brief Definition for maximum contents length of push message + */ +#define MAX_WAPPUSH_CONTENTS_LEN 2048 + +/** + * @brief Definition for maximum invalid object count of push message(CO) + */ #define MAX_PUSH_CACHEOP_INVALID_OBJECT_MAX 5 -#define MAX_PUSH_CACHEOP_INVALID_SERVICE_MAX 5 -#define MAX_PUSH_CACHEOP_MAX_URL_LEN 200 -#define MAX_COMMON_INFO_SIZE 20 +/** + * @brief Definition for maximum invalid service count of push message(CO) + */ +#define MAX_PUSH_CACHEOP_INVALID_SERVICE_MAX 5 + +/** + * @brief Definition for maximum URL length of push message(CO) + */ +#define MAX_PUSH_CACHEOP_MAX_URL_LEN 200 -#define MAX_SEGMENT_NUM 15 +/** + * @brief Definition for maximum segment count + */ +#define MAX_SEGMENT_NUM 15 /** - * @brief Defines the maximum file path length + * @brief Definition for maximum file path length */ -#define MSG_FILEPATH_LEN_MAX 1024 +#define MSG_FILEPATH_LEN_MAX 1024 // setting -#define SMSC_NAME_MAX 127 /* Max SMSC Name Length */ -#define SMSC_ADDR_MAX 20 /* Max SMSC Adress Length */ -#define SMSC_LIST_MAX 5 /* Max List Count of SMSC */ -#define CB_CHANNEL_NAME_MAX 32 /* cb channel name max size */ -#define CB_CHANNEL_MAX 30 /* cb channel max count */ -#define CB_LANG_TYPE_MAX 10 +/** + * @brief Definition for maximum SMSC name length + */ +#define SMSC_NAME_MAX 127 /** - * @brief Defines the maximum file name length + * @brief Definition for maximum SMSC address length */ -#define MSG_FILENAME_LEN_MAX 1024 +#define SMSC_ADDR_MAX 21 /** - * @brief Defines the maximum message id length + * @brief Definition for maximum SMSC list count */ -#define MSG_MSG_ID_LEN 100 +#define SMSC_LIST_MAX 5 /** - * @brief Defines the maximum in transition id length + * @brief Definition for maximum CB channel name length */ -#define MAX_SMIL_TRANSIN_ID 100 +#define CB_CHANNEL_NAME_MAX 32 /** - * @brief Defines the maximum out transition id length + * @brief Definition for maximum CB channel count */ -#define MAX_SMIL_TRANSOUT_ID 100 +#define CB_CHANNEL_MAX 30 /** - * @brief Defines the maximum region id length + * @brief Definition for maximum CB language type count */ -#define MAX_SMIL_REGION_ID 151 +#define CB_LANG_TYPE_MAX 10 /** - * @brief Defines the maximum transition id length + * @brief Definition for maximum file name length */ -#define MAX_SMIL_TRANSITION_ID 151 +#define MSG_FILENAME_LEN_MAX 1024 /** - * @brief Defines the maximum meta id length + * @brief Definition for maximum message id length */ -#define MAX_SMIL_META_ID 151 +#define MSG_MSG_ID_LEN 1024 /** - * @brief Defines the maximum meta name length + * @brief Definition for maximum in transition id length */ -#define MAX_SMIL_META_NAME 100 +#define MAX_SMIL_TRANSIN_ID 100 /** - * @brief Defines the maximum meta content length + * @brief Definition for maximum out transition id length */ -#define MAX_SMIL_META_CONTENT 255 +#define MAX_SMIL_TRANSOUT_ID 100 /** - * @brief Defines the maximum fit size + * @brief Definition for maximum region id length */ -#define MAX_SMIL_FIT_SIZE 31 +#define MAX_SMIL_REGION_ID 151 /** - * @brief Defines the maximum pages in a MMS + * @brief Definition for maximum transition id length */ -#define MMS_PAGE_MAX 20 +#define MAX_SMIL_TRANSITION_ID 151 /** - * @brief Defines the maximum media in a MMS + * @brief Definition for maximum meta id length */ -#define MMS_MEDIA_MAX 60 +#define MAX_SMIL_META_ID 151 /** - * @brief Defines the maximum alternate text length + * @brief Definition for maximum meta name length */ -#define MAX_SMIL_ALT_LEN 255 +#define MAX_SMIL_META_NAME 100 +/** + * @brief Definition for maximum meta content length + */ +#define MAX_SMIL_META_CONTENT 255 -//font size /** - * @brief Defines the small font size + * @brief Definition for maximum fit size */ -#define MMS_SMIL_FONT_SIZE_SMALL 24 +#define MAX_SMIL_FIT_SIZE 31 /** - * @brief Defines the normal font size + * @brief Definition for maximum pages in a MMS */ -#define MMS_SMIL_FONT_SIZE_NORMAL 30 +#define MMS_PAGE_MAX 20 /** - * @brief Defines the large font size + * @brief Definition for maximum media in a MMS */ -#define MMS_SMIL_FONT_SIZE_LARGE 36 +#define MMS_MEDIA_MAX 60 + +/** + * @brief Definition for maximum alternate text length + */ +#define MAX_SMIL_ALT_LEN 255 -#define MAX_SMIL_ANIMATE_ATTRIBUTE_NAME 100 -#define MAX_SMIL_ANIMATE_ATTRIBUTE_TYPE 100 -#define MAX_SMIL_ANIMATE_TARGET_ELEMENT 100 -#define MAX_SMIL_ANIMATE_CALC_MODE 100 +//font size +/** + * @brief Definition for small font size + */ +#define MMS_SMIL_FONT_SIZE_SMALL 24 + +/** + * @brief Definition for normal font size + */ +#define MMS_SMIL_FONT_SIZE_NORMAL 30 + +/** + * @brief Definition for large font size + */ +#define MMS_SMIL_FONT_SIZE_LARGE 36 + +/** + * @brief Definition for maximum length of java app ID + */ #define MAX_MMS_JAVA_APPID_LEN 32 -#define CONV_THUMB_WIDTH 250 -#define CONV_THUMB_HEIGHT 170 +/** + * @brief Definition for maximum length of MMS transaction ID + */ +#define MMS_TR_ID_LEN 40 + +/** + * @brief Definition for maximum length of MMS message ID + */ +#define MMS_MSG_ID_LEN 40 + +/** + * @brief Definition for maximum length of MMS contents location + */ +#define MMS_LOCATION_LEN 100 -#define MMS_TR_ID_LEN 40 -#define MMS_MSG_ID_LEN 40 -#define MMS_LOCATION_LEN 100 +/** + * @brief Definition for maximum mimeType length + */ +#define MAX_MIME_TYPE_LEN 64 -#define MAX_MMS_TEXT_LEN 2000 /*================================================================================================== TYPES ==================================================================================================*/ -typedef struct opq_msg_svc_s * msg_handle_t; -typedef struct opq_struct_s * msg_struct_t; +/** + * @brief The structure type representing an opaque pointer to message handle. + */ +typedef struct opq_msg_svc_s *msg_handle_t; +/** + * @brief The structure type representing an opaque pointer to message structure type. + */ +typedef struct opq_struct_s *msg_struct_t; +/** + * @brief The structure type representing a pointer to message list handle. + */ typedef struct msg_list_handle *msg_list_handle_t; - +/** + * @brief The structure type representing a message structure list. + */ typedef struct { - int nCount; /**< Indicates the count of msg_struct_t. */ - msg_struct_t *msg_struct_info; /**< Indicates the msg_struct_t information list. */ + int nCount; /**< The count of #msg_struct_t */ + msg_struct_t *msg_struct_info; /**< The #msg_struct_t information list */ }msg_struct_list_s; /** - * @brief Represents a messsage ID. + * @brief The message ID. */ typedef unsigned int msg_message_id_t; /** - * @brief Represents a storage type. - See enum _MSG_STORAGE_ID_E + * @brief The storage type. + * See enum _MSG_STORAGE_ID_E. */ typedef unsigned char msg_storage_id_t; /** - * @brief Represents a folder ID. - See enum _MSG_FOLDER_ID_E + * @brief The folder ID. + * See enum _MSG_FOLDER_ID_E. */ typedef char msg_folder_id_t; /** - * @brief Represents a request ID, which is unique for each request. + * @brief The request ID, which is unique for each request. */ typedef unsigned int msg_request_id_t; /** - * @brief Represents a message priority. \n - * The values for this type SHOULD be in _MSG_PRIORITY_TYPE_E. + * @brief The message priority. \n + * The values for this type SHOULD be in _MSG_PRIORITY_TYPE_E. */ typedef unsigned char msg_priority_type_t; /** - * @brief Represents the network status of a message. \n - * The values for this type SHOULD be in _MSG_NETWORK_STATUS_E. + * @brief The network status of a message. \n + * The values for this type SHOULD be in _MSG_NETWORK_STATUS_E. */ typedef unsigned char msg_network_status_t; /** - * @brief Represents an address type. \n - * The values for this type SHOULD be in _MSG_ADDRESS_TYPE_E. + * @brief The address type. \n + * The values for this type SHOULD be in _MSG_ADDRESS_TYPE_E. */ typedef unsigned char msg_address_type_t; /** - * @brief Represents an recipient type. \n - * The values for this type SHOULD be in _MSG_RECIPIENT_TYPE_E. + * @brief The recipient type. \n + * The values for this type SHOULD be in _MSG_RECIPIENT_TYPE_E. */ typedef unsigned char msg_recipient_type_t; /** - * @brief Represents the type of a message direction. \n - * The values for this type SHOULD be in _MSG_DIRECTION_TYPE_E. + * @brief The type of a message direction. \n + * The values for this type SHOULD be in _MSG_DIRECTION_TYPE_E. */ typedef unsigned char msg_direction_type_t; /** - * @brief Represents an encoding type. \n - * The values for this type SHOULD be in _MSG_ENCODE_TYPE_E. + * @brief The encoding type. \n + * The values for this type SHOULD be in _MSG_ENCODE_TYPE_E. */ typedef unsigned char msg_encode_type_t; /** - * @brief Represents an error code. \n - * The values for this type SHOULD be in _MSG_ERROR_E + * @brief The error code. \n + * The values for this type SHOULD be in _MSG_ERROR_E. */ typedef int msg_error_t; /** -\brief Represents WAP Push App Code. +* @brief The WAP Push App Code. */ typedef unsigned char msg_push_action_t; /** -\brief Represents SyncML Message Type. +* @brief The SyncML Message Type. */ typedef unsigned short msg_syncml_message_type_t; /** - * @brief Represents a Contact ID. + * @brief The Contact ID. */ typedef unsigned int msg_contact_id_t; /** - * @brief Represents a Report Type. - * The values for this type SHOULD be in _MSG_REPORT_TYPE_E - */ + * @brief The Report Type. \n + * The values for this type SHOULD be in _MSG_REPORT_TYPE_E. + */ typedef int msg_report_type_t; /** - * @brief Represents a Delivery Report Status. - * The values for this type SHOULD be in _MSG_DELIVERY_REPORT_STATUS_E - */ + * @brief The Delivery Report Status. \n + * The values for this type SHOULD be in _MSG_DELIVERY_REPORT_STATUS_E. + */ typedef int msg_delivery_report_status_t; /** - * @brief Represents a Read Report Status. - * The values for this type SHOULD be in _MSG_READ_REPORT_STATUS_E + * @brief The Read Report Status.\n + * The values for this type SHOULD be in _MSG_READ_REPORT_STATUS_E */ typedef int msg_read_report_status_t; /** - * @brief Represents a Message Type. - * The values for this type SHOULD be in _MSG_MESSAGE_TYPE_E + * @brief The Message Type. \n + * The values for this type SHOULD be in _MSG_MESSAGE_TYPE_E. */ typedef unsigned short msg_message_type_t; /** - * @brief Represents a Message Backup Type. - * The values for this type SHOULD be in _MSG_MESSAGE_BACKUP_TYPE_E + * @brief The Message Backup Type. \n + * The values for this type SHOULD be in _MSG_MESSAGE_BACKUP_TYPE_E. */ typedef unsigned int msg_message_backup_type_t; /** - * @brief Represents a thread ID. \n + * @brief The thread ID. */ typedef unsigned int msg_thread_id_t; // filter /** - * @brief Represents a filter ID. + * @brief The filter ID. */ typedef unsigned char msg_filter_id_t; /** - * @brief Represents a filter Type. \n - * The filter Type represents a unique filter type. \n - * The values for this type SHOULD be in _MSG_FILTER_TYPE_E. + * @brief The filter Type. \n + * The filter type represents a unique filter type. \n + * The values for this type SHOULD be in _MSG_FILTER_TYPE_E. */ typedef unsigned char msg_filter_type_t; @@ -334,441 +454,708 @@ typedef unsigned char msg_filter_type_t; ENUMS ==================================================================================================*/ +/** + * @brief Enumeration for the values of a structure type for #msg_sturuct_t. \n + */ enum _MSG_STRUCT_E { - MSG_STRUCT_FILTER = 0X0000, /**< Indicates the MSG_STRUCT_FILTER */ - - MSG_STRUCT_MESSAGE_INFO = 0x0200, /**< Indicates the MSG_STRUCT_MESSAGE_INFO */ - MSG_STRUCT_THREAD_INFO = 0x0300, - MSG_STRUCT_CONV_INFO = 0x0400, - MSG_STRUCT_MMS = 0x0500, /**< Indicates the MSG_STRUCT_MMS */ - MSG_STRUCT_MMS_PAGE = 0x0600, /**< Indicates the MSG_STRUCT_MMS_PAGE */ - MSG_STRUCT_MMS_MEDIA = 0x0700, /**< Indicates the MSG_STRUCT_MMS_MEDIA */ - MSG_STRUCT_MMS_ATTACH = 0x0800, /**< Indicates the MSG_STRUCT_MMS_ATTACH */ - MSG_STRUCT_MMS_REGION = 0x0900, /**< Indicates the MSG_STRUCT_MMS_REGION */ - MSG_STRUCT_MMS_TRANSITION = 0x0a00, /**< Indicates the MSG_STRUCT_MMS_TRANSITION */ - MSG_STRUCT_MMS_META = 0x0b00, /**< Indicates the MSG_STRUCT_MMS_META */ - MSG_STRUCT_MMS_SMIL_TEXT = 0x0c00, /**< Indicates the MSG_STRUCT_MMS_SMIL_TEXT */ - MSG_STRUCT_MMS_SMIL_AVI = 0x0d00, /**< Indicates the MSG_STRUCT_MMS_SMIL_AVI */ - - MSG_STRUCT_SETTING_SMSC_OPT = 0x2000, - MSG_STRUCT_SETTING_SMSC_INFO = 0x2100, /**< Indicates the MSG_STRUCT_SETTING_SMSC_INFO */ - MSG_STRUCT_SETTING_CB_OPT = 0x2200, /**< Indicates the MSG_STRUCT_SETTING_CB_OPT */ - MSG_STRUCT_SETTING_CB_CHANNEL_INFO = 0x2300, /**< Indicates the MSG_STRUCT_CB_CHANNEL_INFO */ - MSG_STRUCT_SETTING_SMS_SEND_OPT = 0x2400, /**< Indicates the MSG_STRUCT_SETTING_SMS_SEND_OPT */ - MSG_STRUCT_SETTING_MMS_SEND_OPT = 0x2500, /**< Indicates the MSG_STRUCT_SETTING_MMS_SEND_OPT */ - MSG_STRUCT_SETTING_MMS_RECV_OPT = 0x2600, /**< Indicates the MSG_STRUCT_SETTING_MMS_RECV_OPT */ - MSG_STRUCT_SETTING_PUSH_MSG_OPT = 0x2700, /**< Indicates the MSG_STRUCT_SETTING_PUSH_MSG_OPT */ - MSG_STRUCT_SETTING_VOICE_MSG_OPT = 0x2800, /**< Indicates the MSG_STRUCT_SETTING_VOICE_MSG_OPT */ - MSG_STRUCT_SETTING_GENERAL_OPT = 0x2900, /**< Indicates the MSG_STRUCT_SETTING_GENERAL_OPT */ - MSG_STRUCT_SETTING_MSGSIZE_OPT = 0x2c00, /**< Indicates the MSG_STRUCT_SETTING_MSGSIZE_OPT */ - - - MSG_STRUCT_SYNCML_INFO = 0x3100, /**< Indicates the MSG_STRUCT_SYNCML_INFO */ - MSG_STRUCT_COUNT_INFO = 0x3200, /**< Indicates the MSG_STRUCT_COUNT_INFO */ - MSG_STRUCT_THREAD_COUNT_INFO = 0x3300, /**< Indicates the MSG_STRUCT_THREAD_COUNT_INFO */ - MSG_STRUCT_THREAD_LIST_INDEX = 0x3400, /**< Indicates the MSG_STRUCT_THREAD_LIST_INDEX */ - MSG_STRUCT_SORT_RULE = 0x3500, /**< Indicates the MSG_STRUCT_SORT_RULE */ - MSG_STRUCT_FOLDER_INFO = 0x3600, /**< Indicates the MSG_STRUCT_FOLDER_INFO */ - MSG_STRUCT_SEARCH_CONDITION = 0x3700, /**< Indicates the MSG_STRUCT_SEARCH_CONDITION */ - MSG_STRUCT_REPORT_STATUS_INFO = 0x3800, /**< Indicates the MSG_STRUCT_REPORT_STATUS_INFO */ - - MSG_STRUCT_ADDRESS_INFO = 0x4000, /**< Indicates the MSG_STRUCT_ADDRESS_INFO */ - MSG_STRUCT_SENDOPT = 0x4100, /**< Indicates the MSG_STRUCT_SENDOPT */ - MSG_STRUCT_MMS_SENDOPT = 0x4200, /**< Indicates the MSG_STRUCT_MMS_SENDOPT */ - MSG_STRUCT_SMS_SENDOPT = 0x4300, /**< Indicates the MSG_STRUCT_SMS_SENDOPT */ - MSG_STRUCT_REJECT_MSG_INFO = 0x4400, /**< Indicates the MSG_STRUCT_REJECT_MSG_INFO */ - MSG_STRUCT_REQUEST_INFO = 0x4500, /**< Indicates the MSG_STRUCT_REQUEST_INFO */ - MSG_STRUCT_SENT_STATUS_INFO = 0x4600, /**< Indicates the MSG_STRUCT_SENT_STATUS_INFO */ - MSG_STRUCT_PUSH_CONFIG_INFO = 0x4700, /**< Indicates the MSG_STRUCT_PUSH_CONFIG_INFO */ - MSG_STRUCT_CB_MSG = 0x4800, /**< Indicates the MSG_STRUCT_CB_MSG */ -}; - + MSG_STRUCT_FILTER = 0X0000, /**< Indicates the MSG_STRUCT_FILTER */ + + MSG_STRUCT_MESSAGE_INFO = 0x0200, /**< Indicates the MSG_STRUCT_MESSAGE_INFO */ + MSG_STRUCT_THREAD_INFO = 0x0300, /**< Indicates the MSG_STRUCT_THREAD_INFO*/ + MSG_STRUCT_CONV_INFO = 0x0400, /**< Indicates the MSG_STRUCT_CONV_INFO*/ + MSG_STRUCT_MMS = 0x0500, /**< Indicates the MSG_STRUCT_MMS */ + MSG_STRUCT_MMS_PAGE = 0x0600, /**< Indicates the MSG_STRUCT_MMS_PAGE */ + MSG_STRUCT_MMS_MEDIA = 0x0700, /**< Indicates the MSG_STRUCT_MMS_MEDIA */ + MSG_STRUCT_MMS_ATTACH = 0x0800, /**< Indicates the MSG_STRUCT_MMS_ATTACH */ + MSG_STRUCT_MMS_REGION = 0x0900, /**< Indicates the MSG_STRUCT_MMS_REGION */ + MSG_STRUCT_MMS_TRANSITION = 0x0a00, /**< Indicates the MSG_STRUCT_MMS_TRANSITION */ + MSG_STRUCT_MMS_META = 0x0b00, /**< Indicates the MSG_STRUCT_MMS_META */ + MSG_STRUCT_MMS_SMIL_TEXT = 0x0c00, /**< Indicates the MSG_STRUCT_MMS_SMIL_TEXT */ + MSG_STRUCT_MMS_SMIL_AVI = 0x0d00, /**< Indicates the MSG_STRUCT_MMS_SMIL_AVI */ + + MSG_STRUCT_SETTING_SMSC_OPT = 0x2000, /**< Indicates the MSG_STRUCT_SETTING_SMSC_OPT */ + MSG_STRUCT_SETTING_SMSC_INFO = 0x2100, /**< Indicates the MSG_STRUCT_SETTING_SMSC_INFO */ + MSG_STRUCT_SETTING_CB_OPT = 0x2200, /**< Indicates the MSG_STRUCT_SETTING_CB_OPT */ + MSG_STRUCT_SETTING_CB_CHANNEL_INFO = 0x2300, /**< Indicates the MSG_STRUCT_CB_CHANNEL_INFO */ + MSG_STRUCT_SETTING_SMS_SEND_OPT = 0x2400, /**< Indicates the MSG_STRUCT_SETTING_SMS_SEND_OPT */ + MSG_STRUCT_SETTING_MMS_SEND_OPT = 0x2500, /**< Indicates the MSG_STRUCT_SETTING_MMS_SEND_OPT */ + MSG_STRUCT_SETTING_MMS_RECV_OPT = 0x2600, /**< Indicates the MSG_STRUCT_SETTING_MMS_RECV_OPT */ + MSG_STRUCT_SETTING_PUSH_MSG_OPT = 0x2700, /**< Indicates the MSG_STRUCT_SETTING_PUSH_MSG_OPT */ + MSG_STRUCT_SETTING_VOICE_MSG_OPT = 0x2800, /**< Indicates the MSG_STRUCT_SETTING_VOICE_MSG_OPT */ + MSG_STRUCT_SETTING_GENERAL_OPT = 0x2900, /**< Indicates the MSG_STRUCT_SETTING_GENERAL_OPT */ + + MSG_STRUCT_SETTING_MSGSIZE_OPT = 0x2c00, /**< Indicates the MSG_STRUCT_SETTING_MSGSIZE_OPT */ + + MSG_STRUCT_SYNCML_INFO = 0x3100, /**< Indicates the MSG_STRUCT_SYNCML_INFO */ + MSG_STRUCT_COUNT_INFO = 0x3200, /**< Indicates the MSG_STRUCT_COUNT_INFO */ + MSG_STRUCT_THREAD_COUNT_INFO = 0x3300, /**< Indicates the MSG_STRUCT_THREAD_COUNT_INFO */ + MSG_STRUCT_THREAD_LIST_INDEX = 0x3400, /**< Indicates the MSG_STRUCT_THREAD_LIST_INDEX */ + MSG_STRUCT_SORT_RULE = 0x3500, /**< Indicates the MSG_STRUCT_SORT_RULE */ + MSG_STRUCT_FOLDER_INFO = 0x3600, /**< Indicates the MSG_STRUCT_FOLDER_INFO */ + MSG_STRUCT_SEARCH_CONDITION = 0x3700, /**< Indicates the MSG_STRUCT_SEARCH_CONDITION */ + MSG_STRUCT_REPORT_STATUS_INFO = 0x3800, /**< Indicates the MSG_STRUCT_REPORT_STATUS_INFO */ + MSG_STRUCT_MSG_LIST_CONDITION = 0x3900, /**< Indicates the MSG_LIST_CONDITION */ + + MSG_STRUCT_ADDRESS_INFO = 0x4000, /**< Indicates the MSG_STRUCT_ADDRESS_INFO */ + MSG_STRUCT_SENDOPT = 0x4100, /**< Indicates the MSG_STRUCT_SENDOPT */ + MSG_STRUCT_MMS_SENDOPT = 0x4200, /**< Indicates the MSG_STRUCT_MMS_SENDOPT */ + MSG_STRUCT_SMS_SENDOPT = 0x4300, /**< Indicates the MSG_STRUCT_SMS_SENDOPT */ + MSG_STRUCT_REJECT_MSG_INFO = 0x4400, /**< Indicates the MSG_STRUCT_REJECT_MSG_INFO */ + MSG_STRUCT_REQUEST_INFO = 0x4500, /**< Indicates the MSG_STRUCT_REQUEST_INFO */ + MSG_STRUCT_SENT_STATUS_INFO = 0x4600, /**< Indicates the MSG_STRUCT_SENT_STATUS_INFO */ + MSG_STRUCT_PUSH_CONFIG_INFO = 0x4700, /**< Indicates the MSG_STRUCT_PUSH_CONFIG_INFO */ + MSG_STRUCT_CB_MSG = 0x4800, /**< Indicates the MSG_STRUCT_CB_MSG */ + MSG_STRUCT_MULTIPART_INFO = 0x4a00, /**< Indicates the MSG_STRUCT_MULTIPART_INFO */ + MSG_STRUCT_MEDIA_INFO = 0x5000, /**< Indicates the MSG_STRUCT_MEDIA_INFO*/ +}; + +/** + * @brief Enumeration for the values of message detail information. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MESSAGE_INFO. + */ enum _MSG_MESSAGE_INFO_E_ { - MSG_MESSAGE_ID_INT = MSG_STRUCT_MESSAGE_INFO+1, /**< Indicates the message ID of this message. */ - MSG_MESSAGE_THREAD_ID_INT, /**< Indicates the thread ID. */ - MSG_MESSAGE_FOLDER_ID_INT, /**< Indicates the folder ID. see enum _MSG_FOLDER_TYPE_E */ - MSG_MESSAGE_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ - MSG_MESSAGE_CLASS_TYPE_INT, /**< Message class type. See enum _MSG_CLASS_TYPE_E */ - MSG_MESSAGE_STORAGE_ID_INT, /**< Indicates where the message is saved. see enum _MSG_STORAGE_ID_E*/ - MSG_MESSAGE_ADDR_LIST_STRUCT, /**< Indicates the address information list. */ - MSG_MESSAGE_REPLY_ADDR_STR, /**< Indicates the reply address. */ - MSG_MESSAGE_SUBJECT_STR, /**< Indicates the message subject. */ - MSG_MESSAGE_DISPLAY_TIME_INT, /**< Indicates the display time related to the specific operation. */ - MSG_MESSAGE_NETWORK_STATUS_INT, /**< Indicates the network status of the message. See enum _MSG_NETWORK_STATUS_E */ - MSG_MESSAGE_ENCODE_TYPE_INT, /**< Indicates the string encoding type. See enum _MSG_ENCODE_TYPE_E */ - MSG_MESSAGE_READ_BOOL, /**< Indicates whether the message is read or not. */ - MSG_MESSAGE_PROTECTED_BOOL, /**< Indicates whether the message is protected or not. */ - MSG_MESSAGE_BACKUP_BOOL, /**< Indicates whether the message was restored from PC. */ - MSG_MESSAGE_PRIORITY_INT, /**< Indicates the priority of the message. See enum _MSG_PRIORITY_TYPE_E */ - MSG_MESSAGE_DIRECTION_INT, /**< Indicates whether the message is MO or MT, affecting address. See enum _MSG_DIRECTION_TYPE_E */ - MSG_MESSAGE_PORT_VALID_BOOL, /**< Indicates whether port information is used or not. */ - MSG_MESSAGE_DEST_PORT_INT, /**< Recipient port number, not greater than 16 bit */ - MSG_MESSAGE_SRC_PORT_INT, /**< Sender port number, not greater than 16 bit */ - MSG_MESSAGE_ATTACH_COUNT_INT, /**< Indicates the count of attached files in mms. */ - MSG_MESSAGE_THUMBNAIL_PATH_STR, /**< Indicates the thumbnail path of message. */ - MSG_MESSAGE_DATA_SIZE_INT, /**< Indicates the data size. The unit is byte. */ - MSG_MESSAGE_SMS_DATA_STR, /**< Indicates the message payload information as a body. default character encoding is UTF-8*/ - MSG_MESSAGE_MMS_TEXT_STR, -}; - + MSG_MESSAGE_ID_INT = MSG_STRUCT_MESSAGE_INFO+1, /**< Indicates the message ID of this message. */ + MSG_MESSAGE_THREAD_ID_INT, /**< Indicates the thread ID. */ + MSG_MESSAGE_FOLDER_ID_INT, /**< Indicates the folder ID. See enum _MSG_FOLDER_ID_E */ + MSG_MESSAGE_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ + MSG_MESSAGE_CLASS_TYPE_INT, /**< Indicates the message class type. See enum _MSG_CLASS_TYPE_E */ + MSG_MESSAGE_STORAGE_ID_INT, /**< Indicates where the message is saved. See enum _MSG_STORAGE_ID_E*/ + MSG_MESSAGE_ADDR_LIST_STRUCT, /**< Indicates the address information list. **DEPRECATED** */ + MSG_MESSAGE_REPLY_ADDR_STR, /**< Indicates the reply address. */ + MSG_MESSAGE_SUBJECT_STR, /**< Indicates the message subject. */ + MSG_MESSAGE_DISPLAY_TIME_INT, /**< Indicates the display time related to the specific operation. */ + MSG_MESSAGE_NETWORK_STATUS_INT, /**< Indicates the network status of the message. See enum _MSG_NETWORK_STATUS_E */ + MSG_MESSAGE_ENCODE_TYPE_INT, /**< Indicates the string encoding type. See enum _MSG_ENCODE_TYPE_E */ + MSG_MESSAGE_READ_BOOL, /**< Indicates whether the message is read or not. */ + MSG_MESSAGE_PROTECTED_BOOL, /**< Indicates whether the message is protected or not. */ + MSG_MESSAGE_BACKUP_BOOL, /**< Indicates whether the message was restored from PC. */ + MSG_MESSAGE_PRIORITY_INT, /**< Indicates the priority of the message. See enum _MSG_PRIORITY_TYPE_E */ + MSG_MESSAGE_DIRECTION_INT, /**< Indicates whether the message is MO or MT, affecting address. See enum _MSG_DIRECTION_TYPE_E */ + MSG_MESSAGE_PORT_VALID_BOOL, /**< Indicates whether port information is used or not. */ + MSG_MESSAGE_DEST_PORT_INT, /**< Indicates the recipient port number, not greater than 16 bit */ + MSG_MESSAGE_SRC_PORT_INT, /**< Indicates the sender port number, not greater than 16 bit */ + MSG_MESSAGE_ATTACH_COUNT_INT, /**< Indicates the count of attached files in MMS. */ + MSG_MESSAGE_THUMBNAIL_PATH_STR, /**< Indicates the thumbnail path of message. */ + MSG_MESSAGE_DATA_SIZE_INT, /**< Indicates the data size. The unit is byte. */ + MSG_MESSAGE_SMS_DATA_STR, /**< Indicates the message payload information as a body. default character encoding is UTF-8*/ + MSG_MESSAGE_MMS_TEXT_STR, /**< Indicates the text part of MMS message payload. default character encoding is UTF-8 */ + MSG_MESSAGE_ADDR_LIST_HND, /**< Indicates the address information list. */ + MSG_MESSAGE_REPLACE_BOOL, /**< Indicates whether the message is replace or not */ + MSG_MESSAGE_SIM_INDEX_INT, /**< Indicates the sim index */ + MSG_MESSAGE_INFO_MAX, /**< Placeholder for max value of this enum*/ +}; + +/** + * @brief Enumeration for the values of message filter information. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_FILTER. + */ enum MSG_FILTER_INFO_E { - MSG_FILTER_ID_INT = MSG_STRUCT_FILTER+1, /**< Indicates the filter ID. */ - MSG_FILTER_TYPE_INT, /**< Indicates the filter type. See enum _MSG_FILTER_TYPE_E */ - MSG_FILTER_VALUE_STR, /**< The value of the filter. */ - MSG_FILTER_ACTIVE_BOOL, /**< Indicates the activation of the filter. */ + MSG_FILTER_ID_INT = MSG_STRUCT_FILTER+1, /**< Indicates the filter ID. */ + MSG_FILTER_TYPE_INT, /**< Indicates the filter type. See enum _MSG_FILTER_TYPE_E */ + MSG_FILTER_VALUE_STR, /**< Indicates the value of the filter. */ + MSG_FILTER_ACTIVE_BOOL, /**< Indicates the activation of the filter. */ }; +/** + * @brief Enumeration for the values of thread information. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_THREAD_INFO. + */ enum MSG_STRUCT_THREAD_INFO_E { - MSG_THREAD_ID_INT = MSG_STRUCT_THREAD_INFO+1, /**< Indicates the message thread ID. */ - MSG_THREAD_NAME_STR, /**< Indicates the message thread name */ - MSG_THREAD_MSG_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ - MSG_THREAD_MSG_DATA_STR, /**< The latest message text. */ - MSG_THREAD_MSG_TIME_INT, /**< The latest message time */ - MSG_THREAD_DIRECTION_INT, /**< The latest message direction See enum _MSG_DIRECTION_TYPE_E */ - MSG_THREAD_UNREAD_COUNT_INT, /**< Indicates unread count of thread */ - MSG_THREAD_SMS_COUNT_INT, /**< Indicates sms message count of thread */ - MSG_THREAD_MMS_COUNT_INT, /**< Indicates mms message count of thread */ - MSG_THREAD_PROTECTED_BOOL /**< Indicates whether thread includes protected messages. */ -}; + MSG_THREAD_ID_INT = MSG_STRUCT_THREAD_INFO+1, /**< Indicates the message thread ID. */ + MSG_THREAD_NAME_STR, /**< Indicates the message thread name */ + MSG_THREAD_MSG_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ + MSG_THREAD_MSG_DATA_STR, /**< The latest message text. */ + MSG_THREAD_MSG_TIME_INT, /**< The latest message time */ + MSG_THREAD_DIRECTION_INT, /**< The latest message direction See enum _MSG_DIRECTION_TYPE_E */ + MSG_THREAD_UNREAD_COUNT_INT, /**< Indicates unread count of thread */ + MSG_THREAD_SMS_COUNT_INT, /**< Indicates SMS message count of thread */ + MSG_THREAD_MMS_COUNT_INT, /**< Indicates MMS message count of thread */ + MSG_THREAD_PROTECTED_BOOL, /**< Indicates whether thread includes protected message. */ + MSG_THREAD_DRAFT_BOOL, /**< Indicates whether thread includes draft message. */ + MSG_THREAD_SEND_FAILED_BOOL, /**< Indicates whether thread includes send failed message. */ + MSG_THREAD_SENDING_BOOL, /**< Indicates whether thread includes sending message. */ -enum MSG_STRUCT_CONV_INFO_E { - MSG_CONV_MSG_ID_INT = MSG_STRUCT_CONV_INFO+1, /**< Indicates the message ID of this message. */ - MSG_CONV_MSG_THREAD_ID_INT, /**< Indicates the thread ID. */ - MSG_CONV_MSG_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ - MSG_CONV_MSG_FOLDER_ID_INT, /**< Indicates the folder ID. see enum _MSG_FOLDER_TYPE_E */ - MSG_CONV_MSG_STORAGE_ID_INT, /**< Indicates where the message is saved. see enum _MSG_STORAGE_ID_E*/ - MSG_CONV_MSG_SUBJECT_STR, /**< Indicates the message subject. */ - MSG_CONV_MSG_DISPLAY_TIME_INT, /**< Indicates the display time related to the specific operation. */ - MSG_CONV_MSG_SCHEDULED_TIME_INT, /**< Indicates the time to send scheduled message. */ - MSG_CONV_MSG_NETWORK_STATUS_INT, /**< Indicates the network status of the message. See enum _MSG_NETWORK_STATUS_E */ - MSG_CONV_MSG_READ_BOOL, /**< Indicates whether the message is read or not. */ - MSG_CONV_MSG_PROTECTED_BOOL, /**< Indicates whether the message is protected or not. */ - MSG_CONV_MSG_DIRECTION_INT, /**< Indicates whether the message is MO or MT, affecting address. See enum _MSG_DIRECTION_TYPE_E */ - MSG_CONV_MSG_PAGE_COUNT_INT, /**< Indicates the count of pages in mms. */ - MSG_CONV_MSG_ATTACH_COUNT_INT, /**< Indicates the count of attached files in mms. */ - MSG_CONV_MSG_ATTACH_NAME_STR, /**< Indicates the attached file name of message. */ - MSG_CONV_MSG_AUDIO_NAME_STR, /**< Indicates the audio file name of message. */ - MSG_CONV_MSG_IMAGE_THUMB_PATH_STR, /**< Indicates the image thumbnail path of message. */ - MSG_CONV_MSG_VIDEO_THUMB_PATH_STR, /**< Indicates the video thumbnail path of message. */ - MSG_CONV_MSG_TEXT_SIZE_INT, /**< Indicates the data size. The unit is byte. */ - MSG_CONV_MSG_TEXT_STR /**< Indicates the message payload information as a body. default character encoding is UTF-8*/ + MSG_THREAD_INFO_MAX /**< Placeholder for max value of this enum */ }; +/** + * @brief Enumeration for the values of conversation information. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_CONV_INFO. + */ +enum MSG_STRUCT_CONV_INFO_E { + MSG_CONV_MSG_ID_INT = MSG_STRUCT_CONV_INFO+1, /**< Indicates the message ID of this message. */ + MSG_CONV_MSG_THREAD_ID_INT, /**< Indicates the thread ID. */ + MSG_CONV_MSG_TYPE_INT, /**< Indicates the message type. See enum _MSG_MESSAGE_TYPE_E */ + MSG_CONV_MSG_FOLDER_ID_INT, /**< Indicates the folder ID. See enum _MSG_FOLDER_TYPE_E */ + MSG_CONV_MSG_STORAGE_ID_INT, /**< Indicates where the message is saved. See enum _MSG_STORAGE_ID_E*/ + MSG_CONV_MSG_SUBJECT_STR, /**< Indicates the message subject. */ + MSG_CONV_MSG_DISPLAY_TIME_INT, /**< Indicates the display time related to the specific operation. */ + MSG_CONV_MSG_SCHEDULED_TIME_INT, /**< Indicates the time to send scheduled message. */ + MSG_CONV_MSG_NETWORK_STATUS_INT, /**< Indicates the network status of the message. See enum _MSG_NETWORK_STATUS_E */ + MSG_CONV_MSG_READ_BOOL, /**< Indicates whether the message is read or not. */ + MSG_CONV_MSG_PROTECTED_BOOL, /**< Indicates whether the message is protected or not. */ + MSG_CONV_MSG_DIRECTION_INT, /**< Indicates whether the message is MO or MT, affecting address. See enum _MSG_DIRECTION_TYPE_E */ + MSG_CONV_MSG_PAGE_COUNT_INT, /**< Indicates the count of pages in MMS. */ + MSG_CONV_MSG_ATTACH_COUNT_INT, /**< Indicates the count of attached files in MMS. */ + MSG_CONV_MSG_ATTACH_NAME_STR, /**< Indicates the attached file name of message. */ + MSG_CONV_MSG_AUDIO_NAME_STR, /**< Indicates the audio file name of message. */ + MSG_CONV_MSG_IMAGE_THUMB_PATH_STR, /**< Indicates the image thumbnail path of message. */ + MSG_CONV_MSG_VIDEO_THUMB_PATH_STR, /**< Indicates the video thumbnail path of message. */ + MSG_CONV_MSG_TEXT_SIZE_INT, /**< Indicates the data size. The unit is byte. */ + MSG_CONV_MSG_TEXT_STR, /**< Indicates the message payload information as a body. default character encoding is UTF-8*/ + MSG_CONV_MSG_TCS_BC_LEVEL_INT, /**< Indicates the Behavior Level of malware. @c -1 is None*/ + MSG_CONV_MSG_1ST_MEDIA_PATH_STR, /**< Indicates the First Media path of MMS */ + MSG_CONV_MSG_MULTIPART_HND, + MSG_CONV_MSG_SIM_INDEX_INT, /**< Indicates the sim index */ + + MSG_CONV_INFO_MAX /**< Placeholder for max value of this enum */ +}; + +/** + * @brief Enumeration for the values of setting for SMSC options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_SMSC_OPT. + */ enum _MSG_STRUCT_SETTING_SMSC_OPT_E { - MSG_SMSC_SELECTED_ID_INT = MSG_STRUCT_SETTING_SMSC_OPT+1, - MSG_SMSC_LIST_STRUCT + MSG_SMSC_SELECTED_ID_INT = MSG_STRUCT_SETTING_SMSC_OPT+1, /**< Indicates Selected SMSC index option */ + MSG_SMSC_LIST_STRUCT, /**< Indicates SMSC data information list option*/ + MSG_SMSC_LIST_INDEX_INT, /**< Indicates SMSC index option for Updating information */ + MSG_SMSC_LIST_SIM_INDEX_INT /**< Indicates the sim index */ }; +/** + * @brief Enumeration for the values of setting for SMSC informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_SMSC_INFO. + */ enum _MSG_STRUCT_SETTING_SMSC_INFO_E { - MSG_SMSC_ADDR_TON_INT = MSG_STRUCT_SETTING_SMSC_INFO+1, /**< Type of number. See enum _MSG_SMS_TON_E */ - MSG_SMSC_ADDR_NPI_INT, /**< Numbering plan ID. See enum _MSG_SMS_NPI_E */ - MSG_SMSC_ADDR_STR, /**< SMSC address */ - MSG_SMSC_NAME_STR, /**< SMSC name */ - MSG_SMSC_PID_INT, /**< Protocol idendifier See enum _MSG_SMS_PID_E */ - MSG_SMSC_VAL_PERIOD_INT /**< Validity period value. See enum _MSG_VAL_PERIOD_E*/ + MSG_SMSC_ADDR_TON_INT = MSG_STRUCT_SETTING_SMSC_INFO+1, /**< Type of number. See enum _MSG_SMS_TON_E */ + MSG_SMSC_ADDR_NPI_INT, /**< Numbering plan ID. See enum _MSG_SMS_NPI_E */ + MSG_SMSC_ADDR_STR, /**< SMSC address */ + MSG_SMSC_NAME_STR, /**< SMSC name */ + MSG_SMSC_PID_INT, /**< Protocol idendifier See enum _MSG_SMS_PID_E */ + MSG_SMSC_VAL_PERIOD_INT /**< Validity period value. See enum _MSG_VAL_PERIOD_E*/ }; +/** + * @brief Enumeration for the values of setting for CB channel options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_CB_OPT. + */ enum _MSG_STRUCT_CB_OPT_E { - MSG_CB_RECEIVE_BOOL = MSG_STRUCT_SETTING_CB_OPT+1, /**< Indicates whether the CB message is received or not. */ - MSG_CB_MAX_SIM_COUNT_INT, /**< Indicates the number of channels which can be stored in SIM. */ - MSG_CB_CHANNEL_LIST_STRUCT, /**< Indicates the cell broadcasting channel information. */ - MSG_CB_LANGUAGE_TYPE_ALL_BOOL, - MSG_CB_LANGUAGE_TYPE_ENG_BOOL, /**< CB message English */ - MSG_CB_LANGUAGE_TYPE_GER_BOOL, /**< CB message Germany */ - MSG_CB_LANGUAGE_TYPE_FRE_BOOL, /**< CB message France */ - MSG_CB_LANGUAGE_TYPE_ITA_BOOL, /**< CB message Italy */ - MSG_CB_LANGUAGE_TYPE_NED_BOOL, /**< CB message Netherland */ - MSG_CB_LANGUAGE_TYPE_SPA_BOOL, /**< CB message Spain */ - MSG_CB_LANGUAGE_TYPE_POR_BOOL, /**< CB message Portugal */ - MSG_CB_LANGUAGE_TYPE_SWE_BOOL, /**< CB message Sweden */ - MSG_CB_LANGUAGE_TYPE_TUR_BOOL, /**< CB message Turkey */ -}; - + MSG_CB_RECEIVE_BOOL = MSG_STRUCT_SETTING_CB_OPT+1, /**< Indicates whether the CB message is received or not. */ + MSG_CB_MAX_SIM_COUNT_INT, /**< Indicates the number of channels which can be stored in SIM. */ + MSG_CB_CHANNEL_LIST_STRUCT, /**< Indicates the cell broadcasting channel information. */ + MSG_CB_LANGUAGE_TYPE_ALL_BOOL, /**< CB message all languages */ + MSG_CB_LANGUAGE_TYPE_ENG_BOOL, /**< CB message English */ + MSG_CB_LANGUAGE_TYPE_GER_BOOL, /**< CB message Germany */ + MSG_CB_LANGUAGE_TYPE_FRE_BOOL, /**< CB message France */ + MSG_CB_LANGUAGE_TYPE_ITA_BOOL, /**< CB message Italy */ + MSG_CB_LANGUAGE_TYPE_NED_BOOL, /**< CB message Netherland */ + MSG_CB_LANGUAGE_TYPE_SPA_BOOL, /**< CB message Spain */ + MSG_CB_LANGUAGE_TYPE_POR_BOOL, /**< CB message Portugal */ + MSG_CB_LANGUAGE_TYPE_SWE_BOOL, /**< CB message Sweden */ + MSG_CB_LANGUAGE_TYPE_TUR_BOOL, /**< CB message Turkey */ + MSG_CB_SIM_INDEX_INT, /**< Indicates the sim index */ +}; + +/** + * @brief Enumeration for the values of setting for CB channel informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_CB_CHANNEL_INFO. + */ enum _MSG_STRUCT_CB_CHANNEL_INFO_E { - MSG_CB_CHANNEL_ACTIVATE_BOOL = MSG_STRUCT_SETTING_CB_CHANNEL_INFO+1, /**< Indicates whether the CB channel is activate or passive. */ - MSG_CB_CHANNEL_ID_FROM_INT, /**< Indicates the ID of a CB channel. */ - MSG_CB_CHANNEL_ID_TO_INT, /**< Indicates the ID of a CB channel. */ - MSG_CB_CHANNEL_NAME_STR /**< Indicates the name of a CB channel. */ + MSG_CB_CHANNEL_ACTIVATE_BOOL = MSG_STRUCT_SETTING_CB_CHANNEL_INFO+1, /**< Indicates whether the CB channel is activate or passive. */ + MSG_CB_CHANNEL_ID_FROM_INT, /**< Indicates the From ID of a CB channel. */ + MSG_CB_CHANNEL_ID_TO_INT, /**< Indicates the To ID of a CB channel. */ + MSG_CB_CHANNEL_NAME_STR /**< Indicates the name of a CB channel. */ }; +/** + * @brief Enumeration for the values of setting for SMS sending options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_SMS_SEND_OPT. + */ enum _MSG_STRUCT_SMS_SEND_OPT_E { - MSG_SMS_SENDOPT_ENCODE_TYPE_INT = MSG_STRUCT_SETTING_SMS_SEND_OPT+1, /**< Indicates the string encoding type. See enum _MSG_ENCODE_TYPE_E*/ - MSG_SMS_SENDOPT_NETWORK_MODE_INT, /**< Indicates the network mode (CS/PS) to send SMS. See enum _MSG_SMS_NETWORK_MODE_E*/ - MSG_SMS_SENDOPT_REPLY_PATH_BOOL, /**< Indicates whether the SMS reply path is set or not. */ - MSG_SMS_SENDOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the SMS delivery report will be sent or not. */ - MSG_SMS_SENDOPT_SAVE_STORAGE_INT /**< Indicates the default storage to save SMS. See enum _MSG_SMS_SAVE_STORAGE_E */ + MSG_SMS_SENDOPT_ENCODE_TYPE_INT = MSG_STRUCT_SETTING_SMS_SEND_OPT+1, /**< Indicates the string encoding type. See enum _MSG_ENCODE_TYPE_E*/ + MSG_SMS_SENDOPT_NETWORK_MODE_INT, /**< Indicates the network mode (CS/PS) to send SMS. See enum _MSG_SMS_NETWORK_MODE_E*/ + MSG_SMS_SENDOPT_REPLY_PATH_BOOL, /**< Indicates whether the SMS reply path is set or not. */ + MSG_SMS_SENDOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the SMS delivery report will be sent or not. */ + MSG_SMS_SENDOPT_SAVE_STORAGE_INT /**< Indicates the default storage to save SMS. See enum _MSG_SMS_SAVE_STORAGE_E */ }; +/** + * @brief Enumeration for the values of setting for MMS sending options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_MMS_SEND_OPT. + */ enum _MSG_STRUCT_MMS_SEND_OPT_E { - MSG_MMS_SENDOPT_CLASS_TYPE_INT = MSG_STRUCT_SETTING_MMS_SEND_OPT+1, /**< Indicates the class type of message. See enum _MSG_MMS_MSG_CLASS_TYPE_E */ - MSG_MMS_SENDOPT_PRIORITY_TYPE_INT, /**< Indicates the priority of the message. See enum _MSG_PRIORITY_TYPE_E */ - MSG_MMS_SENDOPT_EXPIRY_TIME_INT, /**< Indicates the time when the message is to be removed from the MMSC. See enum _MSG_MMS_EXPIRY_TIME_E */ - MSG_MMS_SENDOPT_DELIVERY_TIME_INT, /**< Indicates the message transmission time which is set in the MMSC. See enum _MSG_MMS_DELIVERY_TIME_E */ - MSG_MMS_SENDOPT_CUSTOM_DELIVERY_TIME_INT, /**< Indicates the message transmission time which is set in the MMSC. */ - MSG_MMS_SENDOPT_SENDER_VISIBILITY_BOOL, /**< Indicates whether the address is hidden or not. */ - MSG_MMS_SENDOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the delivery report will be sent or not. */ - MSG_MMS_SENDOPT_READ_REPLY_BOOL, /**< Indicates whether the read report will be sent or not. */ - MSG_MMS_SENDOPT_KEEP_COPY_BOOL, /**< Indicates whether the message copy is kept or not. */ - MSG_MMS_SENDOPT_BODY_REPLYING_BOOL, /**< Indicates whether the body is included when replying or not. */ - MSG_MMS_SENDOPT_HIDE_RECIPIENTS_BOOL, /**< Indicates whether the recipients are hidden or not. */ - MSG_MMS_SENDOPT_REPLY_CHARGING_INT, /**< Indicates the reply charging type of message. See enum _MSG_MMS_REPLY_CHARGING_TYPE_E */ - MSG_MMS_SENDOPT_REPLY_CHARGING_DEADLINE_INT, /**< Indicates the deadline for replying charging. is set in the MMSC. */ - MSG_MMS_SENDOPT_REPLY_CHARGING_SIZE_INT, /**< Indicates the reply charging size. */ - MSG_MMS_SENDOPT_CREATION_MODE_INT /**< Indicates the creation mode of MMS. See enum _MSG_MMS_CREATION_MODE_E */ -}; - + MSG_MMS_SENDOPT_CLASS_TYPE_INT = MSG_STRUCT_SETTING_MMS_SEND_OPT+1, /**< Indicates the class type of message. See enum _MSG_MMS_MSG_CLASS_TYPE_E */ + MSG_MMS_SENDOPT_PRIORITY_TYPE_INT, /**< Indicates the priority of the message. See enum _MSG_PRIORITY_TYPE_E */ + MSG_MMS_SENDOPT_EXPIRY_TIME_INT, /**< Indicates the time when the message is to be removed from the MMSC. See enum _MSG_MMS_EXPIRY_TIME_E */ + MSG_MMS_SENDOPT_DELIVERY_TIME_INT, /**< Indicates the message transmission time which is set in the MMSC. See enum _MSG_MMS_DELIVERY_TIME_E */ + MSG_MMS_SENDOPT_CUSTOM_DELIVERY_TIME_INT, /**< Indicates the message transmission time which is set in the MMSC. */ + MSG_MMS_SENDOPT_SENDER_VISIBILITY_BOOL, /**< Indicates whether the address is hidden or not. */ + MSG_MMS_SENDOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the delivery report will be sent or not. */ + MSG_MMS_SENDOPT_READ_REPLY_BOOL, /**< Indicates whether the read report will be sent or not. */ + MSG_MMS_SENDOPT_KEEP_COPY_BOOL, /**< Indicates whether the message copy is kept or not. */ + MSG_MMS_SENDOPT_BODY_REPLYING_BOOL, /**< Indicates whether the body is included when replying or not. */ + MSG_MMS_SENDOPT_HIDE_RECIPIENTS_BOOL, /**< Indicates whether the recipients are hidden or not. */ + MSG_MMS_SENDOPT_REPLY_CHARGING_INT, /**< Indicates the reply charging type of message. See enum _MSG_MMS_REPLY_CHARGING_TYPE_E */ + MSG_MMS_SENDOPT_REPLY_CHARGING_DEADLINE_INT, /**< Indicates the deadline for replying charging. is set in the MMSC. */ + MSG_MMS_SENDOPT_REPLY_CHARGING_SIZE_INT, /**< Indicates the reply charging size. */ + MSG_MMS_SENDOPT_CREATION_MODE_INT /**< Indicates the creation mode of MMS. See enum _MSG_MMS_CREATION_MODE_E */ +}; + +/** + * @brief Enumeration for the values of setting for MMS receiving options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_MMS_RECV_OPT. + */ enum _MSG_STRUCT_MMS_RECV_OPT_E { - MSG_MMS_RECVOPT_HOME_RETRIEVE_TYPE_INT = MSG_STRUCT_SETTING_MMS_RECV_OPT+1, /**< Indicates the retrieve type for MMS home network. See enum _MSG_MMS_HOME_RETRIEVE_TYPE_E */ - MSG_MMS_RECVOPT_ABROAD_RETRIEVE_TYPE_INT, /**< Indicates the retrieve type for MMS abroad network. See enum _MSG_MMS_ABROAD_RETRIEVE_TYPE_E */ - MSG_MMS_RECVOPT_READ_REPORT_BOOL, /**< Indicates whether the read report will be sent or not. */ - MSG_MMS_RECVOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the delivery report will be sent or not. */ - MSG_MMS_RECVOPT_REJECT_UNKNOWN_BOOL, /**< Indicates whether unknown addresses are rejected or not. */ - MSG_MMS_RECVOPT_REJECT_ADVERTISEMENT_BOOL /**< Indicates whether advertisement is rejected or not. */ + MSG_MMS_RECVOPT_HOME_RETRIEVE_TYPE_INT = MSG_STRUCT_SETTING_MMS_RECV_OPT+1, /**< Indicates the retrieve type for MMS home network. See enum _MSG_MMS_HOME_RETRIEVE_TYPE_E */ + MSG_MMS_RECVOPT_ABROAD_RETRIEVE_TYPE_INT, /**< Indicates the retrieve type for MMS abroad network. See enum _MSG_MMS_ABROAD_RETRIEVE_TYPE_E */ + MSG_MMS_RECVOPT_READ_REPORT_BOOL, /**< Indicates whether the read report will be sent or not. */ + MSG_MMS_RECVOPT_DELIVERY_REPORT_BOOL, /**< Indicates whether the delivery report will be sent or not. */ + MSG_MMS_RECVOPT_REJECT_UNKNOWN_BOOL, /**< Indicates whether unknown addresses are rejected or not. */ + MSG_MMS_RECVOPT_REJECT_ADVERTISEMENT_BOOL /**< Indicates whether advertisement is rejected or not. */ }; +/** + * @brief Enumeration for the values of setting for general options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_GENERAL_OPT. + */ enum _MSG_STRUCT_GENERAL_OPT_E { - MSG_GENERAL_KEEP_COPY_BOOL = MSG_STRUCT_SETTING_GENERAL_OPT+1, /**< Indicates whether the SMS message copy is kept or not. */ - MSG_GENERAL_ALERT_TONE_INT, /**< Indicates the period of playing alert tone. See enum _MSG_ALERT_TONE_E */ - MSG_GENERAL_AUTO_ERASE_BOOL /**< Indicates whether the auto-erase option is enabled or not. */ + MSG_GENERAL_KEEP_COPY_BOOL = MSG_STRUCT_SETTING_GENERAL_OPT+1, /**< Indicates whether the SMS message copy is kept or not. */ + MSG_GENERAL_ALERT_TONE_INT, /**< Indicates the period of playing alert tone. See enum _MSG_ALERT_TONE_E */ + MSG_GENERAL_AUTO_ERASE_BOOL, /**< Indicates whether the auto-erase option is enabled or not. */ + MSG_GENERAL_BLOCK_UNKNOWN_NUMBER_BOOL, /**< Indicates whether unknown sender message is blocked or not. */ + MSG_GENERAL_SMS_LIMIT_CNT_INT, /**< Indicates the count limitation of SMS messages in one conversation */ + MSG_GENERAL_MMS_LIMIT_CNT_INT, /**< Indicates the count limitation of MMS messages in one conversation */ + MSG_GENERAL_MSG_NOTIFICATION_BOOL, /**< Indicates whether notification for incoming message is shown or not. */ + MSG_GENERAL_MSG_VIBRATION_BOOL, /**< Indicates whether vibration for incoming message is run or not. */ + MSG_GENERAL_MSG_PREVIEW_BOOL, /**< Indicates whether preview for incoming message is shown or not. */ + MSG_GENERAL_RINGTONE_TYPE_INT, /**< Indicates the message ringtone type. */ + MSG_GENERAL_RINGTONE_PATH_STR /**< Indicates the message ringtone path */ }; +/** + * @brief Enumeration for the values of setting for push message options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_PUSH_MSG_OPT. + */ enum _MSG_STRUCT_PUSH_MSG_OPT_E { - MSG_PUSHMSG_RECEIVE_BOOL = MSG_STRUCT_SETTING_PUSH_MSG_OPT+1, /**< Indicates whether the push message is received or not. */ - MSG_PUSHMSG_SERVICE_TYPE_INT /**< Indicates the service type of a push message. See enum _MSG_PUSH_SERVICE_TYPE_E */ + MSG_PUSHMSG_RECEIVE_BOOL = MSG_STRUCT_SETTING_PUSH_MSG_OPT+1, /**< Indicates whether the push message is received or not. */ + MSG_PUSHMSG_SERVICE_TYPE_INT /**< Indicates the service type of a push message. See enum _MSG_PUSH_SERVICE_TYPE_E */ }; +/** + * @brief Enumeration for the values of setting for voice message options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_VOICE_MSG_OPT. + */ enum _MSG_STRUCT_VOICE_MSG_OPT_E { - MSG_VOICEMSG_ADDRESS_STR = MSG_STRUCT_SETTING_VOICE_MSG_OPT+1, /**< Indicates the address for voice message. */ + MSG_VOICEMSG_ADDRESS_STR = MSG_STRUCT_SETTING_VOICE_MSG_OPT+1, /**< Indicates the address for voice message. */ + MSG_VOICEMSG_ALPHA_ID_STR, /**< Indicates the alpha id for voice message address. */ + MSG_VOICEMSG_SIM_INDEX_INT, /**< Indicates the SIM index for voice message. */ + MSG_VOICEMSG_VOICE_COUNT_INT, /**< Indicates the count of voice messages. */ }; + +/** + * @brief Enumeration for the values of setting for message size option. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SETTING_MSGSIZE_OPT. + */ enum _MSG_STRUCT_MSGSISE_OPT_E { - MSG_MESSAGE_SIZE_INT = MSG_STRUCT_SETTING_MSGSIZE_OPT+1, /**< Indicates the message size */ + MSG_MESSAGE_SIZE_INT = MSG_STRUCT_SETTING_MSGSIZE_OPT+1, /**< Indicates the message size */ }; -//MSG_MMS_DATA +/** + * @brief Enumeration for the values of MMS detail informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS. + */ enum MSG_MMS_INFO_E { - MSG_MMS_PAGE_LIST_HND = MSG_STRUCT_MMS+1, /**< The pointer to SMIL pages list */ - MSG_MMS_REGION_LIST_HND, /**< The pointer to SMIL regions list */ - MSG_MMS_ATTACH_LIST_HND, /**< The pointer to attachment list */ - MSG_MMS_TRANSITION_LIST_HND, /**< The pointer to SMIL transitions list */ - MSG_MMS_META_LIST_HND, /**< The pointer to SMIL meta list */ - MSG_MMS_ROOTLAYOUT_WIDTH_INT, /**< Indicates the width of the root layout */ - MSG_MMS_ROOTLAYOUT_WIDTH_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_ROOTLAYOUT_HEIGHT_INT, /**< Indicates the height of the root layout */ - MSG_MMS_ROOTLAYOUT_HEIGHT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_ROOTLAYOUT_BGCOLOR_INT, /**< Indicates the background color of the root layout */ - MSG_MMS_ROOTLAYOUT_BGCOLOR_BOOL, /**< Indicates the background color is set in the root layout */ -}; - -//MSG_MMS_PAGE + MSG_MMS_PAGE_LIST_HND = MSG_STRUCT_MMS+1, /**< The pointer to SMIL pages list */ + MSG_MMS_REGION_LIST_HND, /**< The pointer to SMIL regions list */ + MSG_MMS_ATTACH_LIST_HND, /**< The pointer to attachment list */ + MSG_MMS_TRANSITION_LIST_HND, /**< The pointer to SMIL transitions list */ + MSG_MMS_META_LIST_HND, /**< The pointer to SMIL meta list */ + MSG_MMS_ROOTLAYOUT_WIDTH_INT, /**< Indicates the width of the root layout */ + MSG_MMS_ROOTLAYOUT_WIDTH_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_ROOTLAYOUT_HEIGHT_INT, /**< Indicates the height of the root layout */ + MSG_MMS_ROOTLAYOUT_HEIGHT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_ROOTLAYOUT_BGCOLOR_INT, /**< Indicates the background color of the root layout */ + MSG_MMS_ROOTLAYOUT_BGCOLOR_BOOL, /**< Indicates the background color is set in the root layout */ + MSG_MMS_HEADER_BCC_ADDRESS_LIST_HND, /**< The pointer to BCC address list */ + MSG_MMS_HEADER_CC_ADDRESS_LIST_HND, /**< The pointer to CC address list */ + MSG_MMS_HEADER_CONTENT_LOCATION_STR, /**< Indicates contentLocation in MMS header */ + MSG_MMS_HEADER_CONTENT_TYPE_STR, /**< Indicates szContentType in MMS header. ex) application/vnd.wap.multipart.related */ + MSG_MMS_HEADER_DATE_INT, /**< Indicates date in MMS header */ + MSG_MMS_HEADER_DELIVERY_REPORT_INT, /**< Indicates X-Mms-Delivery-Report */ + MSG_MMS_HEADER_DELIVERY_TIME_INT, /**< Indicates X-Mms-Delivery-Time */ + MSG_MMS_HEADER_EXPIRY_TIME_INT, /**< Indicates X-Mms-Expiry-Time */ + MSG_MMS_HEADER_FROM_STR, /**< Indicates FROM address in header */ + MSG_MMS_HEADER_MESSAGE_CLASS_INT, /**< Indicates messageClassin in header. ex) Personal | Advertisement | Informational | Auto */ + MSG_MMS_HEADER_MESSAGE_ID_STR, /**< Indicates messageID in header*/ + MSG_MMS_HEADER_MESSAGE_TYPE_INT, /**< Indicates MmsMsgTypein header. ex) sendreq */ + MSG_MMS_HEADER_VERSION_INT, /**< Indicates mmsVersion in header. ex) 1.0 1.3 etc */ + MSG_MMS_HEADER_SIZE_INT, /**< Indicates X-Mms-Message-Size */ + MSG_MMS_HEADER_PRIORITY_INT, /**< Indicates _MSG_PRIORITY_TYPE_E in header: Low | Normal | High */ + MSG_MMS_HEADER_READ_REPORT_INT, /**< Indicates X-Mms-Read-Report */ + MSG_MMS_HEADER_HIDE_ADDRESS_INT, /**< Indicates X-Mms-Sender-Visibility */ + MSG_MMS_HEADER_MMS_STATUS_INT, /**< Indicates X-Mms-Status */ + MSG_MMS_HEADER_TO_ADDRESS_LIST_HND, /**< The pointer to 'TO' address list in header*/ + MSG_MMS_HEADER_TR_ID_STR, /**< Indicates thread ID in header */ + MSG_MMS_HEADER_CONTENT_CLASS_INT, /**< Indicates contentClass in header. ex) text | image-basic| image-rich | video-basic | video-rich | megapixel | content-basic | content-rich */ + MSG_MMS_SMIL_MULTIPART_CONTENT_TYPE_STR, /**< Indicates multipart content type in header*/ + MSG_MMS_SMIL_MULTIPART_NAME_STR, /**<Indicates multipart file name in header*/ + MSG_MMS_SMIL_MULTIPART_FILEPATH_STR, /**< Indicates multipart file path in header*/ + MSG_MMS_SMIL_MULTIPART_CONTENT_ID_STR, /**< Indicates multipart content id in header*/ + MSG_MMS_SMIL_MULTIPART_CONTENT_LOCATION_STR, /**< Indicates multipart content Location in header*/ + MSG_MMS_MULTIPART_LIST_HND, /**< The pointer to MMS multipart list */ + MSG_MMS_INFO_MAX, /**< Placeholder for max value of this enum */ +}; + +/** + * @brief Enumeration for the values of MMS multipart informations. \n + * This enum is used as member of #msg_struct_t for MMS_MULTIPART_DATA_S. + */ +enum _MSG_STRUCT_MULTIPART_INFO_E { + MSG_MMS_MULTIPART_CONTENT_TYPE_STR = MSG_STRUCT_MULTIPART_INFO+1, /**< Indicates multipart content type */ + MSG_MMS_MULTIPART_NAME_STR, /**< Indicates multipart file name */ + MSG_MMS_MULTIPART_FILEPATH_STR, /**< Indicates multipart file path */ + MSG_MMS_MULTIPART_CONTENT_ID_STR, /**< Indicates mutipart content ID */ + MSG_MMS_MULTIPART_CONTENT_LOCATION_STR, /**< Indicates multipart content Location */ + MSG_MMS_MULTIPART_TCS_LEVEL_INT, /**< Indicates detection of malware type */ + MSG_MMS_MULTIPART_MALWARE_ALLOW_INT, /**< Indicates malware allowed */ + MSG_MMS_MULTIPART_THUMBNAIL_FILEPATH_STR, /**< Indicates the thumbnail filepath */ +}; + +/** + * @brief Enumeration for the values of MMS page informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_PAGE. + */ enum MSG_MMS_PAGE_INFO_E { - MSG_MMS_PAGE_MEDIA_LIST_HND = MSG_STRUCT_MMS_PAGE+1, /**< The pointer to media list */ - MSG_MMS_PAGE_PAGE_DURATION_INT, /**< Indicates the duration of the page */ - MSG_MMS_PAGE_BEGIN_TIME_INT, /**< Indicates the begin time of the page */ - MSG_MMS_PAGE_END_TIME_INT, /**< Indicates the end time of the page */ - MSG_MMS_PAGE_MIN_INT, /**< Indicates the min attribute of the page */ - MSG_MMS_PAGE_MAX_INT, /**< Indicates the max attribute of the page */ - MSG_MMS_PAGE_REPEAT_INT, /**< Indicates the page needs to be displayed repeatedly */ + MSG_MMS_PAGE_MEDIA_LIST_HND = MSG_STRUCT_MMS_PAGE+1, /**< The pointer to media list */ + MSG_MMS_PAGE_PAGE_DURATION_INT, /**< Indicates the duration of the page */ + MSG_MMS_PAGE_BEGIN_TIME_INT, /**< Indicates the begin time of the page */ + MSG_MMS_PAGE_END_TIME_INT, /**< Indicates the end time of the page */ + MSG_MMS_PAGE_MIN_INT, /**< Indicates the min attribute of the page */ + MSG_MMS_PAGE_MAX_INT, /**< Indicates the max attribute of the page */ + MSG_MMS_PAGE_REPEAT_INT, /**< Indicates the page needs to be displayed repeatedly */ }; +/** + * @brief Enumeration for the values of MMS media informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_MEDIA. + */ enum MSG_MMS_MEDIA_INFO { - MSG_MMS_MEDIA_TYPE_INT = MSG_STRUCT_MMS_MEDIA+1, /**< Indicates the SMIL media type. see enum MmsSmilMediaType */ - MSG_MMS_MEDIA_SRC_STR, /**< Indicates the media source name */ - MSG_MMS_MEDIA_FILENAME_STR, /**< Indicates the file name */ - MSG_MMS_MEDIA_FILEPATH_STR, /**< Indicates the file path */ - MSG_MMS_MEDIA_CONTENT_ID_STR, /**< Indicates the content id */ - MSG_MMS_MEDIA_REGION_ID_STR, /**< Indicates the region id */ - MSG_MMS_MEDIA_ALTERNATIVE_STR, /**< Indicates the alternative text to be displayed in failure case */ - MSG_MMS_MEDIA_DRM_TYPE_INT, /**< Indicates the drm type. see enum MsgDrmType */ - MSG_MMS_MEDIA_DRM_FULLPATH_STR, /**< Indicates the fullpath of the DRM */ - MSG_MMS_MEDIA_SMIL_TEXT_HND, /**< Indicates the text attributes */ - MSG_MMS_MEDIA_SMIL_AVI_HND, /**< Indicates the video attributes */ -}; - -//MSG_MMS_ATTACH + MSG_MMS_MEDIA_TYPE_INT = MSG_STRUCT_MMS_MEDIA+1, /**< Indicates the SMIL media type. See enum MmsSmilMediaType */ + MSG_MMS_MEDIA_SRC_STR, /**< Indicates the media source name */ + MSG_MMS_MEDIA_FILENAME_STR, /**< Indicates the file name */ + MSG_MMS_MEDIA_FILEPATH_STR, /**< Indicates the file path */ + MSG_MMS_MEDIA_CONTENT_ID_STR, /**< Indicates the content ID */ + MSG_MMS_MEDIA_REGION_ID_STR, /**< Indicates the region ID */ + MSG_MMS_MEDIA_ALTERNATIVE_STR, /**< Indicates the alternative text to be displayed in failure case */ + MSG_MMS_MEDIA_DRM_TYPE_INT, /**< Indicates the DRM type. See enum MsgDrmType */ + MSG_MMS_MEDIA_DRM_FULLPATH_STR, /**< Indicates the fullpath of the DRM */ + MSG_MMS_MEDIA_SMIL_TEXT_HND, /**< Indicates the text attributes */ + MSG_MMS_MEDIA_SMIL_AVI_HND, /**< Indicates the video attributes */ + MSG_MMS_MEDIA_CONTENT_LOCATION_STR, /**< Indicates the content location */ + MSG_MMS_MEDIA_CONTENT_TYPE_STR, /**< Indicates the content type */ + MSG_MMS_MEDIA_INFO_MAX, /**< Placeholder for max value of this enum*/ +}; + +/** + * @brief Enumeration for the values of MMS attachment informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_ATTACH. + */ enum MSG_MMS_ATTACH_INFO_E { - MSG_MMS_ATTACH_MIME_TYPE_INT = MSG_STRUCT_MMS_ATTACH+1, /**< Indicates the file mime type. see enum MimeType */ - MSG_MMS_ATTACH_FILENAME_STR, /**< Indicates the file name */ - MSG_MMS_ATTACH_FILEPATH_STR, /**< Indicates the file path */ - MSG_MMS_ATTACH_FILESIZE_INT, /**< Indicates the size of the file */ - MSG_MMS_ATTACH_DRM_TYPE_INT, /**< Indicates the drm type. see enum MsgDrmType */ - MSG_MMS_ATTACH_DRM_FULLPATH_STR, /**< Indicates the fullpath of the DRM */ + MSG_MMS_ATTACH_MIME_TYPE_INT = MSG_STRUCT_MMS_ATTACH+1, /**< Indicates the file mime type. See enum MimeType */ + MSG_MMS_ATTACH_FILENAME_STR, /**< Indicates the file name */ + MSG_MMS_ATTACH_FILEPATH_STR, /**< Indicates the file path */ + MSG_MMS_ATTACH_FILESIZE_INT, /**< Indicates the size of the file */ + MSG_MMS_ATTACH_DRM_TYPE_INT, /**< Indicates the DRM type. See enum MsgDrmType */ + MSG_MMS_ATTACH_DRM_FULLPATH_STR, /**< Indicates the fullpath of the DRM */ + MSG_MMS_ATTACH_CONTENT_TYPE_STR, /**< Indicates the content type */ + MSG_MMS_ATTACH_INFO_MAX, /**< Placeholder for max value of this enum*/ }; +/** + * @brief Enumeration for the values of MMS region informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_REGION. + */ enum MSG_MMS_REGION_INFO_E { - MSG_MMS_REGION_ID_STR = MSG_STRUCT_MMS_REGION+1, /**< Indicates the ID of region information */ - MSG_MMS_REGION_LENGTH_LEFT_INT, /**< Indicates the left co-ordinate of the region */ - MSG_MMS_REGION_LENGTH_LEFT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_REGION_LENGTH_TOP_INT, /**< Indicates the top co-ordinate of the region */ - MSG_MMS_REGION_LENGTH_TOP_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_REGION_LENGTH_WIDTH_INT, /**< Indicates the width of the region */ - MSG_MMS_REGION_LENGTH_WIDTH_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_REGION_LENGTH_HEIGHT_INT, /**< Indicates the width of the region */ - MSG_MMS_REGION_LENGTH_HEIGHT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ - MSG_MMS_REGION_BGCOLOR_INT, /**< Indicates the background color of the region */ - MSG_MMS_REGION_FIT_TYPE_INT, /**< Indicates the fit type. see enum REGION_FIT_TYPE_T */ - MSG_MMS_REGION_BGCOLOR_BOOL, /**< Indicates the background color is set in the region */ + MSG_MMS_REGION_ID_STR = MSG_STRUCT_MMS_REGION+1, /**< Indicates the ID of region information */ + MSG_MMS_REGION_LENGTH_LEFT_INT, /**< Indicates the left co-ordinate of the region */ + MSG_MMS_REGION_LENGTH_LEFT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_REGION_LENGTH_TOP_INT, /**< Indicates the top co-ordinate of the region */ + MSG_MMS_REGION_LENGTH_TOP_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_REGION_LENGTH_WIDTH_INT, /**< Indicates the width of the region */ + MSG_MMS_REGION_LENGTH_WIDTH_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_REGION_LENGTH_HEIGHT_INT, /**< Indicates the width of the region */ + MSG_MMS_REGION_LENGTH_HEIGHT_PERCENT_BOOL, /**< Indicates the length is in percentage(%) or not */ + MSG_MMS_REGION_BGCOLOR_INT, /**< Indicates the background color of the region */ + MSG_MMS_REGION_FIT_TYPE_INT, /**< Indicates the fit type. See enum REGION_FIT_TYPE_T */ + MSG_MMS_REGION_BGCOLOR_BOOL, /**< Indicates the background color is set in the region */ }; +/** + * @brief Enumeration for the values of MMS meta data informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_META. + */ enum MSG_MMS_META_INFO_E { - MSG_MMS_META_ID_STR = MSG_STRUCT_MMS_META+1, /**< Indicates the ID of meta information */ - MSG_MMS_META_NAME_STR, /**< Indicates the Name */ - MSG_MMS_META_CONTENT_STR, /**< Indicates the content */ + MSG_MMS_META_ID_STR = MSG_STRUCT_MMS_META+1, /**< Indicates the ID of meta information */ + MSG_MMS_META_NAME_STR, /**< Indicates the Name */ + MSG_MMS_META_CONTENT_STR, /**< Indicates the content */ }; -enum MSG_MMS_TRANSION_INFO_E { - MSG_MMS_TRANSITION_ID_STR = MSG_STRUCT_MMS_TRANSITION+1, /**< Indicates the ID of transition information */ - MSG_MMS_TRANSITION_TYPE_INT, /**< Indicates the transition type. see enum MmsSmilTransType */ - MSG_MMS_TRANSITION_SUBTYPE_INT, /**< Indicates the transition sub type. see enum MmsSmilTransSubType */ - MSG_MMS_TRANSITION_DURATION_INT, /**< Indicates the transition duration */ +/** + * @brief Enumeration for the values of MMS transition informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_TRANSITION. + */ +enum MSG_MMS_TRANSITION_INFO_E { + MSG_MMS_TRANSITION_ID_STR = MSG_STRUCT_MMS_TRANSITION+1, /**< Indicates the ID of transition information */ + MSG_MMS_TRANSITION_TYPE_INT, /**< Indicates the transition type. See enum MmsSmilTransType */ + MSG_MMS_TRANSITION_SUBTYPE_INT, /**< Indicates the transition sub type. See enum MmsSmilTransSubType */ + MSG_MMS_TRANSITION_DURATION_INT, /**< Indicates the transition duration */ }; +/** + * @brief Enumeration for the values of MMS SMIL text informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_SMIL_TEXT. + */ enum MSG_MMS_SMIL_TEXT_INFO_E { - MSG_MMS_SMIL_TEXT_TRANSITION_IN_ID_STR = MSG_STRUCT_MMS_SMIL_TEXT+1, /**< Indicates the In SMIL transition id */ - MSG_MMS_SMIL_TEXT_TRANSITION_OUT_ID_STR, /**< Indicates the Out SMIL transition id */ - MSG_MMS_SMIL_TEXT_REPEAT_INT, /**< Indicates the text needs to be displayed repeatedly */ - MSG_MMS_SMIL_TEXT_BEGIN_INT, /**< Indicates the begin time */ - MSG_MMS_SMIL_TEXT_END_INT, /**< Indicates the end time */ - MSG_MMS_SMIL_TEXT_DURTIME_INT, /**< Indicates the duration */ - MSG_MMS_SMIL_TEXT_BGCOLOR_INT, /**< Indicates the background color of the text */ - MSG_MMS_SMIL_TEXT_BOLD_BOOL, /**< Indicates whether the text is bold */ - MSG_MMS_SMIL_TEXT_UNDERLINE_BOOL, /**< Indicates whether the text is underlined */ - MSG_MMS_SMIL_TEXT_ITALIC_BOOL, /**< Indicates whether the text is Italic */ - MSG_MMS_SMIL_TEXT_REVERSE_BOOL, /**< Indicates whether the text is reversed */ - MSG_MMS_SMIL_TEXT_DIRECTION_TYPE_INT, /**< Indicates the text direction type. see enum MmsTextDirection */ - MSG_MMS_SMIL_TEXT_SIZE_INT, /**< Indicates the font size */ - MSG_MMS_SMIL_TEXT_COLOR_INT, /**< Indicates the font color */ -}; - + MSG_MMS_SMIL_TEXT_TRANSITION_IN_ID_STR = MSG_STRUCT_MMS_SMIL_TEXT+1, /**< Indicates the In SMIL transition ID */ + MSG_MMS_SMIL_TEXT_TRANSITION_OUT_ID_STR, /**< Indicates the Out SMIL transition ID */ + MSG_MMS_SMIL_TEXT_REPEAT_INT, /**< Indicates the text needs to be displayed repeatedly */ + MSG_MMS_SMIL_TEXT_BEGIN_INT, /**< Indicates the begin time */ + MSG_MMS_SMIL_TEXT_END_INT, /**< Indicates the end time */ + MSG_MMS_SMIL_TEXT_DURTIME_INT, /**< Indicates the duration */ + MSG_MMS_SMIL_TEXT_BGCOLOR_INT, /**< Indicates the background color of the text */ + MSG_MMS_SMIL_TEXT_BOLD_BOOL, /**< Indicates whether the text is bold */ + MSG_MMS_SMIL_TEXT_UNDERLINE_BOOL, /**< Indicates whether the text is underlined */ + MSG_MMS_SMIL_TEXT_ITALIC_BOOL, /**< Indicates whether the text is Italic */ + MSG_MMS_SMIL_TEXT_REVERSE_BOOL, /**< Indicates whether the text is reversed */ + MSG_MMS_SMIL_TEXT_DIRECTION_TYPE_INT, /**< Indicates the text direction type. see enum MmsTextDirection */ + MSG_MMS_SMIL_TEXT_SIZE_INT, /**< Indicates the font size */ + MSG_MMS_SMIL_TEXT_COLOR_INT, /**< Indicates the font color */ +}; + +/** + * @brief Enumeration for the values of MMS SMIL avi informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_SMIL_AVI. + */ enum MSG_MMS_SMIL_AVI_INFO_E { - MSG_MMS_SMIL_AVI_TRANSITION_IN_ID_STR = MSG_STRUCT_MMS_SMIL_AVI+1, /**< Indicates the In SMIL transition id */ - MSG_MMS_SMIL_AVI_TRANSITION_OUT_ID_STR, /**< Indicates the Out SMIL transition id */ - MSG_MMS_SMIL_AVI_REPEAT_INT, /**< Indicates the video needs to be displayed repeatedly */ - MSG_MMS_SMIL_AVI_BEGIN_INT, /**< Indicates the begin time */ - MSG_MMS_SMIL_AVI_END_INT, /**< Indicates the end time */ - MSG_MMS_SMIL_AVI_DURTIME_INT, /**< Indicates the duration */ - MSG_MMS_SMIL_AVI_BGCOLOR_INT, /**< Indicates the background color of the text */ + MSG_MMS_SMIL_AVI_TRANSITION_IN_ID_STR = MSG_STRUCT_MMS_SMIL_AVI+1, /**< Indicates the In SMIL transition ID */ + MSG_MMS_SMIL_AVI_TRANSITION_OUT_ID_STR, /**< Indicates the Out SMIL transition ID */ + MSG_MMS_SMIL_AVI_REPEAT_INT, /**< Indicates the video needs to be displayed repeatedly */ + MSG_MMS_SMIL_AVI_BEGIN_INT, /**< Indicates the begin time */ + MSG_MMS_SMIL_AVI_END_INT, /**< Indicates the end time */ + MSG_MMS_SMIL_AVI_DURTIME_INT, /**< Indicates the duration */ + MSG_MMS_SMIL_AVI_BGCOLOR_INT, /**< Indicates the background color of the text */ }; +/** + * @brief Enumeration for the values of message sending options. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SENDOPT. + */ enum MSG_SEND_OPT_E { - MSG_SEND_OPT_SETTING_BOOL = MSG_STRUCT_SENDOPT+1, /**< Indicates whether the sending option is set ot not for a message */ - MSG_SEND_OPT_DELIVER_REQ_BOOL, /**< Indicates whether the delivey custom time is used or not */ - MSG_SEND_OPT_KEEPCOPY_BOOL, /**< Indicates whether the message copy is kept or not */ - MSG_SEND_OPT_MMS_OPT_HND, /**< The handle of MMS sending option for a message */ - MSG_SEND_OPT_SMS_OPT_HND, /**< The handle of SMS sending option for a message */ + MSG_SEND_OPT_SETTING_BOOL = MSG_STRUCT_SENDOPT+1, /**< Indicates whether the sending option is set or not for a message */ + MSG_SEND_OPT_DELIVER_REQ_BOOL, /**< Indicates whether the delivery custom time is used or not */ + MSG_SEND_OPT_KEEPCOPY_BOOL, /**< Indicates whether the message copy is kept or not */ + MSG_SEND_OPT_MMS_OPT_HND, /**< The handle of MMS sending option for a message */ + MSG_SEND_OPT_SMS_OPT_HND, /**< The handle of SMS sending option for a message */ }; +/** + * @brief Enumeration for the values of SyncML informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SYNCML_INFO. + */ enum MSG_SYNCML_INFO_E { - MSG_SYNCML_INFO_EXTID_INT = MSG_STRUCT_SYNCML_INFO+1, /**< Indicates the ext ID */ - MSG_SYNCML_INFO_PINCODE_INT, /**< Indicates the PIN code */ - MSG_SYNCML_INFO_MESSAGE_HND, /**< Indicate the handle of a message */ + MSG_SYNCML_INFO_EXTID_INT = MSG_STRUCT_SYNCML_INFO+1, /**< Indicates the ext ID */ + MSG_SYNCML_INFO_PINCODE_INT, /**< Indicates the PIN code */ + MSG_SYNCML_INFO_MESSAGE_HND, /**< Indicate the handle of a message */ }; +/** + * @brief Enumeration for the values of message count status. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_COUNT_INFO. + */ enum MSG_COUNT_INFO_E { - MSG_COUNT_INFO_READ_INT = MSG_STRUCT_COUNT_INFO+1, /**< The count of read messages */ - MSG_COUNT_INFO_UNREAD_INT, /**< The count of unread messages */ - MSG_COUNT_INFO_SMS_INT, /**< The count of sms type messages */ - MSG_COUNT_INFO_MMS_INT, /**< The count of mms type messages */ + MSG_COUNT_INFO_READ_INT = MSG_STRUCT_COUNT_INFO+1, /**< The count of read messages */ + MSG_COUNT_INFO_UNREAD_INT, /**< The count of unread messages */ + MSG_COUNT_INFO_SMS_INT, /**< The count of SMS type messages */ + MSG_COUNT_INFO_MMS_INT, /**< The count of MMS type messages */ }; +/** + * @brief Enumeration for the values of message count in a thread. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_THREAD_COUNT_INFO. + */ enum MSG_THREAD_COUNT_INFO_E { - MSG_THREAD_COUNT_TOTAL_INT = MSG_STRUCT_THREAD_COUNT_INFO+1, /**< Indicates the total number of messages from the Peer. */ - MSG_THREAD_COUNT_UNREAD_INT, /**< Indicates the unread messages from the Peer. */ - MSG_THREAD_COUNT_SMS_INT, /**< Indicates the SMS messages from the Peer. */ - MSG_THREAD_COUNT_MMS_INT, /**< Indicates the MMS messages from the Peer. */ + MSG_THREAD_COUNT_TOTAL_INT = MSG_STRUCT_THREAD_COUNT_INFO+1, /**< Indicates the total number of messages from the Peer. */ + MSG_THREAD_COUNT_UNREAD_INT, /**< Indicates the unread messages from the peer. */ + MSG_THREAD_COUNT_SMS_INT, /**< Indicates the SMS messages from the peer. */ + MSG_THREAD_COUNT_MMS_INT, /**< Indicates the MMS messages from the peer. */ }; +/** + * @brief Enumeration for the values of thread informations for address. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_THREAD_LIST_INDEX. + */ enum MSG_THREAD_LIST_INDEX_E { - MSG_THREAD_LIST_INDEX_CONTACTID_INT = MSG_STRUCT_THREAD_LIST_INDEX+1, /**< The contact id of message common informatioin */ - MSG_THREAD_LIST_INDEX_ADDR_INFO_HND, /**< The pointer to message common informatioin */ + MSG_THREAD_LIST_INDEX_CONTACTID_INT = MSG_STRUCT_THREAD_LIST_INDEX+1, /**< The contact ID of message common informatioin */ + MSG_THREAD_LIST_INDEX_ADDR_INFO_HND, /**< The pointer to message common informatioin */ }; +/** + * @brief Enumeration for the values of sort rule for getting message list. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SORT_RULE. + */ enum MSG_SORT_RULE_E { - MSG_SORT_RULE_SORT_TYPE_INT = MSG_STRUCT_SORT_RULE+1, /**< Indicates the sort type. See enum _MSG_SORT_TYPE_E */ - MSG_SORT_RULE_ACSCEND_BOOL, /**< Indicates the sort order which is ascending or descending */ + MSG_SORT_RULE_SORT_TYPE_INT = MSG_STRUCT_SORT_RULE+1, /**< Indicates the sort type. See enum _MSG_SORT_TYPE_E */ + MSG_SORT_RULE_ACSCEND_BOOL, /**< Indicates the sort order which is ascending or descending */ }; +/** + * @brief Enumeration for the values of message folder information. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_FOLDER_INFO. + */ enum MSG_FOLDER_INFO_E { - MSG_FOLDER_INFO_ID_INT = MSG_STRUCT_FOLDER_INFO+1, /**< Indicates the unique folder ID. */ - MSG_FOLDER_INFO_NAME_STR, /**< Indicates the name of the folder. */ - MSG_FOLDER_INFO_TYPE_INT, /**< Indicates the folder type. */ + MSG_FOLDER_INFO_ID_INT = MSG_STRUCT_FOLDER_INFO+1, /**< Indicates the unique folder ID. */ + MSG_FOLDER_INFO_NAME_STR, /**< Indicates the name of the folder. */ + MSG_FOLDER_INFO_TYPE_INT, /**< Indicates the folder type. */ }; +/** + * @brief Enumeration for the values of conditions for searching message. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SEARCH_CONDITION. + */ enum MSG_SEARCH_CONDITION_E { - MSG_SEARCH_CONDITION_FOLDERID_INT = MSG_STRUCT_SEARCH_CONDITION+1, /**< Indicates the folder ID for searching messages. See enum _MSG_FOLDER_ID_E */ - MSG_SEARCH_CONDITION_MSGTYPE_INT, /**< Indicates the message type for searching messages. See enum _MSG_MESSAGE_TYPE_E */ - MSG_SEARCH_CONDITION_ADDRESS_VALUE_STR, /**< The address value for searching messages. */ - MSG_SEARCH_CONDITION_SEARCH_VALUE_STR, /**< The string to search */ - MSG_SEARCH_CONDITION_RESERVED_INT, + MSG_SEARCH_CONDITION_FOLDERID_INT = MSG_STRUCT_SEARCH_CONDITION+1, /**< The folder ID for searching messages. See enum _MSG_FOLDER_ID_E */ + MSG_SEARCH_CONDITION_MSGTYPE_INT, /**< The message type for searching messages. See enum _MSG_MESSAGE_TYPE_E */ + MSG_SEARCH_CONDITION_ADDRESS_VALUE_STR, /**< The address value for searching messages. */ + MSG_SEARCH_CONDITION_SEARCH_VALUE_STR, /**< The string to search */ + MSG_SEARCH_CONDITION_RESERVED_INT, /**< The search condition reserved*/ }; +/** + * @brief Enumeration for the values of report message status. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_REPORT_STATUS_INFO. + */ enum MSG_REPORT_E { - MSG_REPORT_ADDRESS_STR = MSG_STRUCT_REPORT_STATUS_INFO+1, /**< Indicates Report address */ - MSG_REPORT_TYPE_INT, /**< Indicates Report type. See the msg_report_type_t type*/ - MSG_REPORT_STATUS_INT, /**< Indicates Report status. See the msg_delivery_report_status_t or msg_read_report_status_t type*/ - MSG_REPORT_TIME_INT, /**< Indicates Report time */ + MSG_REPORT_ADDRESS_STR = MSG_STRUCT_REPORT_STATUS_INFO+1, /**< Indicates Report address */ + MSG_REPORT_TYPE_INT, /**< Indicates Report type. See the msg_report_type_t type*/ + MSG_REPORT_STATUS_INT, /**< Indicates Report status. See the msg_delivery_report_status_t or msg_read_report_status_t type*/ + MSG_REPORT_TIME_INT, /**< Indicates Report time */ +}; + +/** + * @brief Enumeration for the values of conditions for getting message list. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MSG_LIST_CONDITION. + */ +enum MSG_LIST_CONDITION_E { + MSG_LIST_CONDITION_FOLDER_ID_INT = MSG_STRUCT_MSG_LIST_CONDITION+1, /**< Indicates the folder ID for searching messages. See enum _MSG_FOLDER_ID_E */ + MSG_LIST_CONDITION_THREAD_ID_INT, /**< Indicates the thread ID for searching messages. */ + MSG_LIST_CONDITION_STORAGE_ID_INT, /**< Indicates the storage ID for searching messages. See enum _MSG_STORAGE_ID_E */ + MSG_LIST_CONDITION_MSGTYPE_INT, /**< Indicates the message type for searching messages. See enum _MSG_MESSAGE_TYPE_E */ + MSG_LIST_CONDITION_PROTECTED_BOOL, /**< Indicates the protected flag for searching messages*/ + MSG_LIST_CONDITION_SCHEDULED_BOOL, /**< Indicates the scheduled flag for searching messages*/ + MSG_LIST_CONDITION_ADDRESS_VALUE_STR, /**< The address value for searching messages. */ + MSG_LIST_CONDITION_TEXT_VALUE_STR, /**< The string to search */ + MSG_LIST_CONDITION_AND_OPERATER_BOOL, /**< Indicates presence of 'AND' operator for searching messages*/ + MSG_LIST_CONDITION_FROM_TIME_INT, /**< Indicates the 'FROM TIME' for searching messages*/ + MSG_LIST_CONDITION_TO_TIME_INT, /**< Indicates the 'TO TIME' for searching messages*/ + MSG_LIST_CONDITION_OFFSET_INT, /**< Indicates Search Result offset*/ + MSG_LIST_CONDITION_LIMIT_INT, /**< Indicates Search Result limit*/ + MSG_LIST_CONDITION_SORT_RULE_HND, /**< The pointer to sort rule to apply*/ + MSG_LIST_CONDITION_SIM_INDEX_INT, }; +/** + * @brief Enumeration for the values of address informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_ADDRESS_INFO. + */ enum MSG_ADDRESS_INFO_E { - MSG_ADDRESS_INFO_ADDRESS_TYPE_INT = MSG_STRUCT_ADDRESS_INFO+1, /**< The type of an address in case of an Email or a mobile phone. See enum _MSG_ADDRESS_TYPE_E */ - MSG_ADDRESS_INFO_RECIPIENT_TYPE_INT, /**< The type of recipient address in case of To, Cc, and Bcc. See enum _MSG_RECIPIENT_TYPE_E */ - MSG_ADDRESS_INFO_CONTACT_ID_INT, /**< The contact ID of address */ - MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, /**< The actual value of an address */ - MSG_ADDRESS_INFO_DISPLAYNAME_STR, /**< The display name of an address */ + MSG_ADDRESS_INFO_ADDRESS_TYPE_INT = MSG_STRUCT_ADDRESS_INFO+1, /**< The type of an address in case of an Email or a mobile phone. See enum _MSG_ADDRESS_TYPE_E */ + MSG_ADDRESS_INFO_RECIPIENT_TYPE_INT, /**< The type of recipient address in case of To, Cc, and Bcc. See enum _MSG_RECIPIENT_TYPE_E */ + MSG_ADDRESS_INFO_CONTACT_ID_INT, /**< The contact ID of address **DEPRECATED** */ + MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, /**< The actual value of an address */ + MSG_ADDRESS_INFO_DISPLAYNAME_STR, /**< The display name of an address **DEPRECATED** */ }; +/** + * @brief Enumeration for the values of MMS sending options for sent message. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MMS_SENDOPT. + */ enum MSG_MMS_SENDOPT_E { - MSG_MMS_SENDOPTION_READ_REQUEST_BOOL = MSG_STRUCT_MMS_SENDOPT+1, /**< Indicates whether it requests read report or not */ - MSG_MMS_SENDOPTION_EXPIRY_TIME_INT, /**< Indicates MMS expiry time */ - MSG_MMS_SENDOPTION_DELIVERY_CUSTOMTIME_BOOL, /**< Indicates whether is use MMS delivery custom time */ - MSG_MMS_SENDOPTION_DELIVERY_TIME_INT, /**< Indicates MMS delivery time */ - MSG_MMS_SENDOPTION_PRIORITY_INT, /**< Indicates MMS priority. See enum _MSG_PRIORITY_TYPE_E */ + MSG_MMS_SENDOPTION_READ_REQUEST_BOOL = MSG_STRUCT_MMS_SENDOPT+1, /**< Indicates whether it requests read report or not */ + MSG_MMS_SENDOPTION_EXPIRY_TIME_INT, /**< Indicates MMS expiry time */ + MSG_MMS_SENDOPTION_DELIVERY_CUSTOMTIME_BOOL, /**< Indicates whether is use MMS delivery custom time */ + MSG_MMS_SENDOPTION_DELIVERY_TIME_INT, /**< Indicates MMS delivery time */ + MSG_MMS_SENDOPTION_PRIORITY_INT, /**< Indicates MMS priority. See enum _MSG_PRIORITY_TYPE_E */ }; +/** + * @brief Enumeration for the values of SMS sending options for sent message. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SMS_SENDOPT. + */ enum MSG_SMS_SENDOPT_E { - MSG_SMS_SENDOPT_REPLYPATH_BOOL = MSG_STRUCT_SMS_SENDOPT+1, /**< Indicates whether reply path is set */ + MSG_SMS_SENDOPT_REPLYPATH_BOOL = MSG_STRUCT_SMS_SENDOPT+1, /**< Indicates whether reply path is set */ }; +/** + * @brief Enumeration for the values of reject message informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_REJECT_MSG_INFO. + */ enum MSG_REJECT_MESSAGE_E { - MSG_REJECT_MESSAGE_MSGID_INT = MSG_STRUCT_REJECT_MSG_INFO+1, /**< Indicates the font type none */ - MSG_REJECT_MESSAGE_MSGTEXT_STR, /**< Indicates the font type none */ - MSG_REJECT_MESSAGE_DISPLAY_TIME_INT, /**< Indicates the font type none */ + MSG_REJECT_MESSAGE_MSGID_INT = MSG_STRUCT_REJECT_MSG_INFO+1, /**< Indicates the ID of rejected message */ + MSG_REJECT_MESSAGE_MSGTEXT_STR, /**< Indicates the text of rejected message */ + MSG_REJECT_MESSAGE_DISPLAY_TIME_INT, /**< Indicates the display time of rejected message */ }; +/** + * @brief Enumeration for the values of requested message informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_REQUEST_INFO. + */ enum MSG_REQUEST_INFO_E { - MSG_REQUEST_REQUESTID_INT = MSG_STRUCT_REQUEST_INFO+1, /**< Indicates the request ID, which is unique. When applications submit a request to the framework, this value will be set by the framework. */ - MSG_REQUEST_MESSAGE_HND, /**< Indicates the message structure to be sent by applications. */ - MSG_REQUEST_SENDOPT_HND, + MSG_REQUEST_REQUESTID_INT = MSG_STRUCT_REQUEST_INFO+1, /**< Indicates the request ID, which is unique. When applications submit a request to the framework, this value will be set by the framework. */ + MSG_REQUEST_MESSAGE_HND, /**< Indicates the message structure to be sent by applications. */ + MSG_REQUEST_SENDOPT_HND, /**< Indicates the send options to be sent by applications*/ }; +/** + * @brief Enumeration for the values of sent status informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_SENT_STATUS_INFO. + */ enum MSG_SENT_STATUS_INFO_E { - MSG_SENT_STATUS_REQUESTID_INT = MSG_STRUCT_SENT_STATUS_INFO+1, /**< Indicates the corresponding request Id. */ - MSG_SENT_STATUS_NETWORK_STATUS_INT, /**< Indicates the status of the corresponding request. Refer to enum _MSG_NETWORK_STATUS_E*/ + MSG_SENT_STATUS_REQUESTID_INT = MSG_STRUCT_SENT_STATUS_INFO+1, /**< Indicates the corresponding request ID. */ + MSG_SENT_STATUS_NETWORK_STATUS_INT, /**< Indicates the status of the corresponding request. See enum _MSG_NETWORK_STATUS_E*/ }; +/** + * @brief Enumeration for the values of push configurations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_PUSH_CONFIG_INFO. + */ enum MSG_PUSH_CONFIG_INFO_E { - MSG_PUSH_CONFIG_CONTENT_TYPE_STR = MSG_STRUCT_PUSH_CONFIG_INFO+1, - MSG_PUSH_CONFIG_APPLICATON_ID_STR, - MSG_PUSH_CONFIG_PACKAGE_NAME_STR, - MSG_PUSH_CONFIG_LAUNCH_BOOL, + MSG_PUSH_CONFIG_CONTENT_TYPE_STR = MSG_STRUCT_PUSH_CONFIG_INFO+1, /**< Indicates the content type*/ + MSG_PUSH_CONFIG_APPLICATON_ID_STR, /**< Indicates the application ID*/ + MSG_PUSH_CONFIG_PACKAGE_NAME_STR, /**< Indicates the package name*/ + MSG_PUSH_CONFIG_LAUNCH_BOOL, /**< Indicates launch*/ }; +/** + * @brief Enumeration for the values of CB message informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_CB_MSG. + */ enum MSG_CB_MSG_E { - MSG_CB_MSG_TYPE_INT = MSG_STRUCT_CB_MSG+1, /**< MSG_TYPE_SMS_CB/ETWS_PRIMARY/ETWS_SECONDARY (see _MSG_MESSAGE_TYPE_E) */ - MSG_CB_MSG_RECV_TIME_INT, - MSG_CB_MSG_SERIAL_NUM_INT, /**< serial number of CB/ETWS Primary Noti. : 2 bytes binary data */ - MSG_CB_MSG_MSG_ID_INT, /**< message identifier of CB/ETWS Primary Noti. */ - MSG_CB_MSG_DCS_INT, /**< Data coding scheme of CB MSG. */ - MSG_CB_MSG_CB_TEXT_LEN_INT, /**< length of CB text (except NULL) */ - MSG_CB_MSG_CB_TEXT_STR, /**< CB text */ - MSG_CB_MSG_ETWS_WARNING_TYPE_INT, /**< warning type of ETWS Primary Noti. : 2 bytes binary data */ - MSG_CB_MSG_ETWS_WARNING_SECU_INFO_STR, /**< warning security information of ETWS Primary Noti. : 50 bytes binary data */ - MSG_CB_MSG_LANGUAGE_TYPE_STR, /**< Language type of CB message data */ + MSG_CB_MSG_TYPE_INT = MSG_STRUCT_CB_MSG+1, /**< MSG_TYPE_SMS_CB/ETWS_PRIMARY/ETWS_SECONDARY (see _MSG_MESSAGE_TYPE_E) */ + MSG_CB_MSG_RECV_TIME_INT, /**< Received time*/ + MSG_CB_MSG_SERIAL_NUM_INT, /**< Serial number of CB/ETWS Primary Noti. : 2 bytes binary data */ + MSG_CB_MSG_MSG_ID_INT, /**< Message identifier of CB/ETWS Primary Noti. */ + MSG_CB_MSG_DCS_INT, /**< Data coding scheme of CB MSG. */ + MSG_CB_MSG_CB_TEXT_LEN_INT, /**< Length of CB text (except NULL) */ + MSG_CB_MSG_CB_TEXT_STR, /**< CB text */ + MSG_CB_MSG_ETWS_WARNING_TYPE_INT, /**< Warning type of ETWS Primary Noti. : 2 bytes binary data */ + MSG_CB_MSG_ETWS_WARNING_SECU_INFO_STR, /**< Warning security information of ETWS Primary Noti. : 50 bytes binary data */ + MSG_CB_MSG_LANGUAGE_TYPE_STR, /**< Language type of CB message data */ }; /** - * @brief Represents the values of a message class type. \n - * This enum is used as the value of MSG_CLASS_TYPE_T. + * @brief Enumeration for the values of a message class type. \n + * This enum is used as the value of MSG_CLASS_TYPE_T. */ enum _MSG_CLASS_TYPE_E { @@ -776,137 +1163,152 @@ enum _MSG_CLASS_TYPE_E MSG_CLASS_1, /**< Stored in the mobile equipment or SIM (depending on memory availability) */ MSG_CLASS_2, /**< Stored in SIM */ MSG_CLASS_3, /**< Transferred to the terminal equipment (such as PDA or PC) which is connected to the mobile equipment */ - MSG_CLASS_NONE, + MSG_CLASS_NONE, /**< Message class none*/ }; /** - * @brief Represents the type of Message. More members maybe added if needed \n - * This enum is used as the value of msg_message_type_t. + * @brief Enumeration for the type of Message. \n + * More members maybe added if needed. \n + * This enum is used as the value of msg_message_type_t. */ enum _MSG_MESSAGE_TYPE_E { - MSG_TYPE_INVALID = 0, /** < Invalid Type Message */ + MSG_TYPE_INVALID = 0, /** < Invalid Type Message */ + + MSG_TYPE_SMS, /** < Normal SMS Message */ + MSG_TYPE_SMS_CB, /** < Cell Broadcasting SMS Message */ + MSG_TYPE_SMS_JAVACB, /** < JAVA Cell Broadcasting SMS Message */ + MSG_TYPE_SMS_WAPPUSH, /** < WAP Push SMS Message */ + MSG_TYPE_SMS_MWI, /** < MWI SMS Message */ + MSG_TYPE_SMS_SYNCML, /** < SyncML CP SMS Message */ + MSG_TYPE_SMS_REJECT, /** < Reject Message */ - MSG_TYPE_SMS, /** < Normal SMS Message */ - MSG_TYPE_SMS_CB, /** < Cell Broadcasting SMS Message */ - MSG_TYPE_SMS_JAVACB, /** < JAVA Cell Broadcasting SMS Message */ - MSG_TYPE_SMS_WAPPUSH, /** < WAP Push SMS Message */ - MSG_TYPE_SMS_MWI, /** < MWI SMS Message */ - MSG_TYPE_SMS_SYNCML, /** < SyncML CP SMS Message */ - MSG_TYPE_SMS_REJECT, /** < Reject Message */ + MSG_TYPE_MMS, /** < Normal MMS Message */ + MSG_TYPE_MMS_JAVA, /** < JAVA MMS Message */ + MSG_TYPE_MMS_NOTI, /** < MMS Notification Message */ - MSG_TYPE_MMS, /** < Normal MMS Message */ - MSG_TYPE_MMS_JAVA, /** < JAVA MMS Message */ - MSG_TYPE_MMS_NOTI, /** < MMS Notification Message */ + MSG_TYPE_SMS_ETWS_PRIMARY, /** < CB - ETWS Primary Notification */ + MSG_TYPE_SMS_ETWS_SECONDARY, /** < CB - ETWS Secondary Notification */ - MSG_TYPE_SMS_ETWS_PRIMARY, /** < CB - ETWS Primary Notification */ - MSG_TYPE_SMS_ETWS_SECONDARY, /** < CB - ETWS Secondary Notification */ + MSG_TYPE_SMS_CMAS_PRESIDENTIAL, /** < CB - CMAS Presidential Alerts */ + MSG_TYPE_SMS_CMAS_EXTREME, /** < CB - CMAS Extreme Alerts */ + MSG_TYPE_SMS_CMAS_SEVERE, /** < CB - CMAS Severe Alerts */ + MSG_TYPE_SMS_CMAS_AMBER, /** < CB - CMAS AMBER Alerts (Child Abduction Emergency) */ + MSG_TYPE_SMS_CMAS_TEST, /** < CB - CMAS Test */ + MSG_TYPE_SMS_CMAS_OPERATOR_DEFINED, /** < CB - CMAS Operator defined */ + MSG_MESSAGE_TYPE_MAX, /** < Placeholder for max value of this enum */ }; /** - * @brief Represents the backup type of Message. More members maybe added if needed \n - * This enum is used as the value of msg_message_backup_type_t. + * @brief Enumeration for the backup type of Message. More members maybe added if needed \n + * This enum is used as the value of msg_message_backup_type_t. */ enum _MSG_MESSAGE_BACKUP_TYPE_E { - MSG_BACKUP_TYPE_ALL = 0, - MSG_BACKUP_TYPE_SMS, - MSG_BACKUP_TYPE_MMS, + MSG_BACKUP_TYPE_ALL = 0, /**< Backup all*/ + MSG_BACKUP_TYPE_SMS, /**< Backup SMS*/ + MSG_BACKUP_TYPE_MMS, /**< Backup MMS*/ }; /** - * @brief Represents the values of an error code. \n - * Success code is zero, but all error codes SHOULD be negative and smaller than MSG_ERROR_BEGIN. \n - * This enum is used as the value of msg_error_t. + * @brief Enumeration for the values of an error code. \n + * Success code is zero, but all error codes SHOULD be negative and smaller than MSG_SUCCESS. \n + * This enum is used as the value of msg_error_t. */ enum _MSG_ERROR_E { - MSG_SUCCESS = 0, /**< Successful */ - - MSG_ERR_NULL_MSGHANDLE = -1, /**< Message handle is NULL */ - MSG_ERR_NULL_POINTER = -2, /**< Pointer is NULL */ - MSG_ERR_NULL_MESSAGE = -3, /**< Message is NULL */ - MSG_ERR_INVALID_STORAGE_ID = -4, /**< Storage ID is invalid */ - MSG_ERR_INVALID_MSG_TYPE = -5, /**< Message type is invalid */ - - MSG_ERR_INVALID_STORAGE_REG= -6, /**< Storage registry is invalid */ - MSG_ERR_INVALID_MESSAGE_ID = -7, /**< Message ID is invalid */ - MSG_ERR_INVALID_MSGHANDLE = -8, /**< Message handle is invalid */ - MSG_ERR_INVALID_PARAMETER = -9, /**< Parameter is invalid */ - MSG_ERR_INVALID_MESSAGE = -10, /**< Message is invalid */ - - MSG_ERR_INVALID_PLUGIN_HANDLE = -11, /**< Plugin handle is invalid */ - MSG_ERR_MEMORY_ERROR = -12, /**< Memory is error */ - MSG_ERR_COMMUNICATION_ERROR = -13, /**< Communication between client and server is error */ - MSG_ERR_SIM_STORAGE_FULL = -14, /**< SIM Storage is full */ - MSG_ERR_TRANSPORT_ERROR = -15, /**< Transport event error */ - - MSG_ERR_CALLBACK_ERROR = -16, /**< Callback event error */ - MSG_ERR_STORAGE_ERROR = -17, /**< Storage event error */ - MSG_ERR_FILTER_ERROR = -18, /**< Filter event error */ - MSG_ERR_MMS_ERROR = -19, /**< MMS event error */ - MSG_ERR_MMPLAYER_CREATE = -20, /**< Multimedia Error*/ - - MSG_ERR_MMPLAYER_SET_ATTRS = -21, /**< Multimedia Error*/ - MSG_ERR_MMPLAYER_REALIZE = -22, /**< Multimedia Error*/ - MSG_ERR_MMPLAYER_PLAY = -23, /**< Multimedia Error*/ - MSG_ERR_MMPLAYER_STOP = -24, /**< Multimedia Error*/ - MSG_ERR_MMPLAYER_DESTROY = -25, /**< Multimedia Error*/ - - MSG_ERR_UNKNOWN = -26, /**< Unknown errors */ + MSG_SUCCESS = 0, /**< Successful */ + + MSG_ERR_NULL_MSGHANDLE = -1, /**< Message handle is NULL */ + MSG_ERR_NULL_POINTER = -2, /**< Pointer is NULL */ + MSG_ERR_NULL_MESSAGE = -3, /**< Message is NULL */ + MSG_ERR_INVALID_STORAGE_ID = -4, /**< Storage ID is invalid */ + MSG_ERR_INVALID_MSG_TYPE = -5, /**< Message type is invalid */ + + MSG_ERR_INVALID_STORAGE_REG= -6, /**< Storage registry is invalid */ + MSG_ERR_INVALID_MESSAGE_ID = -7, /**< Message ID is invalid */ + MSG_ERR_INVALID_MSGHANDLE = -8, /**< Message handle is invalid */ + MSG_ERR_INVALID_PARAMETER = -9, /**< Parameter is invalid */ + MSG_ERR_INVALID_MESSAGE = -10, /**< Message is invalid */ + + MSG_ERR_INVALID_PLUGIN_HANDLE = -11, /**< Plugin handle is invalid */ + MSG_ERR_MEMORY_ERROR = -12, /**< Memory is error */ + MSG_ERR_COMMUNICATION_ERROR = -13, /**< Communication between client and server is error */ + MSG_ERR_SIM_STORAGE_FULL = -14, /**< SIM Storage is full */ + MSG_ERR_TRANSPORT_ERROR = -15, /**< Transport event error */ + + MSG_ERR_CALLBACK_ERROR = -16, /**< Callback event error */ + MSG_ERR_STORAGE_ERROR = -17, /**< Storage event error */ + MSG_ERR_FILTER_ERROR = -18, /**< Filter event error */ + MSG_ERR_MMS_ERROR = -19, /**< MMS event error */ + MSG_ERR_MMPLAYER_CREATE = -20, /**< Multimedia Error*/ + + MSG_ERR_MMPLAYER_SET_ATTRS = -21, /**< Multimedia Error*/ + MSG_ERR_MMPLAYER_REALIZE = -22, /**< Multimedia Error*/ + MSG_ERR_MMPLAYER_PLAY = -23, /**< Multimedia Error*/ + MSG_ERR_MMPLAYER_STOP = -24, /**< Multimedia Error*/ + MSG_ERR_MMPLAYER_DESTROY = -25, /**< Multimedia Error*/ + + MSG_ERR_UNKNOWN = -26, /**< Unknown errors */ /* Start Database Errors */ - MSG_ERR_DB_CONNECT = -27, - MSG_ERR_DB_DISCONNECT = -28, - MSG_ERR_DB_EXEC = -29, - MSG_ERR_DB_GETTABLE = -30, - - MSG_ERR_DB_PREPARE = -31, - MSG_ERR_DB_STEP = -32, - MSG_ERR_DB_NORECORD= -33, - MSG_ERR_DB_STORAGE_INIT = -34, - MSG_ERR_DB_MAKE_DIR = -35, - - MSG_ERR_DB_ROW = -36, - MSG_ERR_DB_DONE = -37, - MSG_ERR_DB_GENERIC= -38, - MSG_ERR_DB_END = -39, + MSG_ERR_DB_CONNECT = -27, /**< DB connect error*/ + MSG_ERR_DB_DISCONNECT = -28, /**< DB disconnect error*/ + MSG_ERR_DB_EXEC = -29, /**< DB command execute error*/ + MSG_ERR_DB_GETTABLE = -30, /**< DB get-table error*/ + + MSG_ERR_DB_PREPARE = -31, /**< DB prepare query error*/ + MSG_ERR_DB_STEP = -32, /**< DB step query error*/ + MSG_ERR_DB_NORECORD= -33, /**< DB no-record error*/ + MSG_ERR_DB_STORAGE_INIT = -34, /**< DB storage init error*/ + MSG_ERR_DB_MAKE_DIR = -35, /**< mkdir error*/ + + MSG_ERR_DB_ROW = -36, /**< DB step() has another row ready */ + MSG_ERR_DB_DONE = -37, /**< DB step() has finished executing */ + MSG_ERR_DB_GENERIC= -38, /**< Generic DB error*/ + MSG_ERR_DB_END = -39, /**< DB end error*/ /* End Database Errors */ /* Start Setting Errors */ - MSG_ERR_SET_SETTING = -40, - MSG_ERR_SET_SIM_SET = -41, - MSG_ERR_SET_READ_ERROR = -42, - MSG_ERR_SET_WRITE_ERROR = -43, - MSG_ERR_SET_DELETE_ERROR = -44, + MSG_ERR_SET_SETTING = -40, /**< Error setting config data*/ + MSG_ERR_SET_SIM_SET = -41, /**< Error setting config data in SIM*/ + MSG_ERR_SET_READ_ERROR = -42, /**< Error reading config settings*/ + MSG_ERR_SET_WRITE_ERROR = -43, /**< Error in writing config settings*/ + MSG_ERR_SET_DELETE_ERROR = -44, /**< Error in deleting config settings*/ /* End Setting Errors */ /* Start Plugin Errors */ - MSG_ERR_PLUGIN_TAPIINIT = -45, - MSG_ERR_PLUGIN_REGEVENT = -46, - MSG_ERR_PLUGIN_TRANSPORT = -47, - MSG_ERR_PLUGIN_STORAGE = -48, - MSG_ERR_PLUGIN_SETTING = -49, - - MSG_ERR_PLUGIN_WAPDECODE = -50, - MSG_ERR_PLUGIN_TAPI_FAILED = -51, - MSG_ERR_PLUGIN_SIM_MSG_FULL = -52, + MSG_ERR_PLUGIN_TAPIINIT = -45, /**< Telephony init error*/ + MSG_ERR_PLUGIN_REGEVENT = -46, /**< Register even error*/ + MSG_ERR_PLUGIN_TRANSPORT = -47, /**< Transport (send/receive) error*/ + MSG_ERR_PLUGIN_STORAGE = -48, /**< Storage error*/ + MSG_ERR_PLUGIN_SETTING = -49, /**< Error setting config data*/ + + MSG_ERR_PLUGIN_WAPDECODE = -50, /**< WAP decode error*/ + MSG_ERR_PLUGIN_TAPI_FAILED = -51, /**< TAPI failure*/ + MSG_ERR_PLUGIN_SIM_MSG_FULL = -52, /**< SIM message full error*/ /* End Plugin Errors */ - MSG_ERR_MESSAGE_COUNT_FULL = -53, - MSG_ERR_READREPORT_NOT_REQUESTED = -54, - MSG_ERR_READREPORT_ALEADY_SENT = -55, + MSG_ERR_MESSAGE_COUNT_FULL = -53, /**< Message count full*/ + MSG_ERR_READREPORT_NOT_REQUESTED = -54, /**< Read report not requested*/ + MSG_ERR_READREPORT_ALEADY_SENT = -55, /**< Read report already sent*/ - MSG_ERR_FILTER_DUPLICATED = -56, /**< Filter duplicate error */ - MSG_ERR_SECURITY_ERROR = -57, - MSG_ERR_NO_SIM = -58, - MSG_ERR_SERVER_NOT_READY= -59, + MSG_ERR_FILTER_DUPLICATED = -56, /**< Filter duplicate error */ + MSG_ERR_PERMISSION_DENIED = -57, /**< Permission denied*/ + MSG_ERR_NO_SIM = -58, /**< No SIM*/ + + MSG_ERR_SERVER_NOT_READY = -59, /**< Message server not ready*/ + + MSG_ERR_STORE_RESTRICT = -60, /**< Storage restricted error*/ + MSG_ERR_DB_BUSY = -61, /**< DB file locked*/ + MSG_ERR_NOT_SUPPORTED = -63, /**< Not supported */ + MSG_ERR_NOT_ALLOWED_ZONE = -100, /**< Not allowed zone */ }; /** - * @brief Represents the values of a message priority. \n - * This enum is used as the value of msg_priority_type_t. + * @brief Enumeration for the values of a message priority. \n + * This enum is used as the value of msg_priority_type_t. */ enum _MSG_PRIORITY_TYPE_E { @@ -917,29 +1319,42 @@ enum _MSG_PRIORITY_TYPE_E /** - * @brief Represents the values of a network status. \n - * This enum is used as the value of msg_network_status_t. + * @brief Enumeration for the values of a network status. \n + * This enum is used as the value of msg_network_status_t. */ enum _MSG_NETWORK_STATUS_E { - MSG_NETWORK_NOT_SEND = 0, /**< Message is not sending */ - MSG_NETWORK_SENDING, /**< Message is sending */ - MSG_NETWORK_SEND_SUCCESS, /**< Message is sent successfully */ - MSG_NETWORK_SEND_FAIL, /**< Message is failed to send */ - MSG_NETWORK_DELIVER_SUCCESS, /**< Message is delivered */ - MSG_NETWORK_DELIVER_FAIL, /**< Message is failed to deliver */ - MSG_NETWORK_RECEIVED, /**< Message is received */ - MSG_NETWORK_REQ_CANCELLED, /**< Request is cancelled */ - MSG_NETWORK_RETRIEVING, /**< Message is retrieving */ - MSG_NETWORK_RETRIEVE_SUCCESS, /**< Message is retrieved successfully */ - MSG_NETWORK_RETRIEVE_FAIL, /**< Message is failed to retrieve */ - MSG_NETWORK_SEND_TIMEOUT, /**< Message is failed to send by timeout */ + MSG_NETWORK_NOT_SEND = 0, /**< Message is not sending */ + MSG_NETWORK_SENDING, /**< Sending message */ + MSG_NETWORK_SEND_SUCCESS, /**< Message is sent successfully */ + MSG_NETWORK_SEND_FAIL, /**< Failed to send message */ + MSG_NETWORK_DELIVER_SUCCESS, /**< Message is delivered */ + MSG_NETWORK_DELIVER_FAIL, /**< Failed to deliver message */ + MSG_NETWORK_RECEIVED, /**< Message is received */ + MSG_NETWORK_REQ_CANCELLED, /**< Request is cancelled */ + MSG_NETWORK_RETRIEVING, /**< Retrieving message */ + MSG_NETWORK_RETRIEVE_SUCCESS, /**< Message is retrieved successfully */ + MSG_NETWORK_RETRIEVE_FAIL, /**< Failed to retrieve */ + MSG_NETWORK_SEND_TIMEOUT, /**< Send timed-out*/ // WILL BE REMOVED + MSG_NETWORK_SEND_FAIL_MANDATORY_INFO_MISSING, /**< Send failed due to mandatory info missing*/ // WILL BE REMOVED + MSG_NETWORK_SEND_FAIL_TEMPORARY, /**<Send failed temporarily*/ // WILL BE REMOVED + MSG_NETWORK_SEND_FAIL_BY_MO_CONTROL_WITH_MOD, /**< Send failed by MO control- ALLOWED WITH MOD*/ // WILL BE REMOVED + MSG_NETWORK_SEND_FAIL_BY_MO_CONTROL_NOT_ALLOWED, /**< Send failed by MO control*/ // WILL BE REMOVED + MSG_NETWORK_DELIVER_PENDING, /**< Delivery pending*/ + MSG_NETWORK_DELIVER_EXPIRED, /**< Delivery expired*/ + MSG_NETWORK_SEND_PENDING, /**< Send is pending*/ +#ifdef FEATURE_SMS_CDMA + MSG_NETWORK_SEND_FAIL_UNKNOWN_SUBSCRIBER, /**< Unknown subscriber(destination) */ + MSG_NETWORK_SEND_FAIL_MS_DISABLED, /**< Mobile station originated SMS disabled */ + MSG_NETWORK_SEND_FAIL_NETWORK_NOT_READY, /**< Network not ready */ + MSG_NETWORK_RETRIEVE_PENDING, /**< Retrieve is pending*/ +#endif }; /** - * @brief Represents the values of an address type. \n - * This enum is used as the value of msg_address_type_t. + * @brief Enumeration for the values of an address type. \n + * This enum is used as the value of msg_address_type_t. */ enum _MSG_ADDRESS_TYPE_E { @@ -950,21 +1365,21 @@ enum _MSG_ADDRESS_TYPE_E /** - * @brief Represents the values of a recipient type. \n - * This enum is used as the value of msg_recipient_type_t. + * @brief Enumeration for the values of a recipient type. \n + * This enum is used as the value of msg_recipient_type_t. */ enum _MSG_RECIPIENT_TYPE_E { - MSG_RECIPIENTS_TYPE_UNKNOWN = 0, /**< The recipient type is unknown. */ - MSG_RECIPIENTS_TYPE_TO, /**< The recipient type is for "To". */ - MSG_RECIPIENTS_TYPE_CC, /**< The recipient type is for "Cc". */ - MSG_RECIPIENTS_TYPE_BCC, /**< The recipient type is for "Bcc". */ + MSG_RECIPIENTS_TYPE_UNKNOWN = 0, /**< The recipient type is unknown. */ + MSG_RECIPIENTS_TYPE_TO, /**< The recipient type is for "To". */ + MSG_RECIPIENTS_TYPE_CC, /**< The recipient type is for "Cc". */ + MSG_RECIPIENTS_TYPE_BCC, /**< The recipient type is for "Bcc". */ }; /** - * @brief Represents the values of a direction type. \n - * This enum is used as the value of msg_direction_type_t. + * @brief Enumeration for the values of a direction type. \n + * This enum is used as the value of msg_direction_type_t. */ enum _MSG_DIRECTION_TYPE_E { @@ -974,43 +1389,48 @@ enum _MSG_DIRECTION_TYPE_E /** - * @brief Represents the values of a string encoding type. \n - * This enum is used as the value of msg_encode_type_t. + * @brief Enumeration for the values of a string encoding type. \n + * This enum is used as the value of msg_encode_type_t. */ enum _MSG_ENCODE_TYPE_E { - MSG_ENCODE_GSM7BIT = 0, /**< The string encoding type is GSM7BIT */ - MSG_ENCODE_8BIT, /**< The string encoding type is 8 BIT */ - MSG_ENCODE_UCS2, /**< The string encoding type is UCS2 */ - MSG_ENCODE_AUTO, /**< The string encoding type is AUTO */ + MSG_ENCODE_GSM7BIT = 0, /**< The string encoding type is GSM7BIT */ + MSG_ENCODE_8BIT, /**< The string encoding type is 8 BIT */ + MSG_ENCODE_UCS2, /**< The string encoding type is UCS2 */ + MSG_ENCODE_AUTO, /**< The string encoding type is AUTO */ MSG_ENCODE_GSM7BIT_ABNORMAL, /**< The string encoding type is GSM7BIT, but abnormal character included */ +#ifdef FEATURE_SMS_CDMA + MSG_ENCODE_EUCKR, /**< For EUC-KR(Korean) */ + MSG_ENCODE_SHIFT_JIS, /**< For Shift-JIS(Japanese) */ + MSG_ENCODE_ASCII7BIT, /**< the string encoding type is ASCII 7 BIT */ +#endif }; /** - * @brief Represents the action type of Push Message. \n - * This enum is used as the value of msg_push_action_t. + * @brief Enumeration for the action type of Push Message. \n + * This enum is used as the value of msg_push_action_t. */ enum _MSG_PUSH_ACTION_E { // SI Action - MSG_PUSH_SI_ACTION_SIGNAL_NONE = 0x00, - MSG_PUSH_SI_ACTION_SIGNAL_LOW, - MSG_PUSH_SI_ACTION_SIGNAL_MEDIUM, - MSG_PUSH_SI_ACTION_SIGNAL_HIGH, - MSG_PUSH_SI_ACTION_DELETE, + MSG_PUSH_SI_ACTION_SIGNAL_NONE = 0x00, /**< No signal for push message action */ + MSG_PUSH_SI_ACTION_SIGNAL_LOW, /**< Low signal for push message action */ + MSG_PUSH_SI_ACTION_SIGNAL_MEDIUM, /**< Medium signal for push message action */ + MSG_PUSH_SI_ACTION_SIGNAL_HIGH, /**< High signal for push message action */ + MSG_PUSH_SI_ACTION_DELETE, /**< Delete push message */ // SL Action - MSG_PUSH_SL_ACTION_EXECUTE_LOW, - MSG_PUSH_SL_ACTION_EXECUTE_HIGH, - MSG_PUSH_SL_ACTION_CACHE, + MSG_PUSH_SL_ACTION_EXECUTE_LOW, /**< Action: execute-low*/ + MSG_PUSH_SL_ACTION_EXECUTE_HIGH, /**< Action: execute-high*/ + MSG_PUSH_SL_ACTION_CACHE, /**< Action: cache*/ }; /** - * @brief Represents the type of SyncML Message. \n - * This enum is used as the value of msg_syncml_message_type_t. + * @brief Enumeration for the type of SyncML Message. \n + * This enum is used as the value of msg_syncml_message_type_t. */ enum _MSG_SYNCML_MESSAGE_TYPE_E { @@ -1029,18 +1449,18 @@ enum _MSG_PUSH_ACTION_E /** - * @brief Represents the values of a Delivery Report Status. \n - * This enum is used as the value of msg_delivery_report_status_t. + * @brief Enumeration for the values of a Delivery Report Status. \n + * This enum is used as the value of msg_delivery_report_status_t. */ enum _MSG_DELIVERY_REPORT_STATUS_E { MSG_DELIVERY_REPORT_NONE = -1, /**< Indicates the status unavailable */ MSG_DELIVERY_REPORT_EXPIRED = 0, /**< Indicates the expired status of message */ - MSG_DELIVERY_REPORT_SUCCESS = 1, /**< Indicates the success status of message */ + MSG_DELIVERY_REPORT_SUCCESS = 1, /**< Indicates the success status of message */ MSG_DELIVERY_REPORT_REJECTED = 2, /**< Indicates the rejected status of message */ MSG_DELIVERY_REPORT_DEFERRED = 3, /**< Indicates the deferred status of message */ - MSG_DELIVERY_REPORT_UNRECOGNISED = 4, /**< Indicates the unrecongnised status of message */ - MSG_DELIVERY_REPORT_INDETERMINATE = 5, /**< Indicates the unrecongnised status of message */ + MSG_DELIVERY_REPORT_UNRECOGNISED = 4, /**< Indicates the unrecognized status of message */ + MSG_DELIVERY_REPORT_INDETERMINATE = 5, /**< Indicates the intermediate status of message */ MSG_DELIVERY_REPORT_FORWARDED = 6, /**< Indicates the forwarded status of message */ MSG_DELIVERY_REPORT_UNREACHABLE = 7, /**< Indicates the unreachable status of message */ MSG_DELIVERY_REPORT_ERROR = 8, /**< Indicates the error status of message */ @@ -1048,271 +1468,274 @@ enum _MSG_PUSH_ACTION_E /** - * @brief Represents the values of a Read Report Status. \n - * This enum is used as the value of msg_read_report_status_t. + * @brief Enumeration for the values of a Read Report Status. \n + * This enum is used as the value of msg_read_report_status_t. */ enum _MSG_READ_REPORT_STATUS_E { MSG_READ_REPORT_NONE = -1, /**< Indicates the status unavailable */ MSG_READ_REPORT_IS_READ = 0, /**< Indicates the message is read */ - MSG_READ_REPORT_IS_DELETED = 1 /**< Indicates the message is deleted */ + MSG_READ_REPORT_IS_DELETED = 1, /**< Indicates the message is deleted */ + MSG_READ_REPORT_REJECT_BY_USER = 2, /**< Indicates read report reject by user*/ }; /** - * @brief Represents the values of a Report Type. \n - * This enum is used as the value of msg_read_report_status_t. + * @brief Enumeration for the values of a Report Type. \n + * This enum is used as the value of msg_read_report_status_t. */ enum _MSG_REPORT_TYPE_E { - MSG_REPORT_TYPE_DELIVERY = 0, /**< Indicates the type is delivery report*/ - MSG_REPORT_TYPE_READ = 1, /**< Indicates the type is read report */ - + MSG_REPORT_TYPE_DELIVERY = 0, /**< Indicates the type is delivery report*/ + MSG_REPORT_TYPE_READ = 1, /**< Indicates the type is read report*/ + MSG_REPORT_TYPE_READ_REPORT_SENT = 2, /**< Indicates the type is read report sent*/ }; // filter /** - * @brief Represents the values of a filter type. \n - * This enum is used as the value of msg_filter_type_t. + * @brief Enumeration for the values of a filter type. \n + * This enum is used as the value of msg_filter_type_t. */ enum _MSG_FILTER_TYPE_E { - MSG_FILTER_BY_WORD = 0, /**< Filtered by sub string in the text */ - MSG_FILTER_BY_ADDRESS_SAME, /**< Filtered by address exactly same as */ - MSG_FILTER_BY_ADDRESS_START, /**< Filtered by address start with */ - MSG_FILTER_BY_ADDRESS_INCLUDE, /**< Filtered by address include */ + MSG_FILTER_BY_WORD = 0, /**< Filtered by sub string in the text */ + MSG_FILTER_BY_ADDRESS_SAME, /**< Filtered by address exactly same as */ + MSG_FILTER_BY_ADDRESS_START, /**< Filtered by address start with */ + MSG_FILTER_BY_ADDRESS_INCLUDE, /**< Filtered by address include */ + MSG_FILTER_BY_ADDRESS_END, /**< Filtered by address end with */ }; // mms /** - * @brief Represents the values of a mime type. + * @brief Enumeration for the values of a MIME type. */ typedef enum _MimeType { // 0 - MIME_ASTERISK = 0x0000, /**< Indicates the valid default mime type */ + MIME_ASTERISK = 0x0000, /**< Indicates the valid default MIME type */ // 1 - MIME_APPLICATION_XML = 0x1000, /**< Indicates the application xml type */ - MIME_APPLICATION_WML_XML = 0x1001, /**< Indicates the application wml xml type */ - MIME_APPLICATION_XHTML_XML = 0x1002, /**< Indicates the application xhtml xml type */ - MIME_APPLICATION_JAVA_VM = 0x1003, /**< Indicates the application java vm type */ - MIME_APPLICATION_SMIL = 0x1004, /**< Indicates the application smil type */ - MIME_APPLICATION_JAVA_ARCHIVE = 0x1005, /**< Indicates the application java archive type */ - MIME_APPLICATION_JAVA = 0x1006, /**< Indicates the application java type */ - MIME_APPLICATION_OCTET_STREAM = 0x1007, /**< Indicates the application octect stream type */ - MIME_APPLICATION_STUDIOM = 0x1008, /**< Indicates the application studiom type */ - MIME_APPLICATION_FUNMEDIA = 0x1009, /**< Indicates the application fun media type */ - MIME_APPLICATION_MSWORD = 0x100a, /**< Indicates the application ms word type */ - MIME_APPLICATION_PDF = 0x100b, /**< Indicates the application pdf type */ - MIME_APPLICATION_SDP = 0x100c, /**< Indicates the application sdp type */ - MIME_APPLICATION_RAM = 0x100d, /**< Indicates the application ram type */ - MIME_APPLICATION_ASTERIC = 0x100e, /**< Indicates the application as main type and generic sub type */ + MIME_APPLICATION_XML = 0x1000, /**< Indicates the application XML type */ + MIME_APPLICATION_WML_XML = 0x1001, /**< Indicates the application WML XML type */ + MIME_APPLICATION_XHTML_XML = 0x1002, /**< Indicates the application XHTML XML type */ + MIME_APPLICATION_JAVA_VM = 0x1003, /**< Indicates the application Java VM type */ + MIME_APPLICATION_SMIL = 0x1004, /**< Indicates the application SMIL type */ + MIME_APPLICATION_JAVA_ARCHIVE = 0x1005, /**< Indicates the application Java archive type */ + MIME_APPLICATION_JAVA = 0x1006, /**< Indicates the application Java type */ + MIME_APPLICATION_OCTET_STREAM = 0x1007, /**< Indicates the application octect stream type */ + MIME_APPLICATION_STUDIOM = 0x1008, /**< Indicates the application studiom type */ + MIME_APPLICATION_FUNMEDIA = 0x1009, /**< Indicates the application fun media type */ + MIME_APPLICATION_MSWORD = 0x100a, /**< Indicates the application MS Word type */ + MIME_APPLICATION_PDF = 0x100b, /**< Indicates the application PDF type */ + MIME_APPLICATION_SDP = 0x100c, /**< Indicates the application SDP type */ + MIME_APPLICATION_RAM = 0x100d, /**< Indicates the application RAM type */ + MIME_APPLICATION_ASTERIC = 0x100e, /**< Indicates the application as main type and generic sub type */ // 16 - MIME_APPLICATION_VND_WAP_XHTMLXML = 0x1100, /**< Indicates the application wap xhtml xml type */ - MIME_APPLICATION_VND_WAP_WMLC = 0x1101, /**< Indicates the application wap wmlc type */ - MIME_APPLICATION_VND_WAP_WMLSCRIPTC = 0x1102, /**< Indicates the application wap wmlscrpitc type */ - MIME_APPLICATION_VND_WAP_WTA_EVENTC = 0x1103, /**< Indicates the application wap wta event type */ - MIME_APPLICATION_VND_WAP_UAPROF = 0x1104, /**< Indicates the application wap uaprof type */ - MIME_APPLICATION_VND_WAP_SIC = 0x1105, /**< Indicates the application wap sic type */ - MIME_APPLICATION_VND_WAP_SLC = 0x1106, /**< Indicates the application wap slc type */ - MIME_APPLICATION_VND_WAP_COC = 0x1107, /**< Indicates the application wap coc type */ - MIME_APPLICATION_VND_WAP_SIA = 0x1108, /**< Indicates the application wap sia type */ - MIME_APPLICATION_VND_WAP_CONNECTIVITY_WBXML = 0x1109, /**< Indicates the application wap connectivity wbxml type */ - MIME_APPLICATION_VND_WAP_MULTIPART_FORM_DATA = 0x110a, /**< Indicates the application wap multipart data type */ - MIME_APPLICATION_VND_WAP_MULTIPART_BYTERANGES = 0x110b, /**< Indicates the application wap multipart byte type */ - MIME_APPLICATION_VND_WAP_MULTIPART_MIXED = 0x110c, /**< Indicates the application wap multipart mixed type */ - MIME_APPLICATION_VND_WAP_MULTIPART_RELATED = 0x110d, /**< Indicates the application wap multipart related type */ - MIME_APPLICATION_VND_WAP_MULTIPART_ALTERNATIVE = 0x110e, /**< Indicates the application wap multipart alternative type */ - MIME_APPLICATION_VND_WAP_MULTIPART_ASTERIC = 0x110f, /**< Indicates the application wap mulitpart as main type and generic sub type */ - MIME_APPLICATION_VND_WAP_WBXML = 0x1110, /**< Indicates the application wap wbxml type */ - MIME_APPLICATION_VND_OMA_DD_XML = 0x1111, /**< Indicates the application oma dd xml type */ - MIME_APPLICATION_VND_OMA_DRM_MESSAGE = 0x1112, /**< Indicates the application oma drm message type */ - MIME_APPLICATION_VND_OMA_DRM_CONTENT = 0x1113, /**< Indicates the application oma drm content type */ - MIME_APPLICATION_VND_OMA_DRM_RIGHTS_XML = 0x1114, /**< Indicates the application oma drm rights xml type */ - MIME_APPLICATION_VND_OMA_DRM_RIGHTS_WBXML = 0x1115, /**< Indicates the application oma drm rights wbxml type */ - MIME_APPLICATION_VND_OMA_DRM_RO_XML = 0x1116, /**< Indicates the application oma drm ro xml type */ - MIME_APPLICATION_VND_OMA_DRM_DCF = 0x1117, /**< Indicates the application oma drm dcf type */ - MIME_APPLICATION_VND_OMA_ROAPPDU_XML = 0x1118, /**< Indicates the application oma roap pdu xml type */ - MIME_APPLICATION_VND_OMA_ROAPTRIGGER_XML = 0x1119, /**< Indicates the application oma roap trigger xml type */ - MIME_APPLICATION_VND_SMAF = 0x111a, /**< Indicates the application smaf type */ - MIME_APPLICATION_VND_RN_REALMEDIA = 0x111b, /**< Indicates the application rn real media type */ - MIME_APPLICATION_VND_SUN_J2ME_JAVA_ARCHIVE = 0x111c, /**< Indicates the application j2me java archive type */ - MIME_APPLICATION_VND_SAMSUNG_THEME = 0x111d, /**< Indicates the application samsung theme type */ - MIME_APPLICATION_VND_EXCEL = 0x111e, /**< Indicates the application excel type */ - MIME_APPLICATION_VND_POWERPOINT = 0x111f, /**< Indicates the application power point type */ - MIME_APPLICATION_VND_MSWORD = 0x1120, /**< Indicates the application ms word type */ + MIME_APPLICATION_VND_WAP_XHTMLXML = 0x1100, /**< Indicates the application wap xhtml xml type */ + MIME_APPLICATION_VND_WAP_WMLC = 0x1101, /**< Indicates the application wap wmlc type */ + MIME_APPLICATION_VND_WAP_WMLSCRIPTC = 0x1102, /**< Indicates the application wap wmlscrpitc type */ + MIME_APPLICATION_VND_WAP_WTA_EVENTC = 0x1103, /**< Indicates the application wap wta event type */ + MIME_APPLICATION_VND_WAP_UAPROF = 0x1104, /**< Indicates the application wap uaprof type */ + MIME_APPLICATION_VND_WAP_SIC = 0x1105, /**< Indicates the application wap sic type */ + MIME_APPLICATION_VND_WAP_SLC = 0x1106, /**< Indicates the application wap slc type */ + MIME_APPLICATION_VND_WAP_COC = 0x1107, /**< Indicates the application wap coc type */ + MIME_APPLICATION_VND_WAP_SIA = 0x1108, /**< Indicates the application wap sia type */ + MIME_APPLICATION_VND_WAP_CONNECTIVITY_WBXML = 0x1109, /**< Indicates the application wap connectivity wbxml type */ + MIME_APPLICATION_VND_WAP_MULTIPART_FORM_DATA = 0x110a, /**< Indicates the application wap multipart data type */ + MIME_APPLICATION_VND_WAP_MULTIPART_BYTERANGES = 0x110b, /**< Indicates the application wap multipart byte type */ + MIME_APPLICATION_VND_WAP_MULTIPART_MIXED = 0x110c, /**< Indicates the application wap multipart mixed type */ + MIME_APPLICATION_VND_WAP_MULTIPART_RELATED = 0x110d, /**< Indicates the application wap multipart related type */ + MIME_APPLICATION_VND_WAP_MULTIPART_ALTERNATIVE = 0x110e, /**< Indicates the application wap multipart alternative type */ + MIME_APPLICATION_VND_WAP_MULTIPART_ASTERIC = 0x110f, /**< Indicates the application wap mulitpart as main type and generic sub type */ + MIME_APPLICATION_VND_WAP_WBXML = 0x1110, /**< Indicates the application wap wbxml type */ + MIME_APPLICATION_VND_OMA_DD_XML = 0x1111, /**< Indicates the application oma dd xml type */ + MIME_APPLICATION_VND_OMA_DRM_MESSAGE = 0x1112, /**< Indicates the application oma drm message type */ + MIME_APPLICATION_VND_OMA_DRM_CONTENT = 0x1113, /**< Indicates the application oma drm content type */ + MIME_APPLICATION_VND_OMA_DRM_RIGHTS_XML = 0x1114, /**< Indicates the application oma drm rights xml type */ + MIME_APPLICATION_VND_OMA_DRM_RIGHTS_WBXML = 0x1115, /**< Indicates the application oma drm rights wbxml type */ + MIME_APPLICATION_VND_OMA_DRM_RO_XML = 0x1116, /**< Indicates the application oma drm ro xml type */ + MIME_APPLICATION_VND_OMA_DRM_DCF = 0x1117, /**< Indicates the application oma drm dcf type */ + MIME_APPLICATION_VND_OMA_ROAPPDU_XML = 0x1118, /**< Indicates the application oma roap pdu xml type */ + MIME_APPLICATION_VND_OMA_ROAPTRIGGER_XML = 0x1119, /**< Indicates the application oma roap trigger xml type */ + MIME_APPLICATION_VND_SMAF = 0x111a, /**< Indicates the application smaf type */ + MIME_APPLICATION_VND_RN_REALMEDIA = 0x111b, /**< Indicates the application rn real media type */ + MIME_APPLICATION_VND_SUN_J2ME_JAVA_ARCHIVE = 0x111c, /**< Indicates the application J2ME Java archive type */ + MIME_APPLICATION_VND_SAMSUNG_THEME = 0x111d, /**< Indicates the application Samsung theme type */ + MIME_APPLICATION_VND_EXCEL = 0x111e, /**< Indicates the application Excel type */ + MIME_APPLICATION_VND_POWERPOINT = 0x111f, /**< Indicates the application Power point type */ + MIME_APPLICATION_VND_MSWORD = 0x1120, /**< Indicates the application MS Word type */ // 49 - MIME_APPLICATION_X_HDMLC = 0x1200, /**< Indicates the application x hdmlc type */ - MIME_APPLICATION_X_X968_USERCERT = 0x1201, /**< Indicates the application x x968 user certified type */ - MIME_APPLICATION_X_WWW_FORM_URLENCODED = 0x1202, /**< Indicates the application x www form url encoded type */ - MIME_APPLICATION_X_SMAF = 0x1203, /**< Indicates the application x smaf type */ - MIME_APPLICATION_X_FLASH = 0x1204, /**< Indicates the application x flash type */ - MIME_APPLICATION_X_EXCEL = 0x1205, /**< Indicates the application x excel type */ - MIME_APPLICATION_X_POWERPOINT = 0x1206, /**< Indicates the application x power point type */ + MIME_APPLICATION_X_HDMLC = 0x1200, /**< Indicates the application x hdmlc type */ + MIME_APPLICATION_X_X968_USERCERT = 0x1201, /**< Indicates the application x x968 user certified type */ + MIME_APPLICATION_X_WWW_FORM_URLENCODED = 0x1202, /**< Indicates the application x www form url encoded type */ + MIME_APPLICATION_X_SMAF = 0x1203, /**< Indicates the application x smaf type */ + MIME_APPLICATION_X_FLASH = 0x1204, /**< Indicates the application x flash type */ + MIME_APPLICATION_X_EXCEL = 0x1205, /**< Indicates the application x excel type */ + MIME_APPLICATION_X_POWERPOINT = 0x1206, /**< Indicates the application x power point type */ // 56 - MIME_AUDIO_BASIC = 0x2000, /**< Indicates the audio basic type */ - MIME_AUDIO_MPEG = 0x2001, /**< Indicates the audio mpeg type */ - MIME_AUDIO_MP3 = 0x2002, /**< Indicates the audio mp3 type */ - MIME_AUDIO_MPG3 = 0x2003, /**< Indicates the audio mpg3 type */ - MIME_AUDIO_MPEG3 = 0x2004, /**< Indicates the audio mpeg3 type */ - MIME_AUDIO_MPG = 0x2005, /**< Indicates the audio mpg type */ - MIME_AUDIO_AAC = 0x2006, /**< Indicates the audio aac type */ - MIME_AUDIO_G72 = 0x2007, /**< Indicates the audio g72 type */ - MIME_AUDIO_AMR = 0x2008, /**< Indicates the audio amr type */ - MIME_AUDIO_AMR_WB = 0x2009, /**< Indicates the audio amr wb type */ - MIME_AUDIO_MMF = 0x200a, /**< Indicates the audio mmf type */ - MIME_AUDIO_SMAF = 0x200b, /**< Indicates the audio smaf type */ - MIME_AUDIO_IMELODY = 0x200c, /**< Indicates the audio imelody type */ - MIME_AUDIO_IMELODY2 = 0x200d, /**< Indicates the audio imelody2 type */ - MIME_AUDIO_MELODY = 0x200e, /**< Indicates the audio melody type */ - MIME_AUDIO_MID = 0x200f, /**< Indicates the audio mid type */ - MIME_AUDIO_MIDI = 0x2010, /**< Indicates the audio midi type */ - MIME_AUDIO_SP_MIDI = 0x2011, /**< Indicates the audio sp midi type */ - MIME_AUDIO_WAVE = 0x2012, /**< Indicates the audio wave type */ - MIME_AUDIO_WAV = 0x2013, /**< Indicates the audio wav type */ - MIME_AUDIO_3GPP = 0x2014, /**< Indicates the audio 3gpp type */ - MIME_AUDIO_MP4 = 0x2015, /**< Indicates the audio mp4 type */ - MIME_AUDIO_MP4A_LATM = 0x2016, /**< Indicates the audio mp4 latm type */ - MIME_AUDIO_M4A = 0x2017, /**< Indicates the audio m4a type */ - MIME_AUDIO_MPEG4 = 0x2018, /**< Indicates the audio mpeg4 type */ - MIME_AUDIO_WMA = 0x2019, /**< Indicates the audio wma type */ - MIME_AUDIO_XMF = 0x201a, /**< Indicates the audio xmf type */ - MIME_AUDIO_IMY = 0x201b, /**< Indicates the audio imy type */ - MIME_AUDIO_MOBILE_XMF = 0x201c, /**< Indicates the audio mobile xmf type */ + MIME_AUDIO_BASIC = 0x2000, /**< Indicates the audio basic type */ + MIME_AUDIO_MPEG = 0x2001, /**< Indicates the audio mpeg type */ + MIME_AUDIO_MP3 = 0x2002, /**< Indicates the audio mp3 type */ + MIME_AUDIO_MPG3 = 0x2003, /**< Indicates the audio mpg3 type */ + MIME_AUDIO_MPEG3 = 0x2004, /**< Indicates the audio mpeg3 type */ + MIME_AUDIO_MPG = 0x2005, /**< Indicates the audio mpg type */ + MIME_AUDIO_AAC = 0x2006, /**< Indicates the audio aac type */ + MIME_AUDIO_G72 = 0x2007, /**< Indicates the audio g72 type */ + MIME_AUDIO_AMR = 0x2008, /**< Indicates the audio amr type */ + MIME_AUDIO_AMR_WB = 0x2009, /**< Indicates the audio amr wb type */ + MIME_AUDIO_MMF = 0x200a, /**< Indicates the audio mmf type */ + MIME_AUDIO_SMAF = 0x200b, /**< Indicates the audio smaf type */ + MIME_AUDIO_IMELODY = 0x200c, /**< Indicates the audio imelody type */ + MIME_AUDIO_IMELODY2 = 0x200d, /**< Indicates the audio imelody2 type */ + MIME_AUDIO_MELODY = 0x200e, /**< Indicates the audio melody type */ + MIME_AUDIO_MID = 0x200f, /**< Indicates the audio mid type */ + MIME_AUDIO_MIDI = 0x2010, /**< Indicates the audio midi type */ + MIME_AUDIO_SP_MIDI = 0x2011, /**< Indicates the audio sp midi type */ + MIME_AUDIO_WAVE = 0x2012, /**< Indicates the audio wave type */ + MIME_AUDIO_WAV = 0x2013, /**< Indicates the audio wav type */ + MIME_AUDIO_3GPP = 0x2014, /**< Indicates the audio 3gpp type */ + MIME_AUDIO_MP4 = 0x2015, /**< Indicates the audio mp4 type */ + MIME_AUDIO_MP4A_LATM = 0x2016, /**< Indicates the audio mp4 latm type */ + MIME_AUDIO_M4A = 0x2017, /**< Indicates the audio m4a type */ + MIME_AUDIO_MPEG4 = 0x2018, /**< Indicates the audio mpeg4 type */ + MIME_AUDIO_WMA = 0x2019, /**< Indicates the audio wma type */ + MIME_AUDIO_XMF = 0x201a, /**< Indicates the audio xmf type */ + MIME_AUDIO_IMY = 0x201b, /**< Indicates the audio imy type */ + MIME_AUDIO_MOBILE_XMF = 0x201c, /**< Indicates the audio mobile xmf type */ //85 - MIME_AUDIO_VND_RN_REALAUDIO = 0x2100, /**< Indicates the audio rn real audio type */ + MIME_AUDIO_VND_RN_REALAUDIO = 0x2100, /**< Indicates the audio rn real audio type */ // 86 - MIME_AUDIO_X_MPEG = 0x2200, /**< Indicates the audio x mpeg type */ - MIME_AUDIO_X_MP3 = 0x2201, /**< Indicates the audio x mp3 type */ - MIME_AUDIO_X_MPEG3 = 0x2202, /**< Indicates the audio x mpeg3 type */ - MIME_AUDIO_X_MPG = 0x2203, /**< Indicates the audio x mpg type */ - MIME_AUDIO_X_AMR = 0x2204, /**< Indicates the audio x amr type */ - MIME_AUDIO_X_MMF = 0x2205, /**< Indicates the audio x mmf type */ - MIME_AUDIO_X_SMAF = 0x2206, /**< Indicates the audio x smaf type */ - MIME_AUDIO_X_IMELODY = 0x2207, /**< Indicates the audio x imelody type */ - MIME_AUDIO_X_MIDI = 0x2208, /**< Indicates the audio x midi type */ - MIME_AUDIO_X_MPEGAUDIO = 0x2209, /**< Indicates the audio x mpeg type */ - MIME_AUDIO_X_PN_REALAUDIO = 0x220a, /**< Indicates the audio x pn real audio type */ - MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO = 0x220b, /**< Indicates the audio x pn multirate real audio type */ - MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO_LIVE = 0x220c, /**< Indicates the audio x pn multirate real audio live type */ - MIME_AUDIO_X_WAVE = 0x220d, /**< Indicates the audio x wave type */ - MIME_AUDIO_X_WAV = 0x220e, /**< Indicates the audio x wav type */ - MIME_AUDIO_X_MS_WMA = 0x220f, /**< Indicates the audio ms wma type */ - MIME_AUDIO_X_MID = 0x2210, /**< Indicates the audio mid type */ - MIME_AUDIO_X_MS_ASF = 0x2211, /**< Indicates the audio ms asf type */ - MIME_AUDIO_X_XMF = 0x2212, /**< Indicates the audio x xmf type */ + MIME_AUDIO_X_MPEG = 0x2200, /**< Indicates the audio x mpeg type */ + MIME_AUDIO_X_MP3 = 0x2201, /**< Indicates the audio x mp3 type */ + MIME_AUDIO_X_MPEG3 = 0x2202, /**< Indicates the audio x mpeg3 type */ + MIME_AUDIO_X_MPG = 0x2203, /**< Indicates the audio x mpg type */ + MIME_AUDIO_X_AMR = 0x2204, /**< Indicates the audio x amr type */ + MIME_AUDIO_X_MMF = 0x2205, /**< Indicates the audio x mmf type */ + MIME_AUDIO_X_SMAF = 0x2206, /**< Indicates the audio x smaf type */ + MIME_AUDIO_X_IMELODY = 0x2207, /**< Indicates the audio x imelody type */ + MIME_AUDIO_X_MIDI = 0x2208, /**< Indicates the audio x midi type */ + MIME_AUDIO_X_MPEGAUDIO = 0x2209, /**< Indicates the audio x mpeg type */ + MIME_AUDIO_X_PN_REALAUDIO = 0x220a, /**< Indicates the audio x pn real audio type */ + MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO = 0x220b, /**< Indicates the audio x pn multirate real audio type */ + MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO_LIVE = 0x220c, /**< Indicates the audio x pn multirate real audio live type */ + MIME_AUDIO_X_WAVE = 0x220d, /**< Indicates the audio x wave type */ + MIME_AUDIO_X_WAV = 0x220e, /**< Indicates the audio x wav type */ + MIME_AUDIO_X_MS_WMA = 0x220f, /**< Indicates the audio ms wma type */ + MIME_AUDIO_X_MID = 0x2210, /**< Indicates the audio mid type */ + MIME_AUDIO_X_MS_ASF = 0x2211, /**< Indicates the audio ms asf type */ + MIME_AUDIO_X_XMF = 0x2212, /**< Indicates the audio x xmf type */ // 105 - MIME_IMAGE_GIF = 0x3000, /**< Indicates the image gif type */ - MIME_IMAGE_JPEG = 0x3001, /**< Indicates the image jpeg type */ - MIME_IMAGE_JPG = 0x3002, /**< Indicates the image jpg type */ - MIME_IMAGE_TIFF = 0x3003, /**< Indicates the image tiff type */ - MIME_IMAGE_TIF = 0x3004, /**< Indicates the image tif type */ - MIME_IMAGE_PNG = 0x3005, /**< Indicates the image png type */ - MIME_IMAGE_WBMP = 0x3006, /**< Indicates the image wbmp type */ - MIME_IMAGE_PJPEG = 0x3007, /**< Indicates the image pjpeg type */ - MIME_IMAGE_BMP = 0x3008, /**< Indicates the image bmp type */ - MIME_IMAGE_SVG = 0x3009, /**< Indicates the image svg type */ - MIME_IMAGE_SVG1 = 0x300a, /**< Indicates the image svg1 type */ + MIME_IMAGE_GIF = 0x3000, /**< Indicates the image gif type */ + MIME_IMAGE_JPEG = 0x3001, /**< Indicates the image jpeg type */ + MIME_IMAGE_JPG = 0x3002, /**< Indicates the image jpg type */ + MIME_IMAGE_TIFF = 0x3003, /**< Indicates the image tiff type */ + MIME_IMAGE_TIF = 0x3004, /**< Indicates the image tif type */ + MIME_IMAGE_PNG = 0x3005, /**< Indicates the image png type */ + MIME_IMAGE_WBMP = 0x3006, /**< Indicates the image wbmp type */ + MIME_IMAGE_PJPEG = 0x3007, /**< Indicates the image pjpeg type */ + MIME_IMAGE_BMP = 0x3008, /**< Indicates the image bmp type */ + MIME_IMAGE_SVG = 0x3009, /**< Indicates the image svg type */ + MIME_IMAGE_SVG1 = 0x300a, /**< Indicates the image svg1 type */ // 116 - MIME_IMAGE_VND_WAP_WBMP = 0x3100, /**< Indicates the image vnd wap wbmp type */ - MIME_IMAGE_VND_TMO_GIF = 0x3101, /**< Indicates the image vnd tmo gif type */ - MIME_IMAGE_VND_TMO_JPG = 0x3102, /**< Indicates the image vnd tmo jpg type */ + MIME_IMAGE_VND_WAP_WBMP = 0x3100, /**< Indicates the image vnd wap wbmp type */ + MIME_IMAGE_VND_TMO_GIF = 0x3101, /**< Indicates the image vnd tmo gif type */ + MIME_IMAGE_VND_TMO_JPG = 0x3102, /**< Indicates the image vnd tmo jpg type */ // 119 - MIME_IMAGE_X_BMP = 0x3200, /**< Indicates the image x bmp type */ + MIME_IMAGE_X_BMP = 0x3200, /**< Indicates the image x bmp type */ // 120 - MIME_MESSAGE_RFC822 = 0x4000, /**< Indicates the message rfc822 type */ + MIME_MESSAGE_RFC822 = 0x4000, /**< Indicates the message rfc822 type */ // 121 - MIME_MULTIPART_MIXED = 0x5000, /**< Indicates the multipart mixed type */ - MIME_MULTIPART_RELATED = 0x5001, /**< Indicates the multipart related type */ - MIME_MULTIPART_ALTERNATIVE = 0x5002, /**< Indicates the multipart alternative type */ - MIME_MULTIPART_FORM_DATA = 0x5003, /**< Indicates the multipart form data type */ - MIME_MULTIPART_BYTERANGE = 0x5004, /**< Indicates the multipart byte range type */ - MIME_MULTIPART_REPORT = 0x5005, /**< Indicates the multipart report type */ - MIME_MULTIPART_VOICE_MESSAGE = 0x5006, /**< Indicates the multipart voice message type */ + MIME_MULTIPART_MIXED = 0x5000, /**< Indicates the multipart mixed type */ + MIME_MULTIPART_RELATED = 0x5001, /**< Indicates the multipart related type */ + MIME_MULTIPART_ALTERNATIVE = 0x5002, /**< Indicates the multipart alternative type */ + MIME_MULTIPART_FORM_DATA = 0x5003, /**< Indicates the multipart form data type */ + MIME_MULTIPART_BYTERANGE = 0x5004, /**< Indicates the multipart byte range type */ + MIME_MULTIPART_REPORT = 0x5005, /**< Indicates the multipart report type */ + MIME_MULTIPART_VOICE_MESSAGE = 0x5006, /**< Indicates the multipart voice message type */ // 128 - MIME_TEXT_TXT = 0x6000, /**< Indicates the text txt type */ - MIME_TEXT_HTML = 0x6001, /**< Indicates the text html type */ - MIME_TEXT_PLAIN = 0x6002, /**< Indicates the text plain type */ - MIME_TEXT_CSS = 0x6003, /**< Indicates the text css type */ - MIME_TEXT_XML = 0x6004, /**< Indicates the text xml type */ - MIME_TEXT_IMELODY = 0x6005, /**< Indicates the text imelody type */ + MIME_TEXT_TXT = 0x6000, /**< Indicates the text txt type */ + MIME_TEXT_HTML = 0x6001, /**< Indicates the text html type */ + MIME_TEXT_PLAIN = 0x6002, /**< Indicates the text plain type */ + MIME_TEXT_CSS = 0x6003, /**< Indicates the text css type */ + MIME_TEXT_XML = 0x6004, /**< Indicates the text xml type */ + MIME_TEXT_IMELODY = 0x6005, /**< Indicates the text imelody type */ + MIME_TEXT_CALENDAR = 0x6006, /**< Indicates the text calendar type */ // 134 - MIME_TEXT_VND_WAP_WMLSCRIPT = 0x6100, /**< Indicates the text wap wmlscript type */ - MIME_TEXT_VND_WAP_WML = 0x6101, /**< Indicates the text wap wml type */ - MIME_TEXT_VND_WAP_WTA_EVENT = 0x6102, /**< Indicates the text wap wta event type */ - MIME_TEXT_VND_WAP_CONNECTIVITY_XML = 0x6103, /**< Indicates the text wap connectivity xml type */ - MIME_TEXT_VND_WAP_SI = 0x6104, /**< Indicates the text wap si type */ - MIME_TEXT_VND_WAP_SL = 0x6105, /**< Indicates the text wap sl type */ - MIME_TEXT_VND_WAP_CO = 0x6106, /**< Indicates the text wap co type */ - MIME_TEXT_VND_SUN_J2ME_APP_DESCRIPTOR = 0x6107, /**< Indicates the text sun j2me type */ + MIME_TEXT_VND_WAP_WMLSCRIPT = 0x6100, /**< Indicates the text wap wmlscript type */ + MIME_TEXT_VND_WAP_WML = 0x6101, /**< Indicates the text wap wml type */ + MIME_TEXT_VND_WAP_WTA_EVENT = 0x6102, /**< Indicates the text wap wta event type */ + MIME_TEXT_VND_WAP_CONNECTIVITY_XML = 0x6103, /**< Indicates the text wap connectivity xml type */ + MIME_TEXT_VND_WAP_SI = 0x6104, /**< Indicates the text wap si type */ + MIME_TEXT_VND_WAP_SL = 0x6105, /**< Indicates the text wap sl type */ + MIME_TEXT_VND_WAP_CO = 0x6106, /**< Indicates the text wap co type */ + MIME_TEXT_VND_SUN_J2ME_APP_DESCRIPTOR = 0x6107, /**< Indicates the text sun j2me type */ // 142 - MIME_TEXT_X_HDML = 0x6200, /**< Indicates the x html type */ - MIME_TEXT_X_VCALENDAR = 0x6201, /**< Indicates the x calendar type */ - MIME_TEXT_X_VCARD = 0x6202, /**< Indicates the x vcard type */ - MIME_TEXT_X_IMELODY = 0x6203, /**< Indicates the x imelody type */ - MIME_TEXT_X_IMELODY2 = 0x6204, /**< Indicates the x imelody2 type */ - MIME_TEXT_X_VNOTE = 0x6205, /**< Indicates the x vnote type */ - - // 148 - MIME_VIDEO_MPEG4 = 0x7000, /**< Indicates the mpeg4 type */ - MIME_VIDEO_MP4 = 0x7001, /**< Indicates the mp4 type */ - MIME_VIDEO_H263 = 0x7002, /**< Indicates the h263 type */ - MIME_VIDEO_3GPP = 0x7003, /**< Indicates the 3gpp type */ - MIME_VIDEO_3GP = 0x7004, /**< Indicates the 3gp type */ - MIME_VIDEO_AVI = 0x7005, /**< Indicates the avi type */ - MIME_VIDEO_SDP = 0x7006, /**< Indicates the sdp type */ - MIME_VIDEO_MP4_ES = 0x7007, /**< Indicates the mp4 es type */ - MIME_VIDEO_MPEG = 0x7008, /**< Indicates the mpeg type */ - - // 157 - MIME_VIDEO_VND_RN_REALVIDEO = 0x7100, /**< Indicates the pn real video type */ - MIME_VIDEO_VND_RN_REALMEDIA = 0x7101, /**< Indicates the pn multi rate real media type */ - - // 159 - MIME_VIDEO_X_MP4 = 0x7200, /**< Indicates the video x mp4 type */ - MIME_VIDEO_X_PV_MP4 = 0x7201, /**< Indicates the video x pv mp4 type */ - MIME_VIDEO_X_PN_REALVIDEO = 0x7202, /**< Indicates the x pn real video type */ - MIME_VIDEO_X_PN_MULTIRATE_REALVIDEO = 0x7203, /**< Indicates the x pn multi rate real video type */ - MIME_VIDEO_X_MS_WMV = 0x7204, /**< Indicates the x ms wmv type */ - MIME_VIDEO_X_MS_ASF = 0x7205, /**< Indicates the x ms asf type */ - MIME_VIDEO_X_PV_PVX = 0x7206, /**< Indicates the x pv pvx type */ - - MIME_TYPE_VALUE_MAX = 0x7207, /**< Indicates the maximum mime type */ - MIME_UNKNOWN = 0xffff /**< Indicates the unknown mime type */ + MIME_TEXT_X_HDML = 0x6200, /**< Indicates the x html type */ + MIME_TEXT_X_VCALENDAR = 0x6201, /**< Indicates the x calendar type */ + MIME_TEXT_X_VCARD = 0x6202, /**< Indicates the x vcard type */ + MIME_TEXT_X_IMELODY = 0x6203, /**< Indicates the x imelody type */ + MIME_TEXT_X_IMELODY2 = 0x6204, /**< Indicates the x imelody2 type */ + MIME_TEXT_X_VNOTE = 0x6205, /**< Indicates the x vnote type */ + MIME_TEXT_X_VTODO = 0x6206, /**< Indicates the x todo type */ + + // 149 + MIME_VIDEO_MPEG4 = 0x7000, /**< Indicates the mpeg4 type */ + MIME_VIDEO_MP4 = 0x7001, /**< Indicates the mp4 type */ + MIME_VIDEO_H263 = 0x7002, /**< Indicates the h263 type */ + MIME_VIDEO_3GPP = 0x7003, /**< Indicates the 3gpp type */ + MIME_VIDEO_3GP = 0x7004, /**< Indicates the 3gp type */ + MIME_VIDEO_AVI = 0x7005, /**< Indicates the avi type */ + MIME_VIDEO_SDP = 0x7006, /**< Indicates the sdp type */ + MIME_VIDEO_MP4_ES = 0x7007, /**< Indicates the mp4 es type */ + MIME_VIDEO_MPEG = 0x7008, /**< Indicates the mpeg type */ + MIME_VIDEO_MOV = 0x7009, /**< Indicates the mov type */ + + // 158 + MIME_VIDEO_VND_RN_REALVIDEO = 0x7100, /**< Indicates the pn real video type */ + MIME_VIDEO_VND_RN_REALMEDIA = 0x7101, /**< Indicates the pn multi rate real media type */ + + // 160 + MIME_VIDEO_X_MP4 = 0x7200, /**< Indicates the video x mp4 type */ + MIME_VIDEO_X_PV_MP4 = 0x7201, /**< Indicates the video x pv mp4 type */ + MIME_VIDEO_X_PN_REALVIDEO = 0x7202, /**< Indicates the x pn real video type */ + MIME_VIDEO_X_PN_MULTIRATE_REALVIDEO = 0x7203, /**< Indicates the x pn multi rate real video type */ + MIME_VIDEO_X_MS_WMV = 0x7204, /**< Indicates the x ms wmv type */ + MIME_VIDEO_X_MS_ASF = 0x7205, /**< Indicates the x ms asf type */ + MIME_VIDEO_X_PV_PVX = 0x7206, /**< Indicates the x pv pvx type */ + + MIME_TYPE_VALUE_MAX = 0x7207, /**< Indicates the maximum MIME type */ + MIME_UNKNOWN = 0xffff /**< Indicates the unknown MIME type */ } MimeType; /** - * @brief Represents the values of a DRM type. + * @brief Enumeration for the values of a DRM type. */ -//#ifdef __SUPPORT_DRM__ typedef enum { - MSG_DRM_TYPE_NONE = 0, /**< Indicates the drm type none */ + MSG_DRM_TYPE_NONE = 0, /**< Indicates the DRM type none */ MSG_DRM_TYPE_FL = 1, /**< Indicates the forward lock */ /* 2004-07-09: forwardLock type */ MSG_DRM_TYPE_CD = 2, /**< Indicates the combined delivery */ /* 2004-07-09: combined delivery type */ MSG_DRM_TYPE_SD = 3, /**< Indicates the separate delivery */ /* 2004-07-09: seperate delivery type */ - MSG_DRM_TYPE_SSD = 4 /**< Indicates the special separate delivery */ // 2005-02-28: add Special Sperate Delivery + MSG_DRM_TYPE_SSD = 4 /**< Indicates the special separate delivery */ // 2005-02-28: add Special Sperate Delivery }MsgDrmType; -//#endif /** - * @brief Represents the values of a SMIL region type. + * @brief Enumeration for the values of a SMIL region type. */ typedef enum _REGION_FIT_TYPE_T { @@ -1322,344 +1745,412 @@ typedef enum _REGION_FIT_TYPE_T /** - * @brief Represents the values of a SMIL media type. + * @brief Enumeration for the values of a SMIL media type. */ typedef enum { - MMS_SMIL_MEDIA_INVALID = 0, /**< Indicates the invalid media type */ - MMS_SMIL_MEDIA_IMG, /**< Indicates the image media */ - MMS_SMIL_MEDIA_AUDIO, /**< Indicates the audio media */ - MMS_SMIL_MEDIA_VIDEO, /**< Indicates the video media */ - MMS_SMIL_MEDIA_TEXT, /**< Indicates the text media */ - MMS_SMIL_MEDIA_ANIMATE, /**< Indicates the animation media */ - MMS_SMIL_MEDIA_IMG_OR_VIDEO , /**< Indicates the image or video media */ - MMS_SMIL_MEDIA_MAX = 0xffffffff, /**< Indicates the maximum media type */ + MMS_SMIL_MEDIA_INVALID = 0, /**< Indicates the invalid media type */ + MMS_SMIL_MEDIA_IMG, /**< Indicates the image media */ + MMS_SMIL_MEDIA_AUDIO, /**< Indicates the audio media */ + MMS_SMIL_MEDIA_VIDEO, /**< Indicates the video media */ + MMS_SMIL_MEDIA_TEXT, /**< Indicates the text media */ + MMS_SMIL_MEDIA_ANIMATE, /**< Indicates the animation media */ + MMS_SMIL_MEDIA_IMG_OR_VIDEO , /**< Indicates the image or video media */ + MMS_SMIL_MEDIA_MAX = 0xffffffff, /**< Indicates the maximum media type */ }MmsSmilMediaType; /** - * @brief Represents the values of a SMIL transition type. + * @brief Enumeration for the values of a SMIL transition type. */ typedef enum { - MMS_SMIL_TRANS_NONE = 0, /**< Indicates the transition type none */ /* default */ - MMS_SMIL_TRANS_SLIDEWIPE = 1, /**< Indicates the slide wipe transition */ - MMS_SMIL_TRANS_BARWIPE = 2, /**< Indicates the bar wipe transition */ + MMS_SMIL_TRANS_NONE = 0, /**< Indicates the transition type none */ /* default */ + MMS_SMIL_TRANS_SLIDEWIPE = 1, /**< Indicates the slide wipe transition */ + MMS_SMIL_TRANS_BARWIPE = 2, /**< Indicates the bar wipe transition */ MMS_SMIL_TRANS_BARNDOORWIPE = 3, /**< Indicates the bar and door wipe transition */ - MMS_SMIL_TRANS_FADE = 4, /**< Indicates the fade transition */ - MMS_SMIL_TRANS_RANDOMBLOCK = 5, /**< Indicates the random block transition */ - MMS_SMIL_TRANS_ZOOMIN = 6, /**< Indicates the zoom in transition */ - MMS_SMIL_TRANS_IRISWIPE = 7, /**< Indicates the iris wipe transition */ - MMS_SMIL_TRANS_BOXWIPE = 8, /**< Indicates the box wipe transition */ - MMS_SMIL_TRANS_FOURBOXWIPE = 9, /**< Indicates the four box wipe transition */ - MMS_SMIL_TRANS_PUSHWIPE =10, /**< Indicates the push wipe transition */ + MMS_SMIL_TRANS_FADE = 4, /**< Indicates the fade transition */ + MMS_SMIL_TRANS_RANDOMBLOCK = 5, /**< Indicates the random block transition */ + MMS_SMIL_TRANS_ZOOMIN = 6, /**< Indicates the zoom in transition */ + MMS_SMIL_TRANS_IRISWIPE = 7, /**< Indicates the iris wipe transition */ + MMS_SMIL_TRANS_BOXWIPE = 8, /**< Indicates the box wipe transition */ + MMS_SMIL_TRANS_FOURBOXWIPE = 9, /**< Indicates the four box wipe transition */ + MMS_SMIL_TRANS_PUSHWIPE =10, /**< Indicates the push wipe transition */ MMS_SMIL_TRANS_ELLIPSEWIPE = 11 /**< Indicates the ellipse wipe transition */ }MmsSmilTransType; /** - * @brief Represents the values of a SMIL transition sub type. + * @brief Enumeration for the values of a SMIL transition sub type. */ typedef enum { - MMS_SMIL_TRANS_SUB_NONE = 0, /**< Indicates the transition sub type none */ - MMS_SMIL_TRANS_SUB_FROM_LEFT = 1, /**< Indicates the from left transition */ /* slideWipe's default */ - MMS_SMIL_TRANS_SUB_FROM_TOP = 2, /**< Indicates the from top transition */ - MMS_SMIL_TRANS_SUB_FROM_BOTTOM = 3, /**< Indicates the from bottom transition */ + MMS_SMIL_TRANS_SUB_NONE = 0, /**< Indicates the transition sub type none */ + MMS_SMIL_TRANS_SUB_FROM_LEFT = 1, /**< Indicates the from left transition */ /* slideWipe's default */ + MMS_SMIL_TRANS_SUB_FROM_TOP = 2, /**< Indicates the from top transition */ + MMS_SMIL_TRANS_SUB_FROM_BOTTOM = 3, /**< Indicates the from bottom transition */ MMS_SMIL_TRANS_SUB_TOP_TO_BOTTOM = 4, /**< Indicates the from top to bottom transition */ /* barWipe's default */ MMS_SMIL_TRANS_SUB_BOTTOM_TO_TOP = 5, /**< Indicates the from bottom to top transition */ - MMS_SMIL_TRANS_SUB_HORIZONTAL = 6, /**< Indicates the horizontal transition */ /* barDoorWipe's default */ - MMS_SMIL_TRANS_SUB_FROM_RIGHT = 7, /**< Indicates the from right transition */ - MMS_SMIL_TRANS_SUB_VERTICAL = 8 /**< Indicates the vertical transition */ + MMS_SMIL_TRANS_SUB_HORIZONTAL = 6, /**< Indicates the horizontal transition */ /* barDoorWipe's default */ + MMS_SMIL_TRANS_SUB_FROM_RIGHT = 7, /**< Indicates the from right transition */ + MMS_SMIL_TRANS_SUB_VERTICAL = 8 /**< Indicates the vertical transition */ }MmsSmilTransSubType; /** - * @brief Represents the values of a text font type. + * @brief Enumeration for the values of a text font type. */ typedef enum { - MMS_SMIL_FONT_TYPE_NONE = 0, /**< Indicates the font type none */ - MMS_SMIL_FONT_TYPE_NORMAL = 1, /**< Indicates the font type normal */ - MMS_SMIL_FONT_TYPE_ITALIC = 2, /**< Indicates the font type italic */ - MMS_SMIL_FONT_TYPE_BOLD = 3, /**< Indicates the font type bold */ + MMS_SMIL_FONT_TYPE_NONE = 0, /**< Indicates the font type none */ + MMS_SMIL_FONT_TYPE_NORMAL = 1, /**< Indicates the font type normal */ + MMS_SMIL_FONT_TYPE_ITALIC = 2, /**< Indicates the font type italic */ + MMS_SMIL_FONT_TYPE_BOLD = 3, /**< Indicates the font type bold */ MMS_SMIL_FONT_TYPE_UNDERLINE = 4 /**< Indicates the font type underline */ }MmsSmilFontType; /** - * @brief Represents the values of a MMS text direction. + * @brief Enumeration for the values of a MMS text direction. */ typedef enum _MmsTextDir{ MMS_TEXT_DIRECTION_INVALID = -1, /**< Indicates the invalid direction */ - MMS_TEXT_DIRECTION_RIGHT = 0, /**< Indicates the right direction */ - MMS_TEXT_DIRECTION_DOWN, /**< Indicates the down direction */ // supported to GC + MMS_TEXT_DIRECTION_RIGHT = 0, /**< Indicates the right direction */ + MMS_TEXT_DIRECTION_DOWN, /**< Indicates the down direction */ // supported to GC } MmsTextDirection; /** - * @brief Represents the values of MMS Read Report Sent Status. + * @brief Enumeration for the values of MMS Read Report Sent Status. */ typedef enum { - MMS_RECEIVE_READ_REPORT_NO_SEND, // didn't send yet - MMS_RECEIVE_READ_REPORT_MUST_SEND, // didn't send yet but will send - MMS_RECEIVE_READ_REPORT_SENT, // sent - MMS_RECEIVE_READ_REPORT_NO_SENT, // required but, didn't send by user's choice + MMS_RECEIVE_READ_REPORT_NO_SEND, /**< Not sent yet */ + MMS_RECEIVE_READ_REPORT_MUST_SEND, /**< Not sent yet, but will be sent */ + MMS_RECEIVE_READ_REPORT_SENT, /**< Sent */ + MMS_RECEIVE_READ_REPORT_NO_SENT, /**< Must be sent, but did not send by user's choice */ } MmsRecvReadReportSendStatus ; // setting /** - * @brief Represents the values of an option type. \n - * This enum is used as the value of MSG_OPTION_TYPE_T. + * @brief Enumeration for the values of an option type. \n + * This enum is used as the value of MSG_OPTION_TYPE_T. */ enum _MSG_OPTION_TYPE_E { - MSG_GENERAL_OPT, /**< General option */ - MSG_SMS_SENDOPT, /**< SMS send option */ - MSG_SMSC_LIST, /**< SMSC list option */ - MSG_MMS_SENDOPT, /**< MMS send option */ - MSG_MMS_RECVOPT, /**< MMS receive option */ - MSG_MMS_CLASSOPT, /**< MMS class option such as personal, advertisement, and informational */ - MSG_MMS_STYLEOPT, /**< MMS style option */ - MSG_PUSHMSG_OPT, /**< Push message option */ - MSG_CBMSG_OPT, /**< Cell broadcasting message option */ - MSG_VOICEMAIL_OPT, /**< Voice mail option */ - MSG_MSGSIZE_OPT, /**< Message size option */ + MSG_GENERAL_OPT, /**< General option */ + MSG_SMS_SENDOPT, /**< SMS send option */ + MSG_SMSC_LIST, /**< SMSC list option */ + MSG_MMS_SENDOPT, /**< MMS send option */ + MSG_MMS_RECVOPT, /**< MMS receive option */ + MSG_MMS_CLASSOPT, /**< MMS class option such as personal, advertisement, and informational */ + MSG_MMS_STYLEOPT, /**< MMS style option */ + MSG_PUSHMSG_OPT, /**< Push message option */ + MSG_CBMSG_OPT, /**< Cell broadcasting message option */ + MSG_VOICEMAIL_OPT, /**< Voice mail option */ + MSG_MSGSIZE_OPT, /**< Message size option */ + MSG_OPTION_TYPE_MAX, /**< Placeholder for max value of this enum*/ }; /** - * @brief Represents the values of an SMS network mode. \n - * This enum is used as the value of MSG_SMS_NETWORK_MODE_T. + * @brief Enumeration for the values of an SMS network mode. \n + * This enum is used as the value of MSG_SMS_NETWORK_MODE_T. */ enum _MSG_SMS_NETWORK_MODE_E { - MSG_SMS_NETWORK_PS_ONLY = 0x01, /**< Packet switched */ - MSG_SMS_NETWORK_CS_ONLY = 0x02, /**< Circuit switched */ - MSG_SMS_NETWORK_PS_FIRST = 0x03, /**< Packet switching preferred */ + MSG_SMS_NETWORK_PS_ONLY = 0x01, /**< Packet switched */ + MSG_SMS_NETWORK_CS_ONLY = 0x02, /**< Circuit switched */ + MSG_SMS_NETWORK_PS_FIRST = 0x03, /**< Packet switching preferred */ }; /** - * @brief Represents the value of period of playing alert tone. \n - * The values for this type SHOULD be in MSG_ALERT_TONE_T. + * @brief Enumeration for the value of period of playing alert tone. \n + * The values for this type SHOULD be in MSG_ALERT_TONE_T. */ enum _MSG_ALERT_TONE_E { - MSG_ALERT_TONE_ONCE, - MSG_ALERT_TONE_2MINS, - MSG_ALERT_TONE_5MINS, - MSG_ALERT_TONE_10MINS, + MSG_ALERT_TONE_ONCE, /**< Play alert tone once*/ + MSG_ALERT_TONE_2MINS, /**< Repeat alarm in 2 mins*/ + MSG_ALERT_TONE_5MINS, /**< Repeat alarm in 5 mins*/ + MSG_ALERT_TONE_10MINS, /**< Repeat alarm in 10 mins*/ }; /** - * @brief Represents the value of a default storage to save SMS. \n - * The values for this type SHOULD be in MSG_SMS_SAVE_STORAGE_T. + * @brief Enumeration for the value of a default storage to save SMS. \n + * The values for this type SHOULD be in MSG_SMS_SAVE_STORAGE_T. */ enum _MSG_SMS_SAVE_STORAGE_E { - MSG_SMS_SAVE_STORAGE_SIM, - MSG_SMS_SAVE_STORAGE_PHONE, + MSG_SMS_SAVE_STORAGE_SIM, /**< Save SMS to SIM*/ + MSG_SMS_SAVE_STORAGE_PHONE, /**< Save SMS to phone*/ }; /** - * @brief Represents the values of the type of number for SMS center address. \n - * This enum is used as the value of MSG_SMS_TON_T. + * @brief Enumeration for the values of the type of number for SMS center address. \n + * This enum is used as the value of MSG_SMS_TON_T. */ enum _MSG_SMS_TON_E { - MSG_TON_UNKNOWN = 0, /**< Unknown */ - MSG_TON_INTERNATIONAL, /**< International */ - MSG_TON_NATIONAL, /**< National */ - MSG_TON_NETWORK, /**< Network */ - MSG_TON_SUBSCRIBER, /**< Subscriber */ - MSG_TON_ALPHANUMERIC, /**< Alpha numeric */ - MSG_TON_ABBREVIATED, /**< Abbreviated */ - MSG_TON_RESERVE, /**< Reserve */ + MSG_TON_UNKNOWN = 0, /**< Unknown */ + MSG_TON_INTERNATIONAL, /**< International */ + MSG_TON_NATIONAL, /**< National */ + MSG_TON_NETWORK, /**< Network */ + MSG_TON_SUBSCRIBER, /**< Subscriber */ + MSG_TON_ALPHANUMERIC, /**< Alpha numeric */ + MSG_TON_ABBREVIATED, /**< Abbreviated */ + MSG_TON_RESERVE, /**< Reserve */ }; /** - * @brief Represents the values of the numbering plan ID for SMS center address. \n - * This enum is used as the value of MSG_SMS_NPI_T. + * @brief Enumeration for the values of the numbering plan ID for SMS center address. \n + * This enum is used as the value of MSG_SMS_NPI_T. */ enum _MSG_SMS_NPI_E { - MSG_NPI_UNKNOWN = 0, /**< Unknown */ - MSG_NPI_ISDN = 1, /**< ISDN */ - MSG_NPI_DATA = 3, /**< Data */ - MSG_NPI_TELEX = 4, /**< Telex */ - MSG_NPI_SMSC = 5, /**< SMSC */ - MSG_NPI_NATIONAL = 8, /**< National */ - MSG_NPI_PRIVATE = 9, /**< Private */ - MSG_NPI_IDENTIFICATION_ERMES = 10, /**< Identification ermes */ - MSG_NPI_IDENTIFICATION_RESERVED = 0xF /**< Identification reserved */ + MSG_NPI_UNKNOWN = 0, /**< Unknown */ + MSG_NPI_ISDN = 1, /**< ISDN */ + MSG_NPI_DATA = 3, /**< Data */ + MSG_NPI_TELEX = 4, /**< Telex */ + MSG_NPI_SMSC = 5, /**< SMSC */ + MSG_NPI_NATIONAL = 8, /**< National */ + MSG_NPI_PRIVATE = 9, /**< Private */ + MSG_NPI_IDENTIFICATION_ERMES = 10, /**< Identification ermes */ + MSG_NPI_IDENTIFICATION_RESERVED = 0xF /**< Identification reserved */ }; /** - * @brief Represents the values of the protocol ID for SMS center address. \n - * This enum is used as the value of MSG_SMS_PID_T. + * @brief Enumeration for the values of the protocol ID for SMS center address. \n + * This enum is used as the value of MSG_SMS_PID_T. */ enum _MSG_SMS_PID_E { - MSG_PID_NONE, /**< None */ - MSG_PID_TEXT, /**< Text */ - MSG_PID_VOICE, /**< Voice */ - MSG_PID_FAX, /**< Fax */ - MSG_PID_X400, /**< X400 */ - MSG_PID_ERMES, /**< Ermes */ - MSG_PID_EMAIL, /**< Email */ - MSG_PID_MAX /**< Default */ + MSG_PID_NONE, /**< None */ + MSG_PID_TEXT, /**< Text */ + MSG_PID_VOICE, /**< Voice */ + MSG_PID_FAX, /**< Fax */ + MSG_PID_X400, /**< X400 */ + MSG_PID_ERMES, /**< Ermes */ + MSG_PID_EMAIL, /**< Email */ + MSG_PID_MAX /**< Default */ }; /** - * @brief Represents the values of the Validity Period for SMS center. \n - * This enum is used as the value of MSG_VAL_PERIOD_T. + * @brief Enumeration for the values of the Validity Period for SMS center. \n + * This enum is used as the value of MSG_VAL_PERIOD_T. + * + * 0 to 143 : (TP-VP + 1) x 5 minutes (i.e. 5 minutes intervals up to 12 hours) + * 144 to 167 : 12 hours + ((TP-VP -143) x 30 minutes) + * 168 to 196 : (TP-VP - 166) x 1 day + * 197 to 255 : (TP-VP - 192) x 1 week + * */ enum _MSG_VAL_PERIOD_E { - MSG_VAL_1DAY = 167, - MSG_VAL_2DAYS = 168, - MSG_VAL_1WEEK = 173, - MSG_VAL_2WEEKS = 180, - MSG_VAL_MAXIMUM = 255, + MSG_VAL_ZERO = 0, /**< Validity period is zero */ + MSG_VAL_1DAY = 167, /**< Validity period is 1 day */ + MSG_VAL_2DAYS = 168, /**< Validity period is 2 days */ + MSG_VAL_3DAYS = 169, /**< Validity period is 3 days */ + MSG_VAL_4DAYS = 170, /**< Validity period is 4 days */ + MSG_VAL_5DAYS = 171, /**< Validity period is 5 days */ + MSG_VAL_6DAYS = 172, /**< Validity period is 6 days */ + MSG_VAL_1WEEK = 173, /**< Validity period is 1 week */ + MSG_VAL_2WEEKS = 180, /**< Validity period is 2 weeks */ + MSG_VAL_3WEEKS = 187, /**< Validity period is 3 weeks */ + MSG_VAL_MAXIMUM = 255, /**< Validity period is maximum */ }; +/** + * @brief Enumeration for the values of the MMS expiry time. \n + * This enum is used as the value of MSG_MMS_EXPIRY_TIME_T. + */ enum _MSG_MMS_EXPIRY_TIME_E { - MSG_EXPIRY_TIME_MAXIMUM = 0, - MSG_EXPIRY_TIME_1DAY = 86400, - MSG_EXPIRY_TIME_2DAYS = 2*86400, - MSG_EXPIRY_TIME_1WEEK = 604800, - MSG_EXPIRY_TIME_2WEEKS = 2*604800, + MSG_EXPIRY_TIME_MAXIMUM = 0, /**< Expiry time is zero */ + MSG_EXPIRY_TIME_1DAY = 86400, /**< Expiry time is 1 day */ + MSG_EXPIRY_TIME_2DAYS = 2*86400, /**< Expiry time is 2 days */ + MSG_EXPIRY_TIME_1WEEK = 604800, /**< Expiry time is 1 week */ + MSG_EXPIRY_TIME_2WEEKS = 2*604800, /**< Expiry time is 2 weeks */ }; +/** + * @brief Enumeration for the values of the MMS delivery time. \n + * This enum is used as the value of MSG_MMS_DELIVERY_TIME_T. + */ enum _MSG_MMS_DELIVERY_TIME_E { - MSG_DELIVERY_TIME_IMMEDIATLY = 0, - MSG_DELIVERY_TIME_1HOUR = 3600, - MSG_DELIVERY_TIME_1DAY = 86400, - MSG_DELIVERY_TIME_1WEEK = 604800, - MSG_DELIVERY_TIME_CUSTOM + MSG_DELIVERY_TIME_IMMEDIATLY = 0, /**< Immediate MMS delivery */ + MSG_DELIVERY_TIME_1HOUR = 3600, /**< MMS delivery in 1 hour */ + MSG_DELIVERY_TIME_1DAY = 86400, /**< MMS delivery in 1 day */ + MSG_DELIVERY_TIME_1WEEK = 604800, /**< MMS delivery in 1 week */ + MSG_DELIVERY_TIME_CUSTOM /**< MMS delivery in custom time */ }; +/** + * @brief Enumeration for the values of the MMS class type. \n + * This enum is used as the value of MSG_MMS_MSG_CLASS_TYPE_T. + */ enum _MSG_MMS_MSG_CLASS_TYPE_E { - MSG_CLASS_PERSONAL, /**<Personal message class*/ - MSG_CLASS_ADVERTISEMENT, /**<Advertisement message class*/ - MSG_CLASS_INFORMATIONAL, /**<Informational message class */ - MSG_CLASS_AUTO, /**<Automatic */ - MSG_CLASS_MAX /**< */ + MSG_CLASS_PERSONAL, /**<Personal message class*/ + MSG_CLASS_ADVERTISEMENT, /**<Advertisement message class*/ + MSG_CLASS_INFORMATIONAL, /**<Informational message class */ + MSG_CLASS_AUTO, /**<Automatic */ + MSG_CLASS_MAX /**< Place-holder to indicate max number of MMS class types*/ }; +/** + * @brief Enumeration for the values of the MMS reply charging type. \n + * This enum is used as the value of MSG_MMS_REPLY_CHARGING_TYPE_T. + */ enum _MSG_MMS_REPLY_CHARGING_TYPE_E { - MSG_REPLY_CHARGING_NONE, /**<Reply-Charging none */ - MSG_REPLY_CHARGING_REQUESTED, /**<Reply-Charging requested */ - MSG_REPLY_CHARGING_REQUESTED_TEXT_ONLY, /**<Reply-Charging requested text-only */ - MSG_REPLY_CHARGING_ACCEPTED, /**<Reply-Charging accepted */ - MSG_REPLY_CHARGING_ACCEPTED_TEXT_ONLY, /**<Reply-Charging accepted text-only */ - MSG_REPLY_CHARGING_MAX + MSG_REPLY_CHARGING_NONE, /**<Reply-Charging none */ + MSG_REPLY_CHARGING_REQUESTED, /**<Reply-Charging requested */ + MSG_REPLY_CHARGING_REQUESTED_TEXT_ONLY, /**<Reply-Charging requested text-only */ + MSG_REPLY_CHARGING_ACCEPTED, /**<Reply-Charging accepted */ + MSG_REPLY_CHARGING_ACCEPTED_TEXT_ONLY, /**<Reply-Charging accepted text-only */ + MSG_REPLY_CHARGING_MAX /**< Place-holder to indicate max number of MMS reply charging types*/ }; +/** + * @brief Enumeration for the values of the MMS creation mode. \n + * This enum is used as the value of MSG_MMS_CREATION_MODE_T. + */ enum _MSG_MMS_CREATION_MODE_E { - MSG_CREATION_MODE_RESTRICTED, - MSG_CREATION_MODE_WARNING, - MSG_CREATION_MODE_FREE + MSG_CREATION_MODE_RESTRICTED, /**< MMS created in restricted mode */ + MSG_CREATION_MODE_WARNING, /**< MMS created in warning mode */ + MSG_CREATION_MODE_FREE /**< MMS created in free mode */ }; /** - * @brief Represents the values of the retrieve type for MMS home network. \n - * This enum is used as the value of MSG_MMS_HOME_RETRIEVE_TYPE_T. + * @brief Enumeration for the values of the retrieve type for MMS home network. \n + * This enum is used as the value of MSG_MMS_HOME_RETRIEVE_TYPE_T. */ enum _MSG_MMS_HOME_RETRIEVE_TYPE_E { - MSG_HOME_AUTO_DOWNLOAD, /**< Home auto download */ - MSG_HOME_MANUAL, /**< Home manual */ - MSG_HOME_RESTRICTED, /**< Home restricted */ - MSG_HOME_REJECT, /**< Home reject */ - MSG_HOME_MAX /**< Default */ + MSG_HOME_AUTO_DOWNLOAD, /**< Home auto download */ + MSG_HOME_MANUAL, /**< Home manual */ + MSG_HOME_RESTRICTED, /**< Home restricted */ + MSG_HOME_REJECT, /**< Home reject */ + MSG_HOME_MAX /**< Default */ }; /** - * @brief Represents the values of the retrieve type for MMS abroad network. \n - * This enum is used as the value of MSG_MMS_ABROAD_RETRIEVE_TYPE_T. + * @brief Enumeration for the values of the retrieve type for MMS abroad network. \n + * This enum is used as the value of MSG_MMS_ABROAD_RETRIEVE_TYPE_T. */ enum _MSG_MMS_ABROAD_RETRIEVE_TYPE_E { - MSG_ABROAD_AUTO_DOWNLOAD, /**< Abroad auto download */ - MSG_ABROAD_MANUAL, /**< Abroad manual */ - MSG_ABROAD_RESTRICTED, /**< Abroad restricted */ - MSG_ABROAD_REJECT, /**< Abroad reject */ - MSG_ABROAD_MAX /**< Default */ + MSG_ABROAD_AUTO_DOWNLOAD, /**< Abroad auto download */ + MSG_ABROAD_MANUAL, /**< Abroad manual */ + MSG_ABROAD_RESTRICTED, /**< Abroad restricted */ + MSG_ABROAD_REJECT, /**< Abroad reject */ + MSG_ABROAD_MAX /**< Default */ }; /** - * @brief Represents the values of the frequency of sending MMS read report. \n - * This enum is used as the value of MSG_MMS_SEND_READ_REPORT_T. + * @brief Enumeration for the values of the frequency of sending MMS read report. \n + * This enum is used as the value of MSG_MMS_SEND_READ_REPORT_T. */ enum _MSG_MMS_SEND_READ_REPORT_E { - MSG_SEND_READ_REPORT_ALWAYS, /**< Read report always */ - MSG_SEND_READ_REPORT_NEVER, /**< Read report never */ - MSG_SEND_READ_REPORT_REQUEST, /**< Read report request */ - MSG_SEND_READ_REPORT_MAX /**< Default */ + MSG_SEND_READ_REPORT_ALWAYS, /**< Read report always */ + MSG_SEND_READ_REPORT_NEVER, /**< Read report never */ + MSG_SEND_READ_REPORT_REQUEST, /**< Read report request */ + MSG_SEND_READ_REPORT_MAX /**< Default */ }; /** - * @brief Represents the values of the service type for a push message. \n - * This enum is used as the value of MSG_PUSH_SERVICE_TYPE_T. + * @brief Enumeration for the values of the service type for a push message. \n + * This enum is used as the value of MSG_PUSH_SERVICE_TYPE_T. */ enum _MSG_PUSH_SERVICE_TYPE_E { - MSG_PUSH_SERVICE_ALWAYS, /**< Push message service always */ - MSG_PUSH_SERVICE_PROMPT, /**< Push message service prompt */ - MSG_PUSH_SERVICE_NEVER, /**< Push message service never */ + MSG_PUSH_SERVICE_ALWAYS, /**< Push message service always */ + MSG_PUSH_SERVICE_PROMPT, /**< Push message service prompt */ + MSG_PUSH_SERVICE_NEVER, /**< Push message service never */ }; /** - * @brief Represents the values of the language type for a cell broadcasting message. \n - * This enum is used as the value of MSG_CB_LANGUAGE_TYPE_T. + * @brief Enumeration for the values of the language type for a cell broadcasting message. \n + * This enum is used as the value of MSG_CB_LANGUAGE_TYPE_T. */ enum _MSG_CB_LANGUAGE_TYPE_E { - MSG_CBLANG_TYPE_ALL, /**< CB check all */ - MSG_CBLANG_TYPE_ENG, /**< CB message English */ - MSG_CBLANG_TYPE_GER, /**< CB message Germany */ - MSG_CBLANG_TYPE_FRE, /**< CB message France */ - MSG_CBLANG_TYPE_ITA, /**< CB message Italy */ - MSG_CBLANG_TYPE_NED, /**< CB message Netherland */ - MSG_CBLANG_TYPE_SPA, /**< CB message Spain */ - MSG_CBLANG_TYPE_POR, /**< CB message Portugal */ - MSG_CBLANG_TYPE_SWE, /**< CB message Sweden */ - MSG_CBLANG_TYPE_TUR, /**< CB message Turkey */ - MSG_CBLANG_TYPE_MAX /**< Default */ + MSG_CBLANG_TYPE_ALL, /**< CB check all */ + MSG_CBLANG_TYPE_ENG, /**< CB message English */ + MSG_CBLANG_TYPE_GER, /**< CB message Germany */ + MSG_CBLANG_TYPE_FRE, /**< CB message France */ + MSG_CBLANG_TYPE_ITA, /**< CB message Italy */ + MSG_CBLANG_TYPE_NED, /**< CB message Netherland */ + MSG_CBLANG_TYPE_SPA, /**< CB message Spain */ + MSG_CBLANG_TYPE_POR, /**< CB message Portugal */ + MSG_CBLANG_TYPE_SWE, /**< CB message Sweden */ + MSG_CBLANG_TYPE_TUR, /**< CB message Turkey */ + MSG_CBLANG_TYPE_MAX /**< Default */ }; - /** - * @brief Represents the values of SIM status. \n - * This enum is used as the value of MSG_SIM_STATUS_T. + * @brief Enumeration for the values of SIM status. \n + * This enum is used as the value of MSG_SIM_STATUS_T. */ enum _MSG_SIM_STATUS_E { - MSG_SIM_STATUS_NORMAL = 0, - MSG_SIM_STATUS_CHANGED, - MSG_SIM_STATUS_NOT_FOUND, + MSG_SIM_STATUS_NORMAL = 0, /**< SIM normal */ + MSG_SIM_STATUS_CHANGED, /**< SIM changed */ + MSG_SIM_STATUS_NOT_FOUND, /**< SIM not found */ +}; + +/** + * @brief Enumeration for the values of a message ringtone type. \n + * This enum is used as the value of MSG_RINGTONE_TYPE_T. + */ +enum _MSG_RINGTONE_TYPE_E +{ + MSG_RINGTONE_TYPE_DEFAULT = 0, /**< Default ringtone type */ + MSG_RINGTONE_TYPE_USER, /**< User defined ringtone type */ + MSG_RINGTONE_TYPE_SILENT /**< Silent type */ +}; + +/** + * @brief Enumeration for the values of a SIM index(SIM slot number). \n + * This enum is used as the value of msg_sim_slot_id_t. + */ +enum _MSG_SIM_SLOT_ID_E +{ + MSG_SIM_SLOT_ID_1 = 1, /**SIM Slot #1 */ + MSG_SIM_SLOT_ID_2, /**SIM Slot #2 */ }; +/** + * @brief Enumeration for the values of media informations. \n + * This enum is used as member of #msg_struct_t for MSG_STRUCT_MEDIA_INFO. + */ +enum MSG_MEDIA_INFO_E { + MSG_MEDIA_ITEM_STR = MSG_STRUCT_MEDIA_INFO+1, /**< Indicates the local path, sticker Id of a media file */ + MSG_MEDIA_MIME_TYPE_STR, /**< Indicates the mimetype of a media file */ + MSG_MEDIA_THUMB_PATH_STR, /**< Indicates the thumbnail path of a media file */ + MSG_MEDIA_MESSAGE_ID_INT, /**< Indicates the message id */ +}; + +/** + * @} + */ + #endif /* MSG_TYPES_H_ */ |