summaryrefslogtreecommitdiff
path: root/mapi
diff options
context:
space:
mode:
Diffstat (limited to 'mapi')
-rwxr-xr-xmapi/CMakeLists.txt4
-rwxr-xr-xmapi/msg_control.cpp8
-rwxr-xr-xmapi/msg_filter.cpp105
-rwxr-xr-xmapi/msg_message.cpp60
-rwxr-xr-xmapi/msg_mms.cpp301
-rwxr-xr-xmapi/msg_setting.cpp461
-rwxr-xr-xmapi/msg_storage.cpp1348
-rwxr-xr-xmapi/msg_svc.cpp333
-rwxr-xr-xmapi/msg_transport.cpp198
9 files changed, 1347 insertions, 1471 deletions
diff --git a/mapi/CMakeLists.txt b/mapi/CMakeLists.txt
index 7f9b391..a835dee 100755
--- a/mapi/CMakeLists.txt
+++ b/mapi/CMakeLists.txt
@@ -10,7 +10,7 @@ IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -O0 -g -Wall")
+SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -O2 -g -Wall")
##########################################################
# Define MAPI
@@ -41,7 +41,7 @@ FOREACH(flag ${mapi_pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
diff --git a/mapi/msg_control.cpp b/mapi/msg_control.cpp
index 8116e05..a396014 100755
--- a/mapi/msg_control.cpp
+++ b/mapi/msg_control.cpp
@@ -29,11 +29,11 @@
==================================================================================================*/
EXPORT_API int msg_open_msg_handle(msg_handle_t *handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -78,11 +78,11 @@ EXPORT_API int msg_open_msg_handle(msg_handle_t *handle)
EXPORT_API int msg_close_msg_handle(msg_handle_t *handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
diff --git a/mapi/msg_filter.cpp b/mapi/msg_filter.cpp
index 4871163..86f60c2 100755
--- a/mapi/msg_filter.cpp
+++ b/mapi/msg_filter.cpp
@@ -28,29 +28,24 @@
==================================================================================================*/
EXPORT_API int msg_add_filter(msg_handle_t handle, const msg_struct_t msg_struct_handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- // TODO : check NULL in msg_struct_handle
- msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
-
- if (handle == NULL || msg_struct == NULL)
+ if (handle == NULL || msg_struct_handle == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
- if(msg_struct->type != MSG_STRUCT_FILTER)
- {
- return MSG_ERR_INVALID_PARAMETER;
- }
+ msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
+ MSG_TYPE_CHECK(msg_struct->type, MSG_STRUCT_FILTER);
MsgHandle* pHandle = (MsgHandle*)handle;
@@ -70,30 +65,24 @@ EXPORT_API int msg_add_filter(msg_handle_t handle, const msg_struct_t msg_struct
EXPORT_API int msg_update_filter(msg_handle_t handle, const msg_struct_t msg_struct_handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- // TODO : check NULL in msg_struct_handle
- msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
-
- if (handle == NULL || msg_struct == NULL)
+ if (handle == NULL || msg_struct_handle == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
-
- if(msg_struct->type != MSG_STRUCT_FILTER)
- {
- return MSG_ERR_INVALID_PARAMETER;
- }
+ msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
+ MSG_TYPE_CHECK(msg_struct->type, MSG_STRUCT_FILTER);
MsgHandle* pHandle = (MsgHandle*)handle;
@@ -113,13 +102,13 @@ EXPORT_API int msg_update_filter(msg_handle_t handle, const msg_struct_t msg_str
EXPORT_API int msg_delete_filter(msg_handle_t handle, msg_filter_id_t filter_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -147,13 +136,13 @@ EXPORT_API int msg_delete_filter(msg_handle_t handle, msg_filter_id_t filter_id)
EXPORT_API int msg_get_filter_list(msg_handle_t handle, msg_struct_list_s *filter_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -181,13 +170,13 @@ EXPORT_API int msg_get_filter_list(msg_handle_t handle, msg_struct_list_s *filte
EXPORT_API int msg_set_filter_operation(msg_handle_t handle, bool set_flag)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -215,18 +204,18 @@ EXPORT_API int msg_set_filter_operation(msg_handle_t handle, bool set_flag)
EXPORT_API int msg_get_filter_operation(msg_handle_t handle, bool *set_flag)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || set_flag == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -249,13 +238,13 @@ EXPORT_API int msg_get_filter_operation(msg_handle_t handle, bool *set_flag)
EXPORT_API int msg_set_filter_active(msg_handle_t handle, msg_filter_id_t filter_id, bool active)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -281,72 +270,72 @@ EXPORT_API int msg_set_filter_active(msg_handle_t handle, msg_filter_id_t filter
}
-bool msg_get_filter_info_bool(void *filter, int field)
+int msg_get_filter_info_bool(void *filter, int field, bool *value)
{
if (!filter)
return MSG_ERR_NULL_POINTER;
- int ret = 0;
+ int ret = MSG_SUCCESS;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
{
case MSG_FILTER_ACTIVE_BOOL :
- ret = filter_data->bActive;
+ *value = filter_data->bActive;
break;
default :
- return MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
}
-int msg_get_filter_info_int(void *filter, int field)
+int msg_get_filter_info_int(void *filter, int field, int *value)
{
if (!filter)
return MSG_ERR_NULL_POINTER;
- int ret = 0;
+ int ret = MSG_SUCCESS;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
{
case MSG_FILTER_ID_INT :
- ret = filter_data->filterId;
+ *value = filter_data->filterId;
break;
case MSG_FILTER_TYPE_INT :
- ret = filter_data->filterType;
+ *value = filter_data->filterType;
break;
default :
- return MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
}
-char *msg_get_filter_info_str(void *filter, int field)
+int msg_get_filter_info_str(void *filter, int field, char *value, int size)
{
if (!filter)
- return NULL;
-
- char *ret_str = NULL;
+ return MSG_ERR_NULL_POINTER;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
{
case MSG_FILTER_VALUE_STR :
- ret_str = filter_data->filterValue;
+ strncpy(value, filter_data->filterValue, size);
break;
default :
- return NULL;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
int msg_set_filter_info_bool(void *filter, int field, bool value)
@@ -354,7 +343,7 @@ int msg_set_filter_info_bool(void *filter, int field, bool value)
if (!filter)
return MSG_ERR_NULL_POINTER;
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
@@ -374,7 +363,7 @@ int msg_set_filter_info_int(void *filter, int field, int value)
if (!filter)
return MSG_ERR_NULL_POINTER;
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
@@ -397,7 +386,7 @@ int msg_set_filter_info_str(void *filter, int field, char *value, int size)
if (!filter || !value)
return MSG_ERR_NULL_POINTER;
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
MSG_FILTER_S *filter_data = (MSG_FILTER_S *)filter;
switch (field)
diff --git a/mapi/msg_message.cpp b/mapi/msg_message.cpp
index c4c8978..d46941a 100755
--- a/mapi/msg_message.cpp
+++ b/mapi/msg_message.cpp
@@ -85,16 +85,19 @@ void msg_message_create_struct(msg_struct_s *msg_struct)
msg_struct_list_s *addr_list = (msg_struct_list_s *)new msg_struct_list_s;
addr_list->nCount = 0;
- addr_list->msg_struct_info = (msg_struct_t *)calloc(MAX_TO_ADDRESS_CNT, sizeof(MSG_ADDRESS_INFO_S *));
-
- msg_struct_s *pTmp = NULL;
-
- for (int i = 0; i < MAX_TO_ADDRESS_CNT; i++) {
- addr_list->msg_struct_info[i] = (msg_struct_t)new msg_struct_s;
- pTmp = (msg_struct_s *)addr_list->msg_struct_info[i];
- pTmp->type = MSG_STRUCT_ADDRESS_INFO;
- pTmp->data = new MSG_ADDRESS_INFO_S;
- memset(pTmp->data, 0x00, sizeof(MSG_ADDRESS_INFO_S));
+ addr_list->msg_struct_info = (msg_struct_t *)calloc(MAX_TO_ADDRESS_CNT, sizeof(msg_struct_s *));
+
+ if (addr_list->msg_struct_info != NULL) {
+ msg_struct_s *pTmp = NULL;
+
+ for (int i = 0; i < MAX_TO_ADDRESS_CNT; i++) {
+ addr_list->msg_struct_info[i] = (msg_struct_t)new msg_struct_s;
+ pTmp = (msg_struct_s *)addr_list->msg_struct_info[i];
+ memset(pTmp, 0x00, sizeof(msg_struct_s));
+ pTmp->type = MSG_STRUCT_ADDRESS_INFO;
+ pTmp->data = new MSG_ADDRESS_INFO_S;
+ memset(pTmp->data, 0x00, sizeof(MSG_ADDRESS_INFO_S));
+ }
}
msg->addr_list = addr_list;
@@ -221,6 +224,7 @@ int msg_message_get_int_value(void *data, int field, int *value)
break;
default :
*value = MSG_TYPE_SMS;
+ break;
}
}
else if (msg_data->mainType == MSG_MMS_TYPE)
@@ -335,9 +339,6 @@ int msg_message_get_str_value(void *data, int field, char *value, int size)
case MSG_MESSAGE_SUBJECT_STR :
strncpy(value, msg_data->subject, size);
break;
- case MSG_MESSAGE_THUMBNAIL_PATH_STR :
- strncpy(value, msg_data->thumbPath, size);
- break;
case MSG_MESSAGE_SMS_DATA_STR :
case MSG_MESSAGE_MMS_TEXT_STR :
if (msg_data->pData)
@@ -540,9 +541,6 @@ int msg_message_set_str_value(void *data, int field, char *value, int size)
case MSG_MESSAGE_SUBJECT_STR :
snprintf(msg_data->subject, sizeof(msg_data->subject), "%s",value);
break;
- case MSG_MESSAGE_THUMBNAIL_PATH_STR :
- snprintf(msg_data->thumbPath, sizeof(msg_data->thumbPath), "%s",value);
- break;
case MSG_MESSAGE_SMS_DATA_STR :
{
if (msg_data->pData)
@@ -771,18 +769,18 @@ EXPORT_API int msg_get_mms_struct(msg_struct_t msg_struct_handle, msg_struct_t m
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
//TODO :: check message type is MMS
int ret = MSG_SUCCESS;
- msg_struct_s *msg_struct = (msg_struct_s *)msg_struct_handle;
- msg_struct_s *mms_struct = (msg_struct_s *)mms_struct_handle;
- if (msg_struct == NULL || mms_struct == NULL) {
+ if (msg_struct_handle == NULL || mms_struct_handle == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
- if (msg_struct->data == NULL || mms_struct->data == NULL) {
- return MSG_ERR_INVALID_PARAMETER;
- }
+ msg_struct_s *msg_struct = (msg_struct_s *)msg_struct_handle;
+ msg_struct_s *mms_struct = (msg_struct_s *)mms_struct_handle;
+
+ MSG_TYPE_CHECK(msg_struct->type, MSG_STRUCT_MESSAGE_INFO);
+ MSG_TYPE_CHECK(mms_struct->type, MSG_STRUCT_MMS);
- if (msg_struct->type != MSG_STRUCT_MESSAGE_INFO || mms_struct->type != MSG_STRUCT_MMS) {
+ if (msg_struct->data == NULL || mms_struct->data == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
@@ -812,24 +810,26 @@ EXPORT_API int msg_set_mms_struct(msg_struct_t msg_struct_handle, msg_struct_t m
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
//TODO :: check message type is MMS
int ret = MSG_SUCCESS;
- msg_struct_s *msg_struct = (msg_struct_s *)msg_struct_handle;
- msg_struct_s *mms_struct = (msg_struct_s *)mms_struct_handle;
- if (msg_struct == NULL || mms_struct == NULL) {
+ if (msg_struct_handle == NULL || mms_struct_handle == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
- if (msg_struct->data == NULL || mms_struct->data == NULL) {
- return MSG_ERR_INVALID_PARAMETER;
- }
+ msg_struct_s *msg_struct = (msg_struct_s *)msg_struct_handle;
+ msg_struct_s *mms_struct = (msg_struct_s *)mms_struct_handle;
+
+ MSG_TYPE_CHECK(msg_struct->type, MSG_STRUCT_MESSAGE_INFO);
+ MSG_TYPE_CHECK(mms_struct->type, MSG_STRUCT_MMS);
- if (msg_struct->type != MSG_STRUCT_MESSAGE_INFO || mms_struct->type != MSG_STRUCT_MMS) {
+ if (msg_struct->data == NULL || mms_struct->data == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
MSG_MESSAGE_HIDDEN_S *msg_data = (MSG_MESSAGE_HIDDEN_S *)msg_struct->data;
MMS_DATA_S *mms_data = MsgMmsCreate();
+ if (mms_data == NULL)
+ return MSG_ERR_MEMORY_ERROR;
convert_from_hidden_mmsdata(mms_struct, mms_data);
diff --git a/mapi/msg_mms.cpp b/mapi/msg_mms.cpp
index 78815ce..1ffe9ab 100755
--- a/mapi/msg_mms.cpp
+++ b/mapi/msg_mms.cpp
@@ -16,6 +16,7 @@
#include <stdio.h>
#include <string.h>
+#include <sys/stat.h>
#include <MsgHandle.h>
#include <MsgException.h>
@@ -23,6 +24,7 @@
#include "MsgMmsTypes.h"
#include "MsgMmsMessage.h"
#include "MsgDebug.h"
+#include "MsgUtilFile.h"
#include "msg.h"
#include "msg_private.h"
@@ -69,6 +71,7 @@ static void __msg_mms_release_attach(msg_struct_s *attach_struct);
static void __msg_mms_release_transition(msg_struct_s *transition_struct);
static void __msg_mms_release_meta(msg_struct_s *meta_struct);
static void __msg_mms_release_multipart(msg_struct_s *multipart_struct);
+
/*==================================================================================================
FUNCTION IMPLEMENTATION
==================================================================================================*/
@@ -720,7 +723,7 @@ int msg_mms_get_str_value(msg_struct_s *msg_struct, int field, char *value, int
break;
default :
- err = MSG_ERR_INVALID_PARAMETER;
+ err = MSG_ERR_INVALID_PARAMETER;
break;
}
return err;
@@ -1053,9 +1056,9 @@ int msg_mms_set_str_value(msg_struct_s *msg_struct, int field, char *value, int
else if (field == MSG_MMS_MEDIA_DRM_FULLPATH_STR)
strncpy(mms_media_data->szDrm2FullPath, value, MSG_FILEPATH_LEN_MAX);
else if (field == MSG_MMS_MEDIA_CONTENT_LOCATION_STR)
- strncpy(mms_media_data->szContentLocation, value, MSG_FILEPATH_LEN_MAX);
+ strncpy(mms_media_data->szContentLocation, value, MSG_MSG_ID_LEN);
else if (field == MSG_MMS_MEDIA_CONTENT_TYPE_STR)
- strncpy(mms_media_data->szContentType, value, MSG_FILEPATH_LEN_MAX);
+ strncpy(mms_media_data->szContentType, value, MSG_MSG_ID_LEN);
else
err = MSG_ERR_INVALID_PARAMETER;
}
@@ -1090,7 +1093,7 @@ int msg_mms_set_str_value(msg_struct_s *msg_struct, int field, char *value, int
} else if (field == MSG_MMS_ATTACH_DRM_FULLPATH_STR) {
strncpy(mms_attach_data->szDrm2FullPath, value, MSG_FILEPATH_LEN_MAX);
} else if (field == MSG_MMS_ATTACH_CONTENT_TYPE_STR) {
- strncpy(mms_attach_data->szContentType, value, MSG_FILEPATH_LEN_MAX);
+ strncpy(mms_attach_data->szContentType, value, MSG_MSG_ID_LEN);
} else {
err = MSG_ERR_INVALID_PARAMETER;
}
@@ -1183,9 +1186,10 @@ int msg_mms_set_str_value(msg_struct_s *msg_struct, int field, char *value, int
break;
default :
- err = MSG_ERR_INVALID_PARAMETER;
+ err = MSG_ERR_INVALID_PARAMETER;
break;
}
+
return err;
}
@@ -1266,44 +1270,6 @@ int msg_mms_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s
return err;
}
-int msg_mms_set_list_handle(msg_struct_s *msg_struct, int field, msg_list_handle_t value)
-{
- msg_error_t err = MSG_SUCCESS;
-
- switch(msg_struct->type) {
- case MSG_STRUCT_MMS:
- {
- MMS_DATA_HIDDEN_S *mms_data = (MMS_DATA_HIDDEN_S *)msg_struct->data;
- if (field == MSG_MMS_PAGE_LIST_HND)
- mms_data->pagelist = (GList *)value;
- else if (field == MSG_MMS_REGION_LIST_HND)
- mms_data->regionlist = (GList *)value;
- else if (field == MSG_MMS_ATTACH_LIST_HND)
- mms_data->attachlist = (GList *)value;
- else if (field == MSG_MMS_TRANSITION_LIST_HND)
- mms_data->transitionlist = (GList *)value;
- else if (field == MSG_MMS_META_LIST_HND)
- mms_data->metalist = (GList *)value;
- else
- err = MSG_ERR_INVALID_PARAMETER;
- }
- break;
- case MSG_STRUCT_MMS_PAGE:
- {
- MMS_PAGE_S *mms_page_data = (MMS_PAGE_S *)msg_struct->data;
- if (field == MSG_MMS_PAGE_MEDIA_LIST_HND)
- mms_page_data->medialist = (GList *)value;
- else
- err = MSG_ERR_INVALID_PARAMETER;
- }
- break;
- default :
- err = MSG_ERR_INVALID_PARAMETER;
- break;
- }
- return err;
-}
-
int msg_mms_list_append(msg_struct_t msg_struct_handle, int field, msg_struct_t *item)
{
msg_error_t err = MSG_SUCCESS;
@@ -1423,156 +1389,6 @@ void convert_from_media_data(const MMS_MEDIA_S *pSrc, msg_struct_s *pDest)
}
}
-void convert_to_mmsdata(const msg_struct_s *pSrc, MMS_MESSAGE_DATA_S *pDest)
-{
- int i, j;
- MMS_DATA_HIDDEN_S *pSrcMms = (MMS_DATA_HIDDEN_S *)pSrc->data;
-
- pDest->pageCnt = g_list_length(pSrcMms->pagelist);
-
- for (i = 0; i < pDest->pageCnt; i++) {
- MMS_PAGE_S *page = (MMS_PAGE_S *)calloc(1, sizeof(MMS_PAGE_S));
- MMS_PAGE_S *src_page = (MMS_PAGE_S *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->pagelist, i));
- page->mediaCnt = g_list_length(src_page->medialist);
-
- for (j = 0; j < page->mediaCnt; j++)
- {
- MMS_MEDIA_S *dst_media = (MMS_MEDIA_S *)calloc(1, sizeof(MMS_MEDIA_S));
- msg_struct_s *src_media_s = (msg_struct_s *)g_list_nth_data(src_page->medialist, j);
-
- convert_to_media_data(src_media_s, dst_media);
-
- page->medialist = g_list_append(page->medialist, dst_media);
- }
-
- page->nDur = src_page->nDur;
- page->nBegin = src_page->nBegin;
- page->nEnd = src_page->nEnd;
- page->nMin = src_page->nMin;
- page->nMax = src_page->nMax;
- page->nRepeat = src_page->nRepeat;
-
- pDest->pagelist = g_list_append(pDest->pagelist, page);
- }
-
- pDest->regionCnt = g_list_length(pSrcMms->regionlist);
-
- for (i = 0; i < pDest->regionCnt; i++) {
- MMS_SMIL_REGION *region = (MMS_SMIL_REGION *)calloc(1, sizeof(MMS_SMIL_REGION));
- MMS_SMIL_REGION *src_region = (MMS_SMIL_REGION *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->regionlist, i));
- memcpy(region, src_region, sizeof(MMS_SMIL_REGION));
- pDest->regionlist = g_list_append(pDest->regionlist, region);
- }
-
- pDest->attachCnt = g_list_length(pSrcMms->attachlist);
-
- for (i = 0; i < pDest->attachCnt; i++) {
- MMS_ATTACH_S *attach = (MMS_ATTACH_S *)calloc(1, sizeof(MMS_ATTACH_S));
- MMS_ATTACH_S *src_attach = (MMS_ATTACH_S *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->attachlist, i));
- memcpy(attach, src_attach, sizeof(MMS_ATTACH_S));
- pDest->attachlist = g_list_append(pDest->attachlist, attach);
- }
-
- pDest->transitionCnt = g_list_length(pSrcMms->transitionlist);
-
- for (i = 0; i < pDest->transitionCnt; i++) {
- MMS_SMIL_TRANSITION *transition = (MMS_SMIL_TRANSITION *)calloc(1, sizeof(MMS_SMIL_TRANSITION));
- MMS_SMIL_TRANSITION *src_transition = (MMS_SMIL_TRANSITION *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->transitionlist, i));
- memcpy(transition, src_transition, sizeof(MMS_SMIL_TRANSITION));
- pDest->transitionlist = g_list_append(pDest->transitionlist, transition);
- }
-
- pDest->metaCnt = g_list_length(pSrcMms->metalist);
-
- for (i = 0; i < pDest->metaCnt; i++) {
- MMS_SMIL_META *meta = (MMS_SMIL_META *)calloc(1, sizeof(MMS_SMIL_META));
- MMS_SMIL_META *src_meta = (MMS_SMIL_META *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->metalist, i));
- memcpy(meta, src_meta, sizeof(MMS_SMIL_META));
- pDest->metalist = g_list_append(pDest->metalist, meta);
- }
-
- memcpy(&pDest->rootlayout, &pSrcMms->rootlayout, sizeof(MMS_SMIL_ROOTLAYOUT));
-
- memcpy(&pDest->msgAppId, &pSrcMms->msgAppId, sizeof(MMS_APPID_INFO_S));
- memcpy(&pDest->header, &pSrcMms->header, sizeof(MMS_HEADER_DATA_S));
- memcpy(&pDest->smil, &pSrcMms->smil, sizeof(MMS_MULTIPART_DATA_S));
-}
-
-void convert_from_mmsdata(const MMS_MESSAGE_DATA_S *pSrc, msg_struct_s *pDest)
-{
- int i, j;
- MMS_DATA_HIDDEN_S *pDestMms = (MMS_DATA_HIDDEN_S *)pDest->data;
-
- for (i = 0; i < pSrc->pageCnt; i++) {
- msg_struct_s *page_struct = msg_mms_create_struct(MSG_STRUCT_MMS_PAGE);
- MMS_PAGE_S *page = (MMS_PAGE_S *)page_struct->data;
-
- MMS_PAGE_S *src_page = (MMS_PAGE_S *)g_list_nth_data(pSrc->pagelist, i);
- page->mediaCnt = g_list_length(src_page->medialist);
-
- for (j = 0; j < page->mediaCnt; j++)
- {
- msg_struct_s *dst_media_s = msg_mms_create_struct(MSG_STRUCT_MMS_MEDIA);
-
- MMS_MEDIA_S *src_media = (MMS_MEDIA_S *)g_list_nth_data(src_page->medialist, j);
-
- convert_from_media_data(src_media, dst_media_s);
-
- page->medialist = g_list_append(page->medialist, dst_media_s);
- }
-
- page->nDur = src_page->nDur;
- page->nBegin = src_page->nBegin;
- page->nEnd = src_page->nEnd;
- page->nMin = src_page->nMin;
- page->nMax = src_page->nMax;
- page->nRepeat = src_page->nRepeat;
-
- pDestMms->pagelist = g_list_append(pDestMms->pagelist, page_struct);
- }
-
- for (i = 0; i < pSrc->regionCnt; i++) {
- msg_struct_s *region_struct = msg_mms_create_struct(MSG_STRUCT_MMS_REGION);
- MMS_SMIL_REGION *region = (MMS_SMIL_REGION *)region_struct->data;
- MMS_SMIL_REGION *src_region = (MMS_SMIL_REGION *)g_list_nth_data(pSrc->regionlist, i);
- memcpy(region, src_region, sizeof(MMS_SMIL_REGION));
- pDestMms->regionlist = g_list_append(pDestMms->regionlist, region_struct);
- }
-
- for (i = 0; i < pSrc->attachCnt; i++) {
- msg_struct_s *attach_struct = msg_mms_create_struct(MSG_STRUCT_MMS_ATTACH);
- MMS_ATTACH_S *attach = (MMS_ATTACH_S *)attach_struct->data;
- MMS_ATTACH_S *src_attach = (MMS_ATTACH_S *)g_list_nth_data(pSrc->attachlist, i);
- memcpy(attach, src_attach, sizeof(MMS_ATTACH_S));
- pDestMms->attachlist = g_list_append(pDestMms->attachlist, attach_struct);
- }
-
- for (i = 0; i < pSrc->transitionCnt; i++) {
- msg_struct_s *transition_struct = msg_mms_create_struct(MSG_STRUCT_MMS_TRANSITION);
- MMS_SMIL_TRANSITION *transition = (MMS_SMIL_TRANSITION *)transition_struct->data;
- MMS_SMIL_TRANSITION *src_transition = (MMS_SMIL_TRANSITION *)g_list_nth_data(pSrc->transitionlist, i);
- memcpy(transition, src_transition, sizeof(MMS_SMIL_TRANSITION));
- pDestMms->transitionlist = g_list_append(pDestMms->transitionlist, transition_struct);
- }
-
- for (i = 0; i < pSrc->metaCnt; i++) {
- msg_struct_s *meta_struct = msg_mms_create_struct(MSG_STRUCT_MMS_META);
- MMS_SMIL_META *meta = (MMS_SMIL_META *)meta_struct->data;
- MMS_SMIL_META *src_meta = (MMS_SMIL_META *)g_list_nth_data(pSrc->metalist, i);
-
- memcpy(meta, src_meta, sizeof(MMS_SMIL_META));
- pDestMms->metalist = g_list_append(pDestMms->metalist, meta_struct);
- }
-
- memcpy(&pDestMms->rootlayout, &pSrc->rootlayout, sizeof(MMS_SMIL_ROOTLAYOUT));
-
- memcpy(&pDestMms->msgAppId, &pSrc->msgAppId, sizeof(MMS_APPID_INFO_S));
-
- memcpy(&pDestMms->header, &pSrc->header, sizeof(MMS_HEADER_DATA_S));
- memcpy(&pDestMms->smil, &pSrc->smil, sizeof(MMS_MULTIPART_DATA_S));
-
-}
-
void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
{
int i, j;
@@ -1583,26 +1399,30 @@ void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
for (i = 0; i < pDest->pageCnt; i++) {
MMS_PAGE_S *page = (MMS_PAGE_S *)calloc(1, sizeof(MMS_PAGE_S));
MMS_PAGE_S *src_page = (MMS_PAGE_S *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->pagelist, i));
- page->mediaCnt = g_list_length(src_page->medialist);
+ if (page) {
+ page->mediaCnt = g_list_length(src_page->medialist);
- for (j = 0; j < page->mediaCnt; j++)
- {
- MMS_MEDIA_S *dst_media = (MMS_MEDIA_S *)calloc(1, sizeof(MMS_MEDIA_S));
- msg_struct_s *src_media_s = (msg_struct_s *)g_list_nth_data(src_page->medialist, j);
+ for (j = 0; j < page->mediaCnt; j++)
+ {
+ MMS_MEDIA_S *dst_media = (MMS_MEDIA_S *)calloc(1, sizeof(MMS_MEDIA_S));
+ msg_struct_s *src_media_s = (msg_struct_s *)g_list_nth_data(src_page->medialist, j);
- convert_to_media_data(src_media_s, dst_media);
+ if (dst_media) {
+ convert_to_media_data(src_media_s, dst_media);
- page->medialist = g_list_append(page->medialist, dst_media);
- }
+ page->medialist = g_list_append(page->medialist, dst_media);
+ }
+ }
- page->nDur = src_page->nDur;
- page->nBegin = src_page->nBegin;
- page->nEnd = src_page->nEnd;
- page->nMin = src_page->nMin;
- page->nMax = src_page->nMax;
- page->nRepeat = src_page->nRepeat;
+ page->nDur = src_page->nDur;
+ page->nBegin = src_page->nBegin;
+ page->nEnd = src_page->nEnd;
+ page->nMin = src_page->nMin;
+ page->nMax = src_page->nMax;
+ page->nRepeat = src_page->nRepeat;
- pDest->pagelist = g_list_append(pDest->pagelist, page);
+ pDest->pagelist = g_list_append(pDest->pagelist, page);
+ }
}
pDest->regionCnt = g_list_length(pSrcMms->regionlist);
@@ -1610,8 +1430,10 @@ void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
for (i = 0; i < pDest->regionCnt; i++) {
MMS_SMIL_REGION *region = (MMS_SMIL_REGION *)calloc(1, sizeof(MMS_SMIL_REGION));
MMS_SMIL_REGION *src_region = (MMS_SMIL_REGION *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->regionlist, i));
- memcpy(region, src_region, sizeof(MMS_SMIL_REGION));
- pDest->regionlist = g_list_append(pDest->regionlist, region);
+ if (region) {
+ memcpy(region, src_region, sizeof(MMS_SMIL_REGION));
+ pDest->regionlist = g_list_append(pDest->regionlist, region);
+ }
}
pDest->attachCnt = g_list_length(pSrcMms->attachlist);
@@ -1619,8 +1441,10 @@ void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
for (i = 0; i < pDest->attachCnt; i++) {
MMS_ATTACH_S *attach = (MMS_ATTACH_S *)calloc(1, sizeof(MMS_ATTACH_S));
MMS_ATTACH_S *src_attach = (MMS_ATTACH_S *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->attachlist, i));
- memcpy(attach, src_attach, sizeof(MMS_ATTACH_S));
- pDest->attachlist = g_list_append(pDest->attachlist, attach);
+ if (attach) {
+ memcpy(attach, src_attach, sizeof(MMS_ATTACH_S));
+ pDest->attachlist = g_list_append(pDest->attachlist, attach);
+ }
}
pDest->transitionCnt = g_list_length(pSrcMms->transitionlist);
@@ -1628,8 +1452,10 @@ void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
for (i = 0; i < pDest->transitionCnt; i++) {
MMS_SMIL_TRANSITION *transition = (MMS_SMIL_TRANSITION *)calloc(1, sizeof(MMS_SMIL_TRANSITION));
MMS_SMIL_TRANSITION *src_transition = (MMS_SMIL_TRANSITION *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->transitionlist, i));
- memcpy(transition, src_transition, sizeof(MMS_SMIL_TRANSITION));
- pDest->transitionlist = g_list_append(pDest->transitionlist, transition);
+ if (transition) {
+ memcpy(transition, src_transition, sizeof(MMS_SMIL_TRANSITION));
+ pDest->transitionlist = g_list_append(pDest->transitionlist, transition);
+ }
}
pDest->metaCnt = g_list_length(pSrcMms->metalist);
@@ -1637,8 +1463,10 @@ void convert_to_mmsdata2(MMS_DATA_HIDDEN_S *pSrcMms, MMS_MESSAGE_DATA_S *pDest)
for (i = 0; i < pDest->metaCnt; i++) {
MMS_SMIL_META *meta = (MMS_SMIL_META *)calloc(1, sizeof(MMS_SMIL_META));
MMS_SMIL_META *src_meta = (MMS_SMIL_META *)get_msg_struct_data((msg_struct_s *)g_list_nth_data(pSrcMms->metalist, i));
- memcpy(meta, src_meta, sizeof(MMS_SMIL_META));
- pDest->metalist = g_list_append(pDest->metalist, meta);
+ if (meta) {
+ memcpy(meta, src_meta, sizeof(MMS_SMIL_META));
+ pDest->metalist = g_list_append(pDest->metalist, meta);
+ }
}
memcpy(&pDest->rootlayout, &pSrcMms->rootlayout, sizeof(MMS_SMIL_ROOTLAYOUT));
@@ -1771,15 +1599,15 @@ int msg_multipart_get_int_value(void *data, int field, int *value)
MMS_MULTIPART_DATA_S *msg_data = (MMS_MULTIPART_DATA_S *)data;
switch (field) {
- case MSG_MMS_MULTIPART_TCS_LEVEL_INT:
- *value = msg_data->tcs_bc_level;
- break;
- case MSG_MMS_MULTIPART_MALWARE_ALLOW_INT:
- *value = msg_data->malware_allow;
- break;
- default :
- ret = MSG_ERR_INVALID_PARAMETER;
- break;
+ case MSG_MMS_MULTIPART_TCS_LEVEL_INT:
+ *value = msg_data->tcs_bc_level;
+ break;
+ case MSG_MMS_MULTIPART_MALWARE_ALLOW_INT:
+ *value = msg_data->malware_allow;
+ break;
+ default :
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
@@ -1806,6 +1634,7 @@ int msg_multipart_set_str_value(void *data, int field, char *value, int size)
strncpy(msg_data->szFilePath, value, MSG_FILEPATH_LEN_MAX);
break;
case MSG_MMS_MULTIPART_THUMBNAIL_FILEPATH_STR:
+ strncpy(msg_data->szThumbFilePath, value, MSG_FILEPATH_LEN_MAX);
break;
case MSG_MMS_MULTIPART_CONTENT_ID_STR:
strncpy(msg_data->szContentID, value, MSG_MSG_ID_LEN);
@@ -1824,13 +1653,16 @@ void convert_to_hidden_mmsdata(MMS_DATA_S *pSrc, msg_struct_s *pDest)
{
MMS_DATA_HIDDEN_S *pDestMms = (MMS_DATA_HIDDEN_S *)pDest->data;
- MMS_MESSAGE_DATA_S MmsMessageData = {0};
+ MMS_MESSAGE_DATA_S *MmsMessageData = NULL;
+ unique_ptr<MMS_MESSAGE_DATA_S*, void(*)(MMS_MESSAGE_DATA_S**)> buf(&MmsMessageData, unique_ptr_deleter);
+ MmsMessageData = (MMS_MESSAGE_DATA_S *)new char[sizeof(MMS_MESSAGE_DATA_S)];
+ memset(MmsMessageData, 0x00, sizeof(MMS_MESSAGE_DATA_S));
- MsgMmsConvertMmsDataToMmsMessageData(pSrc, &MmsMessageData);
+ MsgMmsConvertMmsDataToMmsMessageData(pSrc, MmsMessageData);
- convert_from_mmsdata2(&MmsMessageData, pDestMms);
+ convert_from_mmsdata2(MmsMessageData, pDestMms);
- MsgMmsReleaseMmsLists(&MmsMessageData);
+ MsgMmsReleaseMmsLists(MmsMessageData);
if (pSrc->header) {
memcpy(&pDestMms->header, pSrc->header, sizeof(MMS_HEADER_DATA_S));
@@ -1870,13 +1702,16 @@ void convert_from_hidden_mmsdata(msg_struct_s *pSrc, MMS_DATA_S *pDest)
MMS_DATA_HIDDEN_S *pSrcMms = (MMS_DATA_HIDDEN_S *)pSrc->data;
- MMS_MESSAGE_DATA_S MmsMessageData = {0};
+ MMS_MESSAGE_DATA_S *MmsMessageData = NULL;
+ unique_ptr<MMS_MESSAGE_DATA_S*, void(*)(MMS_MESSAGE_DATA_S**)> buf(&MmsMessageData, unique_ptr_deleter);
+ MmsMessageData = (MMS_MESSAGE_DATA_S *)new char[sizeof(MMS_MESSAGE_DATA_S)];
+ memset(MmsMessageData, 0x00, sizeof(MMS_MESSAGE_DATA_S));
- convert_to_mmsdata2(pSrcMms, &MmsMessageData);
+ convert_to_mmsdata2(pSrcMms, MmsMessageData);
- MsgMmsConvertMmsMessageDataToMmsData(&MmsMessageData, pDest);
+ MsgMmsConvertMmsMessageDataToMmsData(MmsMessageData, pDest);
- MsgMmsReleaseMmsLists(&MmsMessageData);
+ MsgMmsReleaseMmsLists(MmsMessageData);
}
void __msg_mms_data_struct_init(MMS_DATA_HIDDEN_S *pMmsDataHidden)
diff --git a/mapi/msg_setting.cpp b/mapi/msg_setting.cpp
index 4538163..f960133 100755
--- a/mapi/msg_setting.cpp
+++ b/mapi/msg_setting.cpp
@@ -33,37 +33,37 @@ int msg_setting_get_int_value(msg_struct_s *msg_struct, int field, int *value)
switch (msg_struct->type) {
case MSG_STRUCT_SETTING_SMSC_OPT :
- *value = msg_get_smsc_opt_int(msg_struct->data, field);
+ err = msg_get_smsc_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_SMSC_INFO :
- *value = msg_get_smsc_info_int(msg_struct->data, field);
+ err = msg_get_smsc_info_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_CB_OPT :
- *value = msg_get_cb_option_int(msg_struct->data, field);
+ err = msg_get_cb_option_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_CB_CHANNEL_INFO :
- *value = msg_get_cb_channel_info_int(msg_struct->data, field);
+ err = msg_get_cb_channel_info_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_SMS_SEND_OPT :
- *value = msg_get_sms_send_opt_int(msg_struct->data, field);
+ err = msg_get_sms_send_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_MMS_SEND_OPT :
- *value = msg_get_mms_send_opt_int(msg_struct->data, field);
+ err = msg_get_mms_send_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_MMS_RECV_OPT :
- *value = msg_get_mms_recv_opt_int(msg_struct->data, field);
+ err = msg_get_mms_recv_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_PUSH_MSG_OPT :
- *value = msg_get_push_msg_opt_int(msg_struct->data, field);
+ err = msg_get_push_msg_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_GENERAL_OPT :
- *value = msg_get_general_opt_int(msg_struct->data, field);
+ err = msg_get_general_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_MSGSIZE_OPT :
- *value = msg_get_msgsize_opt_int(msg_struct->data, field);
+ err = msg_get_msgsize_opt_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_VOICE_MSG_OPT :
- *value = msg_get_voice_msg_opt_int(msg_struct->data, field);
+ err = msg_get_voice_msg_opt_int(msg_struct->data, field, value);
break;
default :
err = MSG_ERR_INVALID_PARAMETER;
@@ -76,30 +76,20 @@ 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)
{
int err = MSG_SUCCESS;
- char *ret_str = NULL;
switch (msg_struct->type)
{
case MSG_STRUCT_SETTING_SMSC_INFO :
- ret_str = msg_get_smsc_info_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_get_smsc_info_str(msg_struct->data, field, src, size);
break;
case MSG_STRUCT_SETTING_CB_CHANNEL_INFO :
- ret_str = msg_get_cb_channel_info_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_get_cb_channel_info_str(msg_struct->data, field, src, size);
break;
case MSG_STRUCT_SETTING_VOICE_MSG_OPT :
- ret_str = msg_get_voice_msg_opt_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_get_voice_msg_opt_str(msg_struct->data, field, src, size);
+ break;
+ case MSG_STRUCT_SETTING_GENERAL_OPT :
+ err = msg_get_general_opt_str(msg_struct->data, field, src, size);
break;
default :
err = MSG_ERR_INVALID_PARAMETER;
@@ -115,25 +105,25 @@ int msg_setting_get_bool_value(msg_struct_s *msg_struct, int field, bool *value)
switch (msg_struct->type) {
case MSG_STRUCT_SETTING_CB_OPT :
- *value = msg_get_cb_option_bool(msg_struct->data, field);
+ err = msg_get_cb_option_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_CB_CHANNEL_INFO :
- *value = msg_get_cb_channel_info_bool(msg_struct->data, field);
+ err = msg_get_cb_channel_info_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_SMS_SEND_OPT :
- *value = msg_get_sms_send_opt_bool(msg_struct->data, field);
+ err = msg_get_sms_send_opt_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_MMS_SEND_OPT :
- *value = msg_get_mms_send_opt_bool(msg_struct->data, field);
+ err = msg_get_mms_send_opt_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_MMS_RECV_OPT :
- *value = msg_get_mms_recv_opt_bool(msg_struct->data, field);
+ err = msg_get_mms_recv_opt_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_PUSH_MSG_OPT :
- *value = msg_get_push_msg_opt_bool(msg_struct->data, field);
+ err = msg_get_push_msg_opt_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SETTING_GENERAL_OPT :
- *value = msg_get_general_opt_bool(msg_struct->data, field);
+ err = msg_get_general_opt_bool(msg_struct->data, field, value);
break;
default :
err = MSG_ERR_INVALID_PARAMETER;
@@ -155,6 +145,7 @@ int msg_setting_get_list_handle(msg_struct_s *msg_struct, int field, void **valu
err = msg_get_cb_option_list(msg_struct->data, field, value);
break;
default :
+ err = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -222,6 +213,9 @@ int msg_setting_set_str_value(msg_struct_s *msg_struct, int field, char *value,
case MSG_STRUCT_SETTING_VOICE_MSG_OPT :
err = msg_set_voice_msg_opt_str(msg_struct->data, field, value, size);
break;
+ case MSG_STRUCT_SETTING_GENERAL_OPT :
+ err = msg_set_general_opt_str(msg_struct->data, field, value, size);
+ break;
default :
err = MSG_ERR_INVALID_PARAMETER;
break;
@@ -267,19 +261,19 @@ int msg_setting_set_bool_value(msg_struct_s *msg_struct, int field, bool value)
EXPORT_API int msg_get_smsc_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -301,14 +295,14 @@ EXPORT_API int msg_get_smsc_opt(msg_handle_t handle, msg_struct_t msg_struct)
EXPORT_API int msg_set_smsc_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -348,13 +342,14 @@ int msg_get_smsc_opt_list(void *smsc_opt, int field, void **value)
*value = (void *)smsc_opt_data->smsc_list;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
return ret;
}
-int msg_get_smsc_opt_int(void *smsc_opt, int field)
+int msg_get_smsc_opt_int(void *smsc_opt, int field, int *value)
{
if (!smsc_opt)
return MSG_ERR_NULL_POINTER;
@@ -366,13 +361,14 @@ int msg_get_smsc_opt_int(void *smsc_opt, int field)
switch (field)
{
case MSG_SMSC_SELECTED_ID_INT :
- ret = smsc_opt_data->selected;
+ *value = smsc_opt_data->selected;
break;
case MSG_SMSC_LIST_SIM_INDEX_INT :
- ret = smsc_opt_data->simIndex;
+ *value = smsc_opt_data->simIndex;
break;
default :
- return MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
@@ -406,7 +402,7 @@ int msg_set_smsc_opt_int(void *smsc_opt, int field, int value)
return ret;
}
-int msg_get_smsc_info_int(void *smsc_info, int field)
+int msg_get_smsc_info_int(void *smsc_info, int field, int *value)
{
if (!smsc_info)
return MSG_ERR_NULL_POINTER;
@@ -418,19 +414,20 @@ int msg_get_smsc_info_int(void *smsc_info, int field)
switch (field)
{
case MSG_SMSC_ADDR_TON_INT :
- ret = smsc_data->smscAddr.ton;
+ *value = smsc_data->smscAddr.ton;
break;
case MSG_SMSC_ADDR_NPI_INT :
- ret = smsc_data->smscAddr.npi;
+ *value = smsc_data->smscAddr.npi;
break;
case MSG_SMSC_PID_INT :
- ret = smsc_data->pid;
+ *value = smsc_data->pid;
break;
case MSG_SMSC_VAL_PERIOD_INT :
- ret = smsc_data->valPeriod;
+ *value = smsc_data->valPeriod;
break;
default :
- return MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
@@ -467,28 +464,26 @@ int msg_set_smsc_info_int(void *smsc_info, int field, int value)
return err;
}
-char *msg_get_smsc_info_str(void *smsc_info, int field)
+int msg_get_smsc_info_str(void *smsc_info, int field, char *value, int size)
{
if (!smsc_info)
- return NULL;
-
- char *ret_str = NULL;
+ return MSG_ERR_NULL_POINTER;
MSG_SMSC_DATA_S *smsc_data = (MSG_SMSC_DATA_S *)smsc_info;
switch (field)
{
case MSG_SMSC_ADDR_STR :
- ret_str = smsc_data->smscAddr.address;
+ strncpy(value, smsc_data->smscAddr.address, size);
break;
case MSG_SMSC_NAME_STR :
- ret_str = smsc_data->name;
+ strncpy(value, smsc_data->name, size);
break;
default :
- return NULL;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
int msg_set_smsc_info_str(void *smsc_info, int field, char *val, int size)
@@ -520,19 +515,19 @@ int msg_set_smsc_info_str(void *smsc_info, int field, char *val, int size)
EXPORT_API int msg_get_cb_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -554,14 +549,14 @@ EXPORT_API int msg_get_cb_opt(msg_handle_t handle, msg_struct_t msg_struct)
EXPORT_API int msg_set_cb_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -586,7 +581,7 @@ EXPORT_API int msg_set_cb_opt(msg_handle_t handle, msg_struct_t msg_struct)
return err;
}
-int msg_get_cb_option_int(void *cb_opt, int field)
+int msg_get_cb_option_int(void *cb_opt, int field, int *value)
{
if (!cb_opt)
return MSG_ERR_NULL_POINTER;
@@ -598,10 +593,10 @@ int msg_get_cb_option_int(void *cb_opt, int field)
switch (field)
{
case MSG_CB_MAX_SIM_COUNT_INT :
- ret = cb_opt_data->maxSimCnt;
+ *value = cb_opt_data->maxSimCnt;
break;
case MSG_CB_SIM_INDEX_INT :
- ret = cb_opt_data->simIndex;
+ *value = cb_opt_data->simIndex;
break;
default :
ret = MSG_ERR_INVALID_PARAMETER;
@@ -637,51 +632,52 @@ int msg_set_cb_option_int(void *cb_opt, int field, int value)
}
-bool msg_get_cb_option_bool(void *cb_opt, int field)
+int msg_get_cb_option_bool(void *cb_opt, int field, bool *value)
{
if (!cb_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_CBMSG_OPT_HIDDEN_S *cb_opt_data = (MSG_CBMSG_OPT_HIDDEN_S *)cb_opt;
switch (field)
{
case MSG_CB_RECEIVE_BOOL :
- ret = cb_opt_data->bReceive;
+ *value = cb_opt_data->bReceive;
break;
case MSG_CB_LANGUAGE_TYPE_ALL_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ALL];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ALL];
break;
case MSG_CB_LANGUAGE_TYPE_ENG_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ENG];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ENG];
break;
case MSG_CB_LANGUAGE_TYPE_GER_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_GER];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_GER];
break;
case MSG_CB_LANGUAGE_TYPE_FRE_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_FRE];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_FRE];
break;
case MSG_CB_LANGUAGE_TYPE_ITA_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ITA];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_ITA];
break;
case MSG_CB_LANGUAGE_TYPE_NED_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_NED];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_NED];
break;
case MSG_CB_LANGUAGE_TYPE_SPA_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_SPA];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_SPA];
break;
case MSG_CB_LANGUAGE_TYPE_POR_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_POR];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_POR];
break;
case MSG_CB_LANGUAGE_TYPE_SWE_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_SWE];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_SWE];
break;
case MSG_CB_LANGUAGE_TYPE_TUR_BOOL :
- ret = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_TUR];
+ *value = cb_opt_data->bLanguage[MSG_CBLANG_TYPE_TUR];
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -755,30 +751,32 @@ int msg_get_cb_option_list(void *cb_opt, int field, void **value)
*value = (void *)cb_opt_data->channelData;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
return ret;
}
-int msg_get_cb_channel_info_int(void *cb_ch_info, int field)
+int msg_get_cb_channel_info_int(void *cb_ch_info, int field, int *value)
{
if (!cb_ch_info)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_CB_CHANNEL_INFO_S *cb_ch_data = (MSG_CB_CHANNEL_INFO_S *)cb_ch_info;
switch (field)
{
case MSG_CB_CHANNEL_ID_FROM_INT :
- ret = cb_ch_data->from;
+ *value = cb_ch_data->from;
break;
case MSG_CB_CHANNEL_ID_TO_INT :
- ret = cb_ch_data->to;
+ *value = cb_ch_data->to;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -810,21 +808,22 @@ int msg_set_cb_channel_info_int(void *cb_ch_info, int field, int value)
return ret;
}
-bool msg_get_cb_channel_info_bool(void *cb_ch_info, int field)
+int msg_get_cb_channel_info_bool(void *cb_ch_info, int field, bool *value)
{
if (!cb_ch_info)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_CB_CHANNEL_INFO_S *cb_ch_data = (MSG_CB_CHANNEL_INFO_S *)cb_ch_info;
switch (field)
{
case MSG_CB_CHANNEL_ACTIVATE_BOOL :
- ret = cb_ch_data->bActivate;
+ *value = cb_ch_data->bActivate;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -853,25 +852,23 @@ int msg_set_cb_channel_info_bool(void *cb_ch_info, int field, bool value)
return ret;
}
-char *msg_get_cb_channel_info_str(void *cb_ch_info, int field)
+int msg_get_cb_channel_info_str(void *cb_ch_info, int field, char *value, int size)
{
if (!cb_ch_info)
- return NULL;
-
- char *ret_str = NULL;
+ return MSG_ERR_NULL_POINTER;
MSG_CB_CHANNEL_INFO_S *cb_ch_data = (MSG_CB_CHANNEL_INFO_S *)cb_ch_info;
switch (field)
{
case MSG_CB_CHANNEL_NAME_STR :
- ret_str = cb_ch_data->name;
+ strncpy(value, cb_ch_data->name, size);
break;
default :
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
int msg_set_cb_channel_info_str(void *cb_ch_info, int field, char *val, int size)
@@ -899,19 +896,19 @@ int msg_set_cb_channel_info_str(void *cb_ch_info, int field, char *val, int size
EXPORT_API int msg_get_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -933,14 +930,14 @@ EXPORT_API int msg_get_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct
EXPORT_API int msg_set_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -965,27 +962,28 @@ EXPORT_API int msg_set_sms_send_opt(msg_handle_t handle, msg_struct_t msg_struct
return err;
}
-int msg_get_sms_send_opt_int(void *sms_send_opt, int field)
+int msg_get_sms_send_opt_int(void *sms_send_opt, int field, int *value)
{
if (!sms_send_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_SMS_SENDOPT_S *send_opt = (MSG_SMS_SENDOPT_S *)sms_send_opt;
switch (field)
{
case MSG_SMS_SENDOPT_ENCODE_TYPE_INT :
- ret = send_opt->dcs;
+ *value = send_opt->dcs;
break;
case MSG_SMS_SENDOPT_NETWORK_MODE_INT :
- ret = send_opt->netMode;
+ *value = send_opt->netMode;
break;
case MSG_SMS_SENDOPT_SAVE_STORAGE_INT :
- ret = send_opt->saveStorage;
+ *value = send_opt->saveStorage;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1020,24 +1018,25 @@ int msg_set_sms_send_opt_int(void *sms_send_opt, int field, int value)
return ret;
}
-bool msg_get_sms_send_opt_bool(void *sms_send_opt, int field)
+int msg_get_sms_send_opt_bool(void *sms_send_opt, int field, bool *value)
{
if (!sms_send_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_SMS_SENDOPT_S *send_opt = (MSG_SMS_SENDOPT_S *)sms_send_opt;
switch (field)
{
case MSG_SMS_SENDOPT_REPLY_PATH_BOOL :
- ret = send_opt->bReplyPath;
+ *value = send_opt->bReplyPath;
break;
case MSG_SMS_SENDOPT_DELIVERY_REPORT_BOOL :
- ret = send_opt->bDeliveryReport;
+ *value = send_opt->bDeliveryReport;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1073,17 +1072,17 @@ EXPORT_API int msg_get_mms_send_opt(msg_handle_t handle, msg_struct_t msg_struct
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1107,12 +1106,12 @@ EXPORT_API int msg_set_mms_send_opt(msg_handle_t handle, msg_struct_t msg_struct
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1138,45 +1137,46 @@ EXPORT_API int msg_set_mms_send_opt(msg_handle_t handle, msg_struct_t msg_struct
}
-int msg_get_mms_send_opt_int(void *mms_send_opt, int field)
+int msg_get_mms_send_opt_int(void *mms_send_opt, int field, int *value)
{
if (!mms_send_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_MMS_SENDOPT_S *send_opt = (MSG_MMS_SENDOPT_S *)mms_send_opt;
switch (field)
{
case MSG_MMS_SENDOPT_CLASS_TYPE_INT :
- ret = send_opt->msgClass;
+ *value = send_opt->msgClass;
break;
case MSG_MMS_SENDOPT_PRIORITY_TYPE_INT :
- ret = send_opt->priority;
+ *value = send_opt->priority;
break;
case MSG_MMS_SENDOPT_EXPIRY_TIME_INT :
- ret = send_opt->expiryTime;
+ *value = send_opt->expiryTime;
break;
case MSG_MMS_SENDOPT_DELIVERY_TIME_INT :
- ret = send_opt->deliveryTime;
+ *value = send_opt->deliveryTime;
break;
case MSG_MMS_SENDOPT_CUSTOM_DELIVERY_TIME_INT :
- ret = send_opt->customDeliveryTime;
+ *value = send_opt->customDeliveryTime;
break;
case MSG_MMS_SENDOPT_REPLY_CHARGING_INT :
- ret = send_opt->replyCharging;
+ *value = send_opt->replyCharging;
break;
case MSG_MMS_SENDOPT_REPLY_CHARGING_DEADLINE_INT :
- ret = send_opt->replyChargingDeadline;
+ *value = send_opt->replyChargingDeadline;
break;
case MSG_MMS_SENDOPT_REPLY_CHARGING_SIZE_INT :
- ret = send_opt->replyChargingSize;
+ *value = send_opt->replyChargingSize;
break;
case MSG_MMS_SENDOPT_CREATION_MODE_INT :
- ret = send_opt->creationMode;
+ *value = send_opt->creationMode;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1229,36 +1229,37 @@ int msg_set_mms_send_opt_int(void *mms_send_opt, int field, int value)
return ret;
}
-bool msg_get_mms_send_opt_bool(void *mms_send_opt, int field)
+int msg_get_mms_send_opt_bool(void *mms_send_opt, int field, bool *value)
{
if (!mms_send_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_MMS_SENDOPT_S *send_opt = (MSG_MMS_SENDOPT_S *)mms_send_opt;
switch (field)
{
case MSG_MMS_SENDOPT_SENDER_VISIBILITY_BOOL :
- ret = send_opt->bSenderVisibility;
+ *value = send_opt->bSenderVisibility;
break;
case MSG_MMS_SENDOPT_DELIVERY_REPORT_BOOL :
- ret = send_opt->bDeliveryReport;
+ *value = send_opt->bDeliveryReport;
break;
case MSG_MMS_SENDOPT_READ_REPLY_BOOL :
- ret = send_opt->bReadReply;
+ *value = send_opt->bReadReply;
break;
case MSG_MMS_SENDOPT_KEEP_COPY_BOOL :
- ret = send_opt->bKeepCopy;
+ *value = send_opt->bKeepCopy;
break;
case MSG_MMS_SENDOPT_BODY_REPLYING_BOOL :
- ret = send_opt->bBodyReplying;
+ *value = send_opt->bBodyReplying;
break;
case MSG_MMS_SENDOPT_HIDE_RECIPIENTS_BOOL :
- ret = send_opt->bHideRecipients;
+ *value = send_opt->bHideRecipients;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1306,17 +1307,17 @@ EXPORT_API int msg_get_mms_recv_opt(msg_handle_t handle, msg_struct_t msg_struct
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1340,12 +1341,12 @@ EXPORT_API int msg_set_mms_recv_opt(msg_handle_t handle, msg_struct_t msg_struct
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1370,24 +1371,25 @@ EXPORT_API int msg_set_mms_recv_opt(msg_handle_t handle, msg_struct_t msg_struct
return err;
}
-int msg_get_mms_recv_opt_int(void *mms_recv_opt, int field)
+int msg_get_mms_recv_opt_int(void *mms_recv_opt, int field, int *value)
{
if (!mms_recv_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_MMS_RECVOPT_S *recv_opt = (MSG_MMS_RECVOPT_S *)mms_recv_opt;
switch (field)
{
case MSG_MMS_RECVOPT_HOME_RETRIEVE_TYPE_INT :
- ret = recv_opt->homeNetwork;
+ *value = recv_opt->homeNetwork;
break;
case MSG_MMS_RECVOPT_ABROAD_RETRIEVE_TYPE_INT :
- ret = recv_opt->abroadNetwok;
+ *value = recv_opt->abroadNetwok;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1419,30 +1421,31 @@ int msg_set_mms_recv_opt_int(void *mms_recv_opt, int field, int value)
return ret;
}
-bool msg_get_mms_recv_opt_bool(void *mms_recv_opt, int field)
+int msg_get_mms_recv_opt_bool(void *mms_recv_opt, int field, bool *value)
{
if (!mms_recv_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_MMS_RECVOPT_S *recv_opt = (MSG_MMS_RECVOPT_S *)mms_recv_opt;
switch (field)
{
case MSG_MMS_RECVOPT_READ_REPORT_BOOL :
- ret = recv_opt->readReceipt;
+ *value = recv_opt->readReceipt;
break;
case MSG_MMS_RECVOPT_DELIVERY_REPORT_BOOL :
- ret = recv_opt->bDeliveryReceipt;
+ *value = recv_opt->bDeliveryReceipt;
break;
case MSG_MMS_RECVOPT_REJECT_UNKNOWN_BOOL :
- ret = recv_opt->bRejectUnknown;
+ *value = recv_opt->bRejectUnknown;
break;
case MSG_MMS_RECVOPT_REJECT_ADVERTISEMENT_BOOL :
- ret = recv_opt->bRejectAdvertisement;
+ *value = recv_opt->bRejectAdvertisement;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1482,18 +1485,18 @@ int msg_set_mms_recv_opt_bool(void *mms_recv_opt, int field, bool value)
EXPORT_API int msg_get_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1515,13 +1518,13 @@ EXPORT_API int msg_get_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct
EXPORT_API int msg_set_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1546,21 +1549,22 @@ EXPORT_API int msg_set_push_msg_opt(msg_handle_t handle, msg_struct_t msg_struct
return err;
}
-int msg_get_push_msg_opt_int(void *push_msg_opt, int field)
+int msg_get_push_msg_opt_int(void *push_msg_opt, int field, int *value)
{
if (!push_msg_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_PUSHMSG_OPT_S *push_opt = (MSG_PUSHMSG_OPT_S *)push_msg_opt;
switch (field)
{
case MSG_PUSHMSG_SERVICE_TYPE_INT :
- ret = push_opt->serviceType;
+ *value = push_opt->serviceType;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1589,21 +1593,22 @@ int msg_set_push_msg_opt_int(void *push_msg_opt, int field, int value)
return ret;
}
-bool msg_get_push_msg_opt_bool(void *push_msg_opt, int field)
+int msg_get_push_msg_opt_bool(void *push_msg_opt, int field, bool *value)
{
if (!push_msg_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- bool ret = false;
+ int ret = MSG_SUCCESS;
MSG_PUSHMSG_OPT_S *push_opt = (MSG_PUSHMSG_OPT_S *)push_msg_opt;
switch (field)
{
case MSG_PUSHMSG_RECEIVE_BOOL :
- ret = push_opt->bReceive;
+ *value = push_opt->bReceive;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1634,18 +1639,18 @@ int msg_set_push_msg_opt_bool(void *push_msg_opt, int field, bool value)
EXPORT_API int msg_get_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1667,13 +1672,13 @@ EXPORT_API int msg_get_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struc
EXPORT_API int msg_set_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1698,24 +1703,25 @@ EXPORT_API int msg_set_voice_msg_opt(msg_handle_t handle, msg_struct_t msg_struc
return err;
}
-int msg_get_voice_msg_opt_int(void *voice_msg_opt, int field)
+int msg_get_voice_msg_opt_int(void *voice_msg_opt, int field, int *value)
{
if (!voice_msg_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_VOICEMAIL_OPT_S *voice_opt = (MSG_VOICEMAIL_OPT_S *)voice_msg_opt;
switch (field)
{
case MSG_VOICEMSG_SIM_INDEX_INT :
- ret = voice_opt->simIndex;
+ *value = voice_opt->simIndex;
break;
case MSG_VOICEMSG_VOICE_COUNT_INT :
- ret = voice_opt->voiceCnt;
+ *value = voice_opt->voiceCnt;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1744,28 +1750,26 @@ int msg_set_voice_msg_opt_int(void *voice_msg_opt, int field, int value)
return ret;
}
-char *msg_get_voice_msg_opt_str(void *voice_msg_opt, int field)
+int msg_get_voice_msg_opt_str(void *voice_msg_opt, int field, char *value, int size)
{
if (!voice_msg_opt)
- return NULL;
-
- char *ret_str = NULL;
+ return MSG_ERR_NULL_POINTER;
MSG_VOICEMAIL_OPT_S *voice_opt = (MSG_VOICEMAIL_OPT_S *)voice_msg_opt;
switch (field)
{
case MSG_VOICEMSG_ADDRESS_STR :
- ret_str = voice_opt->mailNumber;
+ strncpy(value, voice_opt->mailNumber, size);
break;
case MSG_VOICEMSG_ALPHA_ID_STR :
- ret_str = voice_opt->alpahId;
+ strncpy(value, voice_opt->alpahId, size);
break;
default :
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
int msg_set_voice_msg_opt_str(void *voice_msg_opt, int field, char *val, int size)
@@ -1793,18 +1797,18 @@ int msg_set_voice_msg_opt_str(void *voice_msg_opt, int field, char *val, int siz
EXPORT_API int msg_get_general_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1826,13 +1830,13 @@ EXPORT_API int msg_get_general_opt(msg_handle_t handle, msg_struct_t msg_struct)
EXPORT_API int msg_set_general_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1857,30 +1861,31 @@ EXPORT_API int msg_set_general_opt(msg_handle_t handle, msg_struct_t msg_struct)
return err;
}
-int msg_get_general_opt_int(void *general_opt, int field)
+int msg_get_general_opt_int(void *general_opt, int field, int *value)
{
if (!general_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_GENERAL_OPT_S *opt = (MSG_GENERAL_OPT_S *)general_opt;
switch (field)
{
case MSG_GENERAL_ALERT_TONE_INT :
- ret = opt->alertTone;
+ *value = opt->alertTone;
break;
case MSG_GENERAL_SMS_LIMIT_CNT_INT :
- ret = opt->smsLimitCnt;
+ *value = opt->smsLimitCnt;
break;
case MSG_GENERAL_MMS_LIMIT_CNT_INT :
- ret = opt->mmsLimitCnt;
+ *value = opt->mmsLimitCnt;
break;
case MSG_GENERAL_RINGTONE_TYPE_INT :
- ret = opt->ringtoneType;
+ *value = opt->ringtoneType;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1918,36 +1923,37 @@ int msg_set_general_opt_int(void *general_opt, int field, int value)
return ret;
}
-bool msg_get_general_opt_bool(void *general_opt, int field)
+int msg_get_general_opt_bool(void *general_opt, int field, bool *value)
{
if (!general_opt)
- return false;
+ return MSG_ERR_NULL_POINTER;
- int ret = false;
+ int ret = MSG_SUCCESS;
MSG_GENERAL_OPT_S *opt = (MSG_GENERAL_OPT_S *)general_opt;
switch (field)
{
case MSG_GENERAL_KEEP_COPY_BOOL :
- ret = opt->bKeepCopy;
+ *value = opt->bKeepCopy;
break;
case MSG_GENERAL_AUTO_ERASE_BOOL :
- ret = opt->bAutoErase;
+ *value = opt->bAutoErase;
break;
case MSG_GENERAL_BLOCK_UNKNOWN_NUMBER_BOOL :
- ret = opt->bBlockUnknownMsg;
+ *value = opt->bBlockUnknownMsg;
break;
case MSG_GENERAL_MSG_NOTIFICATION_BOOL :
- ret = opt->bNotification;
+ *value = opt->bNotification;
break;
case MSG_GENERAL_MSG_VIBRATION_BOOL :
- ret = opt->bVibration;
+ *value = opt->bVibration;
break;
case MSG_GENERAL_MSG_PREVIEW_BOOL :
- ret = opt->bPreview;
+ *value = opt->bPreview;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
@@ -1991,25 +1997,23 @@ int msg_set_general_opt_bool(void *general_opt, int field, bool value)
return ret;
}
-char *msg_get_general_opt_str(void *general_opt, int field)
+int msg_get_general_opt_str(void *general_opt, int field, char *value, int size)
{
if (!general_opt)
- return NULL;
-
- char *ret_str = NULL;
+ return MSG_ERR_NULL_POINTER;
MSG_GENERAL_OPT_S *opt = (MSG_GENERAL_OPT_S *)general_opt;
switch (field)
{
case MSG_GENERAL_RINGTONE_PATH_STR :
- ret_str = opt->ringtonePath;
+ strncpy(value, opt->ringtonePath, size);
break;
default :
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
int msg_set_general_opt_str(void *general_opt, int field, char *val, int size)
@@ -2038,18 +2042,18 @@ int msg_set_general_opt_str(void *general_opt, int field, char *val, int size)
EXPORT_API int msg_get_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_struct == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -2071,13 +2075,13 @@ EXPORT_API int msg_get_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct)
EXPORT_API int msg_set_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -2102,21 +2106,22 @@ EXPORT_API int msg_set_msgsize_opt(msg_handle_t handle, msg_struct_t msg_struct)
return err;
}
-int msg_get_msgsize_opt_int(void *size_opt, int field)
+int msg_get_msgsize_opt_int(void *size_opt, int field, int *value)
{
if (!size_opt)
return MSG_ERR_NULL_POINTER;
- int ret = MSG_ERR_INVALID_PARAMETER;
+ int ret = MSG_SUCCESS;
MSG_MSGSIZE_OPT_S *msg_opt = (MSG_MSGSIZE_OPT_S *)size_opt;
switch (field)
{
case MSG_MESSAGE_SIZE_INT :
- ret = msg_opt->nMsgSize;
+ *value = msg_opt->nMsgSize;
break;
default :
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
diff --git a/mapi/msg_storage.cpp b/mapi/msg_storage.cpp
index 618422e..5c7cf34 100755
--- a/mapi/msg_storage.cpp
+++ b/mapi/msg_storage.cpp
@@ -32,13 +32,13 @@ static int msg_get_msg_type(int mainType, int subType);
==================================================================================================*/
EXPORT_API int msg_add_message(msg_handle_t handle, msg_struct_t opq_msg, const msg_struct_t send_opt)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -51,7 +51,10 @@ EXPORT_API int msg_add_message(msg_handle_t handle, msg_struct_t opq_msg, const
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pMsgStruct = (msg_struct_s *)opq_msg;
+ MSG_TYPE_CHECK(pMsgStruct->type, MSG_STRUCT_MESSAGE_INFO);
+
msg_struct_s *pStruct = (msg_struct_s *)send_opt;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_SENDOPT);
try
{
@@ -69,13 +72,13 @@ EXPORT_API int msg_add_message(msg_handle_t handle, msg_struct_t opq_msg, const
EXPORT_API int msg_add_syncml_message(msg_handle_t handle, const msg_struct_t syncml_msg)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -87,6 +90,7 @@ EXPORT_API int msg_add_syncml_message(msg_handle_t handle, const msg_struct_t sy
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)syncml_msg;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_SYNCML_INFO);
try
{
@@ -104,13 +108,13 @@ EXPORT_API int msg_add_syncml_message(msg_handle_t handle, const msg_struct_t sy
EXPORT_API int msg_update_message(msg_handle_t handle, const msg_struct_t opq_msg, const msg_struct_t send_opt)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -121,14 +125,18 @@ EXPORT_API int msg_update_message(msg_handle_t handle, const msg_struct_t opq_ms
}
MsgHandle* pHandle = (MsgHandle*)handle;
+
msg_struct_s *pMsgStruct = (msg_struct_s *)opq_msg;
+ MSG_TYPE_CHECK(pMsgStruct->type, MSG_STRUCT_MESSAGE_INFO);
+
msg_struct_s* pStruct = (msg_struct_s *)send_opt;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_SENDOPT);
MSG_MESSAGE_HIDDEN_S *msg = (MSG_MESSAGE_HIDDEN_S *)pMsgStruct->data;
-
+ MSG_SENDINGOPT_S *sendingOpt = (MSG_SENDINGOPT_S *)pStruct->data;
try
{
- err = pHandle->updateMessage(msg, (MSG_SENDINGOPT_S *)pStruct->data);
+ err = pHandle->updateMessage(msg, sendingOpt);
}
catch (MsgException& e)
{
@@ -142,13 +150,13 @@ EXPORT_API int msg_update_message(msg_handle_t handle, const msg_struct_t opq_ms
EXPORT_API int msg_update_read_status(msg_handle_t handle, msg_message_id_t msg_id, bool read)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -174,15 +182,15 @@ EXPORT_API int msg_update_read_status(msg_handle_t handle, msg_message_id_t msg_
}
-EXPORT_API int msg_set_conversation_to_read(msg_handle_t handle, msg_thread_id_t thread_id)
+EXPORT_API int msg_set_conversation_to_read(msg_handle_t handle, msg_thread_id_t thread_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -210,13 +218,13 @@ EXPORT_API int msg_set_conversation_to_read(msg_handle_t handle, msg_thread_id_
EXPORT_API int msg_update_protected_status(msg_handle_t handle, msg_message_id_t msg_id, bool is_protected)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -243,13 +251,13 @@ EXPORT_API int msg_update_protected_status(msg_handle_t handle, msg_message_id_t
EXPORT_API int msg_delete_message(msg_handle_t handle, msg_message_id_t msg_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -277,13 +285,13 @@ EXPORT_API int msg_delete_message(msg_handle_t handle, msg_message_id_t msg_id)
EXPORT_API int msg_delete_all_msgs_in_folder(msg_handle_t handle, msg_folder_id_t folder_id, bool bOnlyDB)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -311,18 +319,18 @@ EXPORT_API int msg_delete_all_msgs_in_folder(msg_handle_t handle, msg_folder_id_
EXPORT_API int msg_delete_msgs_by_list(msg_handle_t handle, msg_id_list_s *msg_id_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_id_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -345,13 +353,13 @@ EXPORT_API int msg_delete_msgs_by_list(msg_handle_t handle, msg_id_list_s *msg_i
EXPORT_API int msg_move_msg_to_folder(msg_handle_t handle, msg_message_id_t msg_id, msg_folder_id_t dest_folder_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -379,13 +387,13 @@ EXPORT_API int msg_move_msg_to_folder(msg_handle_t handle, msg_message_id_t msg_
EXPORT_API int msg_move_msg_to_storage(msg_handle_t handle, msg_message_id_t msg_id, msg_storage_id_t storage_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -419,24 +427,26 @@ EXPORT_API int msg_move_msg_to_storage(msg_handle_t handle, msg_message_id_t msg
EXPORT_API int msg_count_message(msg_handle_t handle, msg_folder_id_t folder_id, msg_struct_t count_info)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || count_info == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)count_info;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_COUNT_INFO);
+
try
{
err = pHandle->countMessage(folder_id, (MSG_COUNT_INFO_S *)pStruct->data);
@@ -453,18 +463,18 @@ EXPORT_API int msg_count_message(msg_handle_t handle, msg_folder_id_t folder_id,
EXPORT_API int msg_count_msg_by_type(msg_handle_t handle, msg_message_type_t msg_type, int *msg_count)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_count == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -488,6 +498,9 @@ EXPORT_API int msg_count_msg_by_type(msg_handle_t handle, msg_message_type_t msg
msgType.mainType = MSG_MMS_TYPE;
msgType.subType = MSG_SENDREQ_MMS;
}
+ else {
+ return MSG_ERR_INVALID_PARAMETER;
+ }
try
{
@@ -505,25 +518,29 @@ EXPORT_API int msg_count_msg_by_type(msg_handle_t handle, msg_message_type_t msg
EXPORT_API int msg_count_msg_by_contact(msg_handle_t handle, const msg_struct_t addr_info, msg_struct_t msg_thread_count_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || addr_info == NULL)
+ if (handle == NULL || addr_info == NULL || msg_thread_count_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
MsgHandle* pHandle = (MsgHandle*)handle;
+
msg_struct_s *pAddr = (msg_struct_s *)addr_info;
+ MSG_TYPE_CHECK(pAddr->type, MSG_STRUCT_THREAD_LIST_INDEX);
+
msg_struct_s *pCount = (msg_struct_s *)msg_thread_count_list;
+ MSG_TYPE_CHECK(pCount->type, MSG_STRUCT_THREAD_COUNT_INFO);
try
{
@@ -541,18 +558,18 @@ EXPORT_API int msg_count_msg_by_contact(msg_handle_t handle, const msg_struct_t
EXPORT_API int msg_get_message(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_t opq_msg, msg_struct_t send_opt)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !opq_msg)
+ if (handle == NULL || opq_msg == NULL || send_opt == NULL)
{
MSG_FATAL("handle or opq_msg is NULL");
return MSG_ERR_INVALID_PARAMETER;
@@ -561,7 +578,10 @@ EXPORT_API int msg_get_message(msg_handle_t handle, msg_message_id_t msg_id, msg
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pMsgStruct = (msg_struct_s *)opq_msg;
+ MSG_TYPE_CHECK(pMsgStruct->type, MSG_STRUCT_MESSAGE_INFO);
+
msg_struct_s *pStruct = (msg_struct_s *)send_opt;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_SENDOPT);
try
{
@@ -578,13 +598,13 @@ EXPORT_API int msg_get_message(msg_handle_t handle, msg_message_id_t msg_id, msg
EXPORT_API int msg_get_vobject_data(msg_handle_t handle, msg_message_id_t msg_id, void** result_data)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -612,18 +632,18 @@ EXPORT_API int msg_get_vobject_data(msg_handle_t handle, msg_message_id_t msg_id
EXPORT_API int msg_get_conversation(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_t conv)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !conv)
+ if (handle == NULL || conv == NULL)
{
MSG_FATAL("handle or opq_msg is NULL");
return MSG_ERR_INVALID_PARAMETER;
@@ -632,6 +652,8 @@ EXPORT_API int msg_get_conversation(msg_handle_t handle, msg_message_id_t msg_id
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pMsgStruct = (msg_struct_s *)conv;
+ MSG_TYPE_CHECK(pMsgStruct->type, MSG_STRUCT_CONV_INFO);
+
try
{
err = pHandle->getConversationViewItem(msg_id, (MSG_CONVERSATION_VIEW_S *)pMsgStruct->data);
@@ -647,28 +669,30 @@ EXPORT_API int msg_get_conversation(msg_handle_t handle, msg_message_id_t msg_id
EXPORT_API int msg_get_thread_view_list(msg_handle_t handle, const msg_struct_t sort_rule, msg_struct_list_s *msg_thread_view_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_thread_view_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct =(msg_struct_s *)sort_rule;
-
+ if (pStruct) {
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_SORT_RULE);
+ }
try
{
- if (sort_rule == NULL)
+ if (pStruct == NULL)
{
MSG_SORT_RULE_S sortRule = {0};
@@ -694,18 +718,18 @@ EXPORT_API int msg_get_thread_view_list(msg_handle_t handle, const msg_struct_t
EXPORT_API int msg_get_conversation_view_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_list_s *msg_conv_view_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_conv_view_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -728,13 +752,13 @@ EXPORT_API int msg_get_conversation_view_list(msg_handle_t handle, msg_thread_id
EXPORT_API int msg_delete_thread_message_list(msg_handle_t handle, msg_thread_id_t thread_id, bool include_protected_msg)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -762,13 +786,13 @@ EXPORT_API int msg_delete_thread_message_list(msg_handle_t handle, msg_thread_id
EXPORT_API int msg_add_folder(msg_handle_t handle, const msg_struct_t folder_info)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -780,6 +804,7 @@ EXPORT_API int msg_add_folder(msg_handle_t handle, const msg_struct_t folder_inf
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)folder_info;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_FOLDER_INFO);
try
{
@@ -797,13 +822,13 @@ EXPORT_API int msg_add_folder(msg_handle_t handle, const msg_struct_t folder_inf
EXPORT_API int msg_update_folder(msg_handle_t handle, const msg_struct_t folder_info)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -815,6 +840,7 @@ EXPORT_API int msg_update_folder(msg_handle_t handle, const msg_struct_t folder_
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)folder_info;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_FOLDER_INFO);
try
{
@@ -832,13 +858,13 @@ EXPORT_API int msg_update_folder(msg_handle_t handle, const msg_struct_t folder_
EXPORT_API int msg_delete_folder(msg_handle_t handle, msg_folder_id_t folder_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -866,18 +892,18 @@ EXPORT_API int msg_delete_folder(msg_handle_t handle, msg_folder_id_t folder_id)
EXPORT_API int msg_get_folder_list(msg_handle_t handle, msg_struct_list_s *folder_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || folder_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -900,11 +926,11 @@ EXPORT_API int msg_get_folder_list(msg_handle_t handle, msg_struct_list_s *folde
EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_type, msg_folder_id_t folder_id, unsigned int num_msg)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -915,6 +941,12 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
return MSG_ERR_INVALID_PARAMETER;
}
+ if (msg_type >= MSG_MESSAGE_TYPE_MAX)
+ {
+ MSG_DEBUG("msg_type is invalid [%d]", msg_type);
+ return MSG_ERR_INVALID_PARAMETER;
+ }
+
if (folder_id >= MSG_MAX_FOLDER_ID)
{
MSG_DEBUG("folderId is invalid [%d]", folder_id);
@@ -942,6 +974,9 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
for (unsigned int i = 0; i < num_msg; i++)
{
msg_s = (msg_struct_s *)msg_create_struct(MSG_STRUCT_MESSAGE_INFO);
+ if (msg_s == NULL)
+ return MSG_ERR_NOT_SUPPORTED;
+
msgInfo = (MSG_MESSAGE_HIDDEN_S *)msg_s->data;
msgInfo->folderId = folder_id;
@@ -959,8 +994,8 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
snprintf(strMsg, sizeof(strMsg), "test msg %d", i);
msgInfo->dataSize = strlen(strMsg);
msgInfo->pData = (void*)new char[msgInfo->dataSize+1];
- memcpy((char *)msgInfo->pData, strMsg, msgInfo->dataSize);
- ((char*) msgInfo->pData)[msgInfo->dataSize] = '\0';
+ memcpy((char *)msgInfo->pData, strMsg, msgInfo->dataSize);
+ ((char*) msgInfo->pData)[msgInfo->dataSize] = '\0';
}
msgInfo->storageId = MSG_STORAGE_PHONE;
@@ -972,7 +1007,7 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
addrInfo = (MSG_ADDRESS_INFO_S *)addr_s->data;
addrInfo->addressType = MSG_ADDRESS_TYPE_PLMN;
- postfix = rand()%10000;
+ postfix = random()%10000;
snprintf(addrInfo->addressVal, MAX_ADDRESS_VAL_LEN+1, "%s%04d", prefix, postfix);
addrInfo->recipientType = MSG_RECIPIENTS_TYPE_TO;
@@ -995,6 +1030,11 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
if(folder_id == MSG_INBOX_ID) msgInfo->networkStatus = MSG_NETWORK_RETRIEVE_SUCCESS;
+ msg_struct_t mms_data = msg_create_struct(MSG_STRUCT_MMS);
+
+ msg_set_mms_struct((msg_struct_t)msg_s, mms_data);
+
+ msg_release_struct(&mms_data);
//MMS_MESSAGE_DATA_S* mms_data;
//MMS_PAGE_S* page[2];
//MMS_MEDIA_S* media[5];
@@ -1043,9 +1083,6 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
return MSG_ERR_STORAGE_ERROR;
}
- if (msg_type == MSG_TYPE_MMS && msgInfo->pMmsData) //free pMmsData directly. It is added to enhance performance
- delete [] static_cast<char*>(msgInfo->pMmsData);
-
msg_release_struct((msg_struct_t *)&msg_s);
if (err < 0)
@@ -1061,25 +1098,31 @@ EXPORT_API int msg_generate_message(msg_handle_t handle, msg_message_type_t msg_
EXPORT_API int msg_get_quick_panel_data(msg_handle_t handle, msg_quickpanel_type_t type, msg_struct_t opq_msg)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !opq_msg )
+ if (handle == NULL || opq_msg == NULL )
{
MSG_FATAL("handle or opq_msg is NULL");
return MSG_ERR_INVALID_PARAMETER;
}
+ if (type > MSG_QUICKPANEL_MMS_NOTI) {
+ MSG_FATAL("unsupported quickpanel type [%d]", type);
+ return MSG_ERR_INVALID_PARAMETER;
+ }
+
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pMsg = (msg_struct_s *)opq_msg;
+ MSG_TYPE_CHECK(pMsg->type, MSG_STRUCT_MESSAGE_INFO);
try
{
@@ -1097,13 +1140,13 @@ EXPORT_API int msg_get_quick_panel_data(msg_handle_t handle, msg_quickpanel_type
EXPORT_API int msg_reset_database(msg_handle_t handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1131,18 +1174,18 @@ EXPORT_API int msg_reset_database(msg_handle_t handle)
EXPORT_API int msg_get_mem_size(msg_handle_t handle, unsigned int* memsize)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || memsize == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1165,13 +1208,13 @@ EXPORT_API int msg_get_mem_size(msg_handle_t handle, unsigned int* memsize)
EXPORT_API int msg_backup_message(msg_handle_t handle, msg_message_backup_type_t type, const char *backup_filepath)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1199,13 +1242,13 @@ EXPORT_API int msg_backup_message(msg_handle_t handle, msg_message_backup_type_t
EXPORT_API int msg_restore_message(msg_handle_t handle, const char *backup_filepath)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1233,18 +1276,18 @@ EXPORT_API int msg_restore_message(msg_handle_t handle, const char *backup_filep
EXPORT_API int msg_search_message_for_thread_view(msg_handle_t handle, const char *search_string, msg_struct_list_s *msg_thread_view_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || search_string == NULL)
+ if (handle == NULL || search_string == NULL || msg_thread_view_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1271,18 +1314,18 @@ EXPORT_API int msg_search_message_for_thread_view(msg_handle_t handle, const cha
EXPORT_API int msg_get_reject_msg_list(msg_handle_t handle, const char *phone_num, msg_struct_list_s *msg_reject_msg_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_reject_msg_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1305,13 +1348,13 @@ EXPORT_API int msg_get_reject_msg_list(msg_handle_t handle, const char *phone_nu
EXPORT_API int msg_reg_storage_change_callback(msg_handle_t handle, msg_storage_change_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1341,13 +1384,13 @@ EXPORT_API int msg_reg_storage_change_callback(msg_handle_t handle, msg_storage_
EXPORT_API int msg_get_report_status(msg_handle_t handle, msg_message_id_t msg_id, msg_struct_list_s *report_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1374,18 +1417,18 @@ EXPORT_API int msg_get_report_status(msg_handle_t handle, msg_message_id_t msg_i
EXPORT_API int msg_get_address_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_list_s *msg_address_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL)
+ if (handle == NULL || msg_address_list == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1408,13 +1451,13 @@ EXPORT_API int msg_get_address_list(msg_handle_t handle, msg_thread_id_t thread_
EXPORT_API int msg_get_thread_id_by_address(msg_handle_t handle, msg_struct_list_s *msg_address_list, msg_thread_id_t *thread_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1445,13 +1488,13 @@ EXPORT_API int msg_get_thread_id_by_address(msg_handle_t handle, msg_struct_list
EXPORT_API int msg_get_thread_id_by_address2(msg_handle_t handle, msg_list_handle_t msg_address_list, msg_thread_id_t *thread_id)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1479,13 +1522,13 @@ EXPORT_API int msg_get_thread_id_by_address2(msg_handle_t handle, msg_list_handl
EXPORT_API int msg_get_thread(msg_handle_t handle, msg_thread_id_t thread_id, msg_struct_t msg_thread)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -1497,10 +1540,7 @@ EXPORT_API int msg_get_thread(msg_handle_t handle, msg_thread_id_t thread_id, ms
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *msgThread = (msg_struct_s *)msg_thread;
- if (msgThread->type != MSG_STRUCT_THREAD_INFO) {
- MSG_FATAL("Invaild type. type [%d]", msgThread->type);
- return MSG_ERR_INVALID_PARAMETER;
- }
+ MSG_TYPE_CHECK(msgThread->type, MSG_STRUCT_THREAD_INFO);
MSG_THREAD_VIEW_S* pThreadInfo = (MSG_THREAD_VIEW_S *)msgThread->data;
@@ -1519,23 +1559,24 @@ EXPORT_API int msg_get_thread(msg_handle_t handle, msg_thread_id_t thread_id, ms
EXPORT_API int msg_get_message_list2(msg_handle_t handle, const msg_struct_t msg_list_conditions, msg_struct_list_s *msg_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL) {
+ if (handle == NULL || msg_list_conditions == NULL || msg_list == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)msg_list_conditions;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_MSG_LIST_CONDITION);
try
{
@@ -1553,17 +1594,17 @@ EXPORT_API int msg_get_message_list2(msg_handle_t handle, const msg_struct_t msg
EXPORT_API int msg_get_media_list(msg_handle_t handle, msg_thread_id_t thread_id, msg_list_handle_t *msg_list)
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL) {
+ if (handle == NULL || msg_list == NULL) {
return MSG_ERR_INVALID_PARAMETER;
}
@@ -1587,7 +1628,7 @@ static int msg_get_msg_type(int mainType, int subType)
{
if (mainType == MSG_SMS_TYPE)
{
- switch (subType) {
+ switch (subType) {
case MSG_CB_SMS :
return MSG_TYPE_SMS_CB;
case MSG_JAVACB_SMS :
@@ -1620,7 +1661,7 @@ static int msg_get_msg_type(int mainType, int subType)
return MSG_TYPE_SMS_CMAS_OPERATOR_DEFINED;
default :
return MSG_TYPE_SMS;
- }
+ }
}
else if (mainType == MSG_MMS_TYPE)
{
@@ -1636,540 +1677,576 @@ static int msg_get_msg_type(int mainType, int subType)
}
-int msg_syncml_info_get_int(void *syncml_info, int field)
+int msg_syncml_info_get_int(void *syncml_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!syncml_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_SYNCML_MESSAGE_S *pSync = (MSG_SYNCML_MESSAGE_S *)syncml_info;
+
switch(field)
{
case MSG_SYNCML_INFO_EXTID_INT:
- result = pSync->extId;
+ *value = pSync->extId;
break;
case MSG_SYNCML_INFO_PINCODE_INT:
- result = pSync->pinCode;
+ *value = pSync->pinCode;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_count_info_get_int(void *count_info, int field)
+int msg_count_info_get_int(void *count_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!count_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_COUNT_INFO_S *pCount = (MSG_COUNT_INFO_S *)count_info;
+
switch(field)
{
case MSG_COUNT_INFO_READ_INT:
- result = pCount->nReadCnt;
+ *value = pCount->nReadCnt;
break;
case MSG_COUNT_INFO_UNREAD_INT:
- result = pCount->nUnreadCnt;
+ *value = pCount->nUnreadCnt;
break;
case MSG_COUNT_INFO_SMS_INT:
- result = pCount->nSms;
+ *value = pCount->nSms;
break;
case MSG_COUNT_INFO_MMS_INT:
- result = pCount->nMms;
+ *value = pCount->nMms;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_thread_count_get_int(void *count_info, int field)
+int msg_thread_count_get_int(void *count_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!count_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_THREAD_COUNT_INFO_S *pCount = (MSG_THREAD_COUNT_INFO_S *)count_info;
+
switch(field)
{
case MSG_THREAD_COUNT_TOTAL_INT:
- result = pCount->totalCount;
+ *value = pCount->totalCount;
break;
case MSG_THREAD_COUNT_UNREAD_INT:
- result = pCount->unReadCount;
+ *value = pCount->unReadCount;
break;
case MSG_THREAD_COUNT_SMS_INT:
- result = pCount->smsMsgCount;
+ *value = pCount->smsMsgCount;
break;
case MSG_THREAD_COUNT_MMS_INT:
- result = pCount->mmsMsgCount;
+ *value = pCount->mmsMsgCount;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_thread_index_get_int(void *index_info, int field)
+int msg_thread_index_get_int(void *index_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!index_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_THREAD_LIST_INDEX_S *pIndex = (MSG_THREAD_LIST_INDEX_S *)index_info;
switch(field)
{
case MSG_THREAD_LIST_INDEX_CONTACTID_INT:
- result = pIndex->contactId;
+ *value = pIndex->contactId;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_sortrule_get_int(void *sort_info, int field)
+int msg_sortrule_get_int(void *sort_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!sort_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_SORT_RULE_S *pSort = (MSG_SORT_RULE_S *)sort_info;
+
switch(field)
{
case MSG_SORT_RULE_SORT_TYPE_INT:
- result = pSort->sortType;
+ *value = pSort->sortType;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_folder_info_get_int(void *folder_info, int field)
+int msg_folder_info_get_int(void *folder_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!folder_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
+
switch(field)
{
case MSG_FOLDER_INFO_ID_INT:
- result = pFolder->folderId;
+ *value = pFolder->folderId;
break;
case MSG_FOLDER_INFO_TYPE_INT:
- result = pFolder->folderType;
+ *value = pFolder->folderType;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_thread_info_get_int(void *data, int field)
+int msg_thread_info_get_int(void *data, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!data)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_THREAD_VIEW_S *pThread = (MSG_THREAD_VIEW_S *)data;
switch(field)
{
case MSG_THREAD_ID_INT :
- result = pThread->threadId;
+ *value = pThread->threadId;
break;
case MSG_THREAD_MSG_TYPE_INT :
- result = msg_get_msg_type(pThread->mainType, pThread->subType);
+ *value = msg_get_msg_type(pThread->mainType, pThread->subType);
break;
case MSG_THREAD_MSG_TIME_INT :
- result = pThread->threadTime;
+ *value = pThread->threadTime;
break;
case MSG_THREAD_DIRECTION_INT :
- result = pThread->direction;
+ *value = pThread->direction;
break;
case MSG_THREAD_UNREAD_COUNT_INT :
- result = pThread->unreadCnt;
+ *value = pThread->unreadCnt;
break;
case MSG_THREAD_SMS_COUNT_INT :
- result = pThread->smsCnt;
+ *value = pThread->smsCnt;
break;
case MSG_THREAD_MMS_COUNT_INT :
- result = pThread->mmsCnt;
+ *value = pThread->mmsCnt;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_conv_info_get_int(void *data, int field)
+int msg_conv_info_get_int(void *data, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!data)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_CONVERSATION_VIEW_S *pConv = (MSG_CONVERSATION_VIEW_S *)data;
switch(field)
{
case MSG_CONV_MSG_ID_INT :
- result = pConv->msgId;
+ *value = pConv->msgId;
break;
case MSG_CONV_MSG_THREAD_ID_INT :
- result = pConv->threadId;
+ *value = pConv->threadId;
break;
case MSG_CONV_MSG_FOLDER_ID_INT :
- result = pConv->folderId;
+ *value = pConv->folderId;
break;
case MSG_CONV_MSG_TYPE_INT :
- result = msg_get_msg_type(pConv->mainType, pConv->subType);
+ *value = msg_get_msg_type(pConv->mainType, pConv->subType);
break;
case MSG_CONV_MSG_STORAGE_ID_INT :
- result = pConv->storageId;
+ *value = pConv->storageId;
break;
case MSG_CONV_MSG_DISPLAY_TIME_INT :
- result = pConv->displayTime;
+ *value = pConv->displayTime;
break;
case MSG_CONV_MSG_SCHEDULED_TIME_INT :
- result = pConv->scheduledTime;
+ *value = pConv->scheduledTime;
break;
case MSG_CONV_MSG_NETWORK_STATUS_INT :
- result = pConv->networkStatus;
+ *value = pConv->networkStatus;
break;
case MSG_CONV_MSG_DIRECTION_INT :
- result = pConv->direction;
+ *value = pConv->direction;
break;
case MSG_CONV_MSG_ATTACH_COUNT_INT :
- result = pConv->attachCount;
+ *value = pConv->attachCount;
break;
case MSG_CONV_MSG_TEXT_SIZE_INT :
- result = pConv->textSize;
+ *value = pConv->textSize;
break;
case MSG_CONV_MSG_PAGE_COUNT_INT :
- result = pConv->pageCount;
+ *value = pConv->pageCount;
break;
case MSG_CONV_MSG_TCS_BC_LEVEL_INT :
- result = pConv->tcs_bc_level;
+ *value = pConv->tcs_bc_level;
break;
case MSG_CONV_MSG_SIM_INDEX_INT :
- result = pConv->simIndex;
+ *value = pConv->simIndex;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_search_condition_get_int(void *condition_info, int field)
+int msg_list_condition_get_int(void *condition_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
- MSG_SEARCH_CONDITION_S *pCond = (MSG_SEARCH_CONDITION_S *)condition_info;
- switch(field)
- {
- case MSG_SEARCH_CONDITION_FOLDERID_INT:
- result = pCond->folderId;
- break;
- case MSG_SEARCH_CONDITION_MSGTYPE_INT:
- result = pCond->msgType;
- break;
- case MSG_SEARCH_CONDITION_RESERVED_INT:
- result = pCond->reserved;
- break;
- default:
- result = MSG_ERR_INVALID_PARAMETER;
- break;
- }
- return result;
-}
+ if (!condition_info)
+ return MSG_ERR_NULL_POINTER;
+ int ret = MSG_SUCCESS;
-int msg_list_condition_get_int(void *condition_info, int field)
-{
- int result = MSG_ERR_INVALID_PARAMETER;
MSG_LIST_CONDITION_S *pCond = (MSG_LIST_CONDITION_S *)condition_info;
+
switch(field)
{
case MSG_LIST_CONDITION_FOLDER_ID_INT:
- result = pCond->folderId;
+ *value = pCond->folderId;
break;
case MSG_LIST_CONDITION_THREAD_ID_INT:
- result = pCond->threadId;
- break;
+ *value = pCond->threadId;
+ break;
case MSG_LIST_CONDITION_STORAGE_ID_INT:
- result = pCond->storageId;
- break;
+ *value = pCond->storageId;
+ break;
case MSG_LIST_CONDITION_MSGTYPE_INT:
- result = pCond->msgType;
+ *value = pCond->msgType;
break;
case MSG_LIST_CONDITION_FROM_TIME_INT:
- result = pCond->fromTime;
+ *value = pCond->fromTime;
break;
case MSG_LIST_CONDITION_TO_TIME_INT:
- result = pCond->toTime;
+ *value = pCond->toTime;
break;
case MSG_LIST_CONDITION_OFFSET_INT:
- result = pCond->offset;
+ *value = pCond->offset;
break;
case MSG_LIST_CONDITION_LIMIT_INT:
- result = pCond->limit;
+ *value = pCond->limit;
break;
case MSG_LIST_CONDITION_SIM_INDEX_INT:
- result = pCond->simIndex;
+ *value = pCond->simIndex;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_report_status_get_int(void *report_info, int field)
+int msg_report_status_get_int(void *report_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!report_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_REPORT_STATUS_INFO_S *pReport = (MSG_REPORT_STATUS_INFO_S *)report_info;
switch(field)
{
case MSG_REPORT_TYPE_INT:
- result = pReport->type;
+ *value = pReport->type;
break;
case MSG_REPORT_STATUS_INT:
- result = pReport->status;
+ *value = pReport->status;
break;
case MSG_REPORT_TIME_INT:
- result = pReport->statusTime;
+ *value = pReport->statusTime;
break;
default:
- result = MSG_ERR_INVALID_PARAMETER;
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-char* msg_report_status_get_str(void *report_info, int field)
+int msg_report_status_get_str(void *report_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_REPORT_STATUS_INFO_S *pReport = (MSG_REPORT_STATUS_INFO_S *)report_info;
switch(field)
{
-
case MSG_REPORT_ADDRESS_STR:
- result = pReport->addressVal;
+ strncpy(value, pReport->addressVal, size);
break;
-
default:
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+ return MSG_SUCCESS;
}
-char* msg_folder_info_get_str(void *folder_info, int field)
+int msg_folder_info_get_str(void *folder_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
switch(field)
{
case MSG_FOLDER_INFO_NAME_STR:
- result = pFolder->folderName;
+ strncpy(value, pFolder->folderName, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+ return MSG_SUCCESS;
}
-char *msg_thread_info_get_str(void *data, int field)
+int msg_thread_info_get_str(void *data, int field, char *value, int size)
{
- char *ret_str = NULL;
MSG_THREAD_VIEW_S *pThread = (MSG_THREAD_VIEW_S *)data;
switch(field)
{
case MSG_THREAD_NAME_STR :
- ret_str = pThread->threadName;
+ strncpy(value, pThread->threadName, size);
break;
case MSG_THREAD_MSG_DATA_STR :
- ret_str = pThread->threadData;
+ strncpy(value, pThread->threadData, size);
break;
default:
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
+ return MSG_SUCCESS;
}
-char *msg_conv_info_get_str(void *data, int field)
+int msg_conv_info_get_str(void *data, int field, char *value, int size)
{
- char *ret_str = NULL;
MSG_CONVERSATION_VIEW_S *pConv = (MSG_CONVERSATION_VIEW_S *)data;
switch(field)
{
case MSG_CONV_MSG_SUBJECT_STR :
- ret_str = pConv->subject;
+ strncpy(value, pConv->subject, size);
break;
case MSG_CONV_MSG_ATTACH_NAME_STR :
- ret_str = pConv->attachFileName;
+ strncpy(value, pConv->attachFileName, size);
break;
case MSG_CONV_MSG_AUDIO_NAME_STR :
- ret_str = pConv->audioFileName;
+ strncpy(value, pConv->audioFileName, size);
break;
case MSG_CONV_MSG_IMAGE_THUMB_PATH_STR :
- ret_str = pConv->imageThumbPath;
+ strncpy(value, pConv->imageThumbPath, size);
break;
case MSG_CONV_MSG_VIDEO_THUMB_PATH_STR :
- ret_str = pConv->videoThumbPath;
+ strncpy(value, pConv->videoThumbPath, size);
break;
case MSG_CONV_MSG_TEXT_STR :
- ret_str = pConv->pText;
+ if (pConv->pText)
+ strncpy(value, pConv->pText, size);
break;
case MSG_CONV_MSG_1ST_MEDIA_PATH_STR :
- ret_str = pConv->firstMediaPath;
+ strncpy(value, pConv->firstMediaPath, size);
break;
default:
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return ret_str;
-}
-
-
-char* msg_search_condition_get_str(void *condition_info, int field, int size)
-{
- char *result = NULL;
- MSG_SEARCH_CONDITION_S *search_cond = (MSG_SEARCH_CONDITION_S *)condition_info;
- switch(field)
- {
- case MSG_SEARCH_CONDITION_ADDRESS_VALUE_STR:
- result = search_cond->pAddressVal;
- break;
- case MSG_SEARCH_CONDITION_SEARCH_VALUE_STR:
- result = search_cond->pSearchVal;
- break;
- default:
- result = NULL;
- break;
- }
- return result;
+ return MSG_SUCCESS;
}
-char* msg_list_condition_get_str(void *condition_info, int field, int size)
+int msg_list_condition_get_str(void *condition_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_LIST_CONDITION_S *cond = (MSG_LIST_CONDITION_S *)condition_info;
switch(field)
{
case MSG_LIST_CONDITION_ADDRESS_VALUE_STR:
- result = cond->pAddressVal;
+ if (cond->pAddressVal)
+ strncpy(value, cond->pAddressVal, size);
break;
case MSG_LIST_CONDITION_TEXT_VALUE_STR:
- result = cond->pTextVal;
+ if (cond->pTextVal)
+ strncpy(value, cond->pTextVal, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+
+ return MSG_SUCCESS;
}
-bool msg_sendopt_get_bool(void *send_opt, int field)
+int msg_sendopt_get_bool(void *send_opt, int field, bool *value)
{
- bool result = false;
+ if (!send_opt)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_SENDINGOPT_S *sendopt = (MSG_SENDINGOPT_S *)send_opt;
switch(field)
{
case MSG_SEND_OPT_SETTING_BOOL:
- result = sendopt->bSetting;
+ *value = sendopt->bSetting;
break;
case MSG_SEND_OPT_KEEPCOPY_BOOL:
- result = sendopt->bKeepCopy;
+ *value = sendopt->bKeepCopy;
break;
case MSG_SEND_OPT_DELIVER_REQ_BOOL:
- result = sendopt->bDeliverReq;
+ *value = sendopt->bDeliverReq;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-bool msg_sortrule_get_bool(void *sort_rule, int field)
+int msg_sortrule_get_bool(void *sort_rule, int field, bool *value)
{
- bool result = false;
+ if (!sort_rule)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_SORT_RULE_S *pSort = (MSG_SORT_RULE_S *)sort_rule;
switch(field)
{
case MSG_SORT_RULE_ACSCEND_BOOL:
- result = pSort->bAscending;
+ *value = pSort->bAscending;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-bool msg_conv_get_bool(void *data, int field)
+int msg_conv_get_bool(void *data, int field, bool *value)
{
- bool result = false;
+ if (!data)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_CONVERSATION_VIEW_S *pConv = (MSG_CONVERSATION_VIEW_S *)data;
+
switch(field)
{
case MSG_CONV_MSG_READ_BOOL:
- result = pConv->bRead;
+ *value = pConv->bRead;
break;
case MSG_CONV_MSG_PROTECTED_BOOL:
- result = pConv->bProtected;
+ *value = pConv->bProtected;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-bool msg_thread_info_get_bool(void *data, int field)
+int msg_thread_info_get_bool(void *data, int field, bool *value)
{
- bool result = false;
+ if (!data)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_THREAD_VIEW_S *pthreadInfo = (MSG_THREAD_VIEW_S *)data;
+
switch(field)
{
case MSG_THREAD_PROTECTED_BOOL:
- result = pthreadInfo->bProtected;
+ *value = pthreadInfo->bProtected;
break;
case MSG_THREAD_DRAFT_BOOL :
- result = pthreadInfo->bDraft;
+ *value = pthreadInfo->bDraft;
break;
case MSG_THREAD_SEND_FAILED_BOOL :
- result = pthreadInfo->bSendFailed;
+ *value = pthreadInfo->bSendFailed;
break;
case MSG_THREAD_SENDING_BOOL :
- result = pthreadInfo->bSending;
+ *value = pthreadInfo->bSending;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-bool msg_list_condition_get_bool(void *data, int field)
+int msg_list_condition_get_bool(void *data, int field, bool *value)
{
- bool result = false;
+ if (!data)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_LIST_CONDITION_S *pCond = (MSG_LIST_CONDITION_S *)data;
+
switch(field)
{
case MSG_LIST_CONDITION_PROTECTED_BOOL:
- result = pCond->bProtected;
+ *value = pCond->bProtected;
break;
case MSG_LIST_CONDITION_SCHEDULED_BOOL :
- result = pCond->bScheduled;
+ *value = pCond->bScheduled;
break;
case MSG_LIST_CONDITION_AND_OPERATER_BOOL :
- result = pCond->bAnd;
+ *value = pCond->bAnd;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
int msg_sendopt_get_struct_handle(msg_struct_s *msg_struct, int field, void **value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -2192,12 +2269,13 @@ int msg_sendopt_get_struct_handle(msg_struct_s *msg_struct, int field, void **va
int msg_syncml_get_struct_handle(msg_struct_s *msg_struct, int field, void **value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
MSG_SYNCML_MESSAGE_S *pSync = (MSG_SYNCML_MESSAGE_S *)msg_struct->data;
+
switch(field)
{
case MSG_SYNCML_INFO_MESSAGE_HND:
@@ -2206,19 +2284,19 @@ int msg_syncml_get_struct_handle(msg_struct_s *msg_struct, int field, void **val
default:
err = MSG_ERR_UNKNOWN;
break;
-
}
return err;
}
int msg_thread_index_get_struct_handle(msg_struct_s *msg_struct, int field, void **value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
MSG_THREAD_LIST_INDEX_INFO_S *pIndex = (MSG_THREAD_LIST_INDEX_INFO_S *)msg_struct->data;
+
switch(field)
{
case MSG_THREAD_LIST_INDEX_ADDR_INFO_HND:
@@ -2235,12 +2313,13 @@ int msg_thread_index_get_struct_handle(msg_struct_s *msg_struct, int field, void
int msg_list_condition_get_struct_handle(msg_struct_s *msg_struct, int field, void **value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
MSG_LIST_CONDITION_S *pCond = (MSG_LIST_CONDITION_S *)msg_struct->data;
+
switch(field)
{
case MSG_LIST_CONDITION_SORT_RULE_HND:
@@ -2255,296 +2334,298 @@ int msg_list_condition_get_struct_handle(msg_struct_s *msg_struct, int field, vo
}
-int msg_address_info_get_int(void *addr_info, int field)
+int msg_address_info_get_int(void *addr_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!addr_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_ADDRESS_INFO_S *pAddr = (MSG_ADDRESS_INFO_S *)addr_info;
+
switch(field)
{
case MSG_ADDRESS_INFO_ADDRESS_TYPE_INT:
- result = pAddr->addressType;
+ *value = pAddr->addressType;
break;
case MSG_ADDRESS_INFO_RECIPIENT_TYPE_INT:
- result = pAddr->recipientType;
+ *value = pAddr->recipientType;
break;
case MSG_ADDRESS_INFO_CONTACT_ID_INT:
- result = pAddr->contactId;
+ *value = pAddr->contactId;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
-int msg_mms_sendopt_get_int(void *opt_info, int field)
+
+int msg_mms_sendopt_get_int(void *opt_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!opt_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MMS_SENDINGOPT_S *pOpt = (MMS_SENDINGOPT_S *)opt_info;
+
switch(field)
{
case MSG_MMS_SENDOPTION_EXPIRY_TIME_INT:
- result = pOpt->expiryTime;
+ *value = pOpt->expiryTime;
break;
case MSG_MMS_SENDOPTION_DELIVERY_TIME_INT:
- result = pOpt->deliveryTime;
+ *value = pOpt->deliveryTime;
break;
case MSG_MMS_SENDOPTION_PRIORITY_INT:
- result = pOpt->priority;
+ *value = pOpt->priority;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-int msg_reject_message_get_int(void *msg_info, int field)
+int msg_reject_message_get_int(void *msg_info, int field, int *value)
{
- int result = MSG_ERR_INVALID_PARAMETER;
+ if (!msg_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_REJECT_MSG_INFO_S *pMsg = (MSG_REJECT_MSG_INFO_S *)msg_info;
+
switch(field)
{
case MSG_REJECT_MESSAGE_MSGID_INT:
- result = pMsg->msgId;
+ *value = pMsg->msgId;
break;
case MSG_REJECT_MESSAGE_DISPLAY_TIME_INT:
- result = pMsg->displayTime;
+ *value = pMsg->displayTime;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-char* msg_address_info_get_str(void *addr_info, int field, int size)
+int msg_address_info_get_str(void *addr_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_ADDRESS_INFO_S *pAddr = (MSG_ADDRESS_INFO_S *)addr_info;
switch(field)
{
case MSG_ADDRESS_INFO_ADDRESS_VALUE_STR:
- result = pAddr->addressVal;
+ strncpy(value, pAddr->addressVal, size);
break;
case MSG_ADDRESS_INFO_DISPLAYNAME_STR:
- result = pAddr->displayName;
+ strncpy(value, pAddr->displayName, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+
+ return MSG_SUCCESS;
}
-char* msg_reject_message_get_str(void *msg_info, int field, int size)
+int msg_reject_message_get_str(void *msg_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_REJECT_MSG_INFO_S *pMsg = (MSG_REJECT_MSG_INFO_S *)msg_info;
switch(field)
{
case MSG_REJECT_MESSAGE_MSGTEXT_STR:
- result = pMsg->msgText;
+ strncpy(value, pMsg->msgText, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+
+ return MSG_SUCCESS;
}
-bool msg_mms_sendopt_get_bool(void *opt_info, int field)
+int msg_mms_sendopt_get_bool(void *opt_info, int field, bool *value)
{
- bool result = false;
+ if (!opt_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MMS_SENDINGOPT_S *pOpt = (MMS_SENDINGOPT_S *)opt_info;
+
switch(field)
{
case MSG_MMS_SENDOPTION_READ_REQUEST_BOOL:
- result = pOpt->bReadReq;
+ *value = pOpt->bReadReq;
break;
case MSG_MMS_SENDOPTION_DELIVERY_CUSTOMTIME_BOOL:
- result = pOpt->bUseDeliveryCustomTime;
+ *value = pOpt->bUseDeliveryCustomTime;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
-bool msg_sms_sendopt_get_bool(void *opt_info, int field)
+int msg_sms_sendopt_get_bool(void *opt_info, int field, bool *value)
{
- bool result = false;
+ if (!opt_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
SMS_SENDINGOPT_S *pOpt = (SMS_SENDINGOPT_S *)opt_info;
switch(field)
{
case MSG_SMS_SENDOPT_REPLYPATH_BOOL:
- result = pOpt->bReplyPath;
+ *value = pOpt->bReplyPath;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
int msg_syncml_info_set_int(void *syncml_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!syncml_info)
return MSG_ERR_NULL_POINTER;
- MSG_SYNCML_MESSAGE_S *pSync = (MSG_SYNCML_MESSAGE_S *)syncml_info;
- switch(field)
- {
- case MSG_SYNCML_INFO_EXTID_INT:
+ MSG_SYNCML_MESSAGE_S *pSync = (MSG_SYNCML_MESSAGE_S *)syncml_info;
+ switch(field)
+ {
+ case MSG_SYNCML_INFO_EXTID_INT:
pSync->extId = value;
break;
- case MSG_SYNCML_INFO_PINCODE_INT:
+ case MSG_SYNCML_INFO_PINCODE_INT:
pSync->pinCode = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_count_info_set_int(void *count_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!count_info)
return MSG_ERR_NULL_POINTER;
- MSG_COUNT_INFO_S *pCount = (MSG_COUNT_INFO_S *)count_info;
+ MSG_COUNT_INFO_S *pCount = (MSG_COUNT_INFO_S *)count_info;
- switch(field)
- {
- case MSG_COUNT_INFO_READ_INT:
+ switch(field)
+ {
+ case MSG_COUNT_INFO_READ_INT:
pCount->nReadCnt = value;
break;
- case MSG_COUNT_INFO_UNREAD_INT:
+ case MSG_COUNT_INFO_UNREAD_INT:
pCount->nUnreadCnt = value;
break;
- case MSG_COUNT_INFO_SMS_INT:
+ case MSG_COUNT_INFO_SMS_INT:
pCount->nSms = value;
break;
- case MSG_COUNT_INFO_MMS_INT:
+ case MSG_COUNT_INFO_MMS_INT:
pCount->nMms = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_thread_count_set_int(void *count_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!count_info)
return MSG_ERR_NULL_POINTER;
- MSG_THREAD_COUNT_INFO_S *pCount = (MSG_THREAD_COUNT_INFO_S *)count_info;
- switch(field)
- {
- case MSG_THREAD_COUNT_TOTAL_INT:
+ MSG_THREAD_COUNT_INFO_S *pCount = (MSG_THREAD_COUNT_INFO_S *)count_info;
+ switch(field)
+ {
+ case MSG_THREAD_COUNT_TOTAL_INT:
pCount->totalCount = value;
break;
- case MSG_THREAD_COUNT_UNREAD_INT:
+ case MSG_THREAD_COUNT_UNREAD_INT:
pCount->unReadCount = value;
break;
- case MSG_THREAD_COUNT_SMS_INT:
+ case MSG_THREAD_COUNT_SMS_INT:
pCount->smsMsgCount = value;
break;
- case MSG_THREAD_COUNT_MMS_INT:
+ case MSG_THREAD_COUNT_MMS_INT:
pCount->mmsMsgCount = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_thread_index_set_int(void *index_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!index_info)
return MSG_ERR_NULL_POINTER;
- MSG_THREAD_LIST_INDEX_S *pIndex = (MSG_THREAD_LIST_INDEX_S *)index_info;
- switch(field)
- {
- case MSG_THREAD_LIST_INDEX_CONTACTID_INT:
+ MSG_THREAD_LIST_INDEX_S *pIndex = (MSG_THREAD_LIST_INDEX_S *)index_info;
+ switch(field)
+ {
+ case MSG_THREAD_LIST_INDEX_CONTACTID_INT:
pIndex->contactId = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_sortrule_set_int(void *sort_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!sort_info)
return MSG_ERR_NULL_POINTER;
- MSG_SORT_RULE_S *pSort = (MSG_SORT_RULE_S *)sort_info;
- switch(field)
- {
- case MSG_SORT_RULE_SORT_TYPE_INT:
+ MSG_SORT_RULE_S *pSort = (MSG_SORT_RULE_S *)sort_info;
+ switch(field)
+ {
+ case MSG_SORT_RULE_SORT_TYPE_INT:
pSort->sortType = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_folder_info_set_int(void *folder_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!folder_info)
return MSG_ERR_NULL_POINTER;
- MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
- switch(field)
- {
- case MSG_FOLDER_INFO_ID_INT:
- pFolder->folderId = value;
- break;
- case MSG_FOLDER_INFO_TYPE_INT:
- pFolder->folderType = value;
- break;
- default:
- err = MSG_ERR_UNKNOWN;
- break;
- }
-
- return err;
-}
-
-
-int msg_search_condition_set_int(void *condition_info, int field, int value)
-{
- msg_error_t err = MSG_SUCCESS;
- if(!condition_info)
- return MSG_ERR_NULL_POINTER;
-
- MSG_SEARCH_CONDITION_S *pCond = (MSG_SEARCH_CONDITION_S *)condition_info;
+ MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
switch(field)
{
- case MSG_SEARCH_CONDITION_FOLDERID_INT:
- pCond->folderId = value;
- break;
- case MSG_SEARCH_CONDITION_MSGTYPE_INT:
- pCond->msgType = value;
+ case MSG_FOLDER_INFO_ID_INT:
+ pFolder->folderId = value;
break;
- case MSG_SEARCH_CONDITION_RESERVED_INT:
- pCond->reserved = value;
+ case MSG_FOLDER_INFO_TYPE_INT:
+ pFolder->folderType = value;
break;
default:
err = MSG_ERR_UNKNOWN;
@@ -2557,7 +2638,7 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!condition_info)
return MSG_ERR_NULL_POINTER;
@@ -2602,81 +2683,54 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!report_info)
return MSG_ERR_NULL_POINTER;
MSG_REPORT_STATUS_INFO_S *pReport = (MSG_REPORT_STATUS_INFO_S *)report_info;
switch(field)
{
- case MSG_REPORT_TYPE_INT:
- pReport->type = value;
+ case MSG_REPORT_TYPE_INT:
+ pReport->type = value;
break;
- case MSG_REPORT_STATUS_INT:
- pReport->status = value;
+ case MSG_REPORT_STATUS_INT:
+ pReport->status = value;
break;
- case MSG_REPORT_TIME_INT:
- pReport->statusTime = value;
+ case MSG_REPORT_TIME_INT:
+ pReport->statusTime = value;
break;
-
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
}
-
return err;
}
int msg_folder_info_set_str(void *folder_info, int field, char *value, int size)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!folder_info || !value)
return MSG_ERR_NULL_POINTER;
- MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
- int _len = 0;
- (size > MAX_FOLDER_NAME_SIZE)? _len = MAX_FOLDER_NAME_SIZE : _len = size;
- switch(field)
- {
- case MSG_FOLDER_INFO_NAME_STR:
- strncpy(pFolder->folderName, value, _len);
- break;
- default:
- err = MSG_ERR_UNKNOWN;
- break;
- }
-
- return err;
-}
-
-int msg_search_condition_set_str(void *condition_info, int field, char *value, int size)
-{
- msg_error_t err = MSG_SUCCESS;
- if(!condition_info || !value)
- return MSG_ERR_NULL_POINTER;
-
- MSG_SEARCH_CONDITION_S *search_cond = (MSG_SEARCH_CONDITION_S *)condition_info;
-
+ MSG_FOLDER_INFO_S *pFolder = (MSG_FOLDER_INFO_S *)folder_info;
+ int _len = 0;
+ (size > MAX_FOLDER_NAME_SIZE)? _len = MAX_FOLDER_NAME_SIZE : _len = size;
switch(field)
{
- case MSG_SEARCH_CONDITION_ADDRESS_VALUE_STR:
- if(size)
- search_cond->pAddressVal = value;
- break;
- case MSG_SEARCH_CONDITION_SEARCH_VALUE_STR:
- if(size)
- search_cond->pSearchVal = value;
+ case MSG_FOLDER_INFO_NAME_STR:
+ strncpy(pFolder->folderName, value, _len);
break;
default:
err = MSG_ERR_UNKNOWN;
break;
}
+
return err;
}
int msg_list_condition_set_str(void *condition_info, int field, char *value, int size)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!condition_info || !value)
return MSG_ERR_NULL_POINTER;
@@ -2702,32 +2756,32 @@ int msg_list_condition_set_str(void *condition_info, int field, char *value, int
int msg_sendopt_set_bool(void *send_opt, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!send_opt)
return MSG_ERR_NULL_POINTER;
- MSG_SENDINGOPT_S *sendopt = (MSG_SENDINGOPT_S *)send_opt;
- switch(field)
- {
- case MSG_SEND_OPT_SETTING_BOOL:
+ MSG_SENDINGOPT_S *sendopt = (MSG_SENDINGOPT_S *)send_opt;
+ switch(field)
+ {
+ case MSG_SEND_OPT_SETTING_BOOL:
sendopt->bSetting = value;
break;
- case MSG_SEND_OPT_KEEPCOPY_BOOL:
+ case MSG_SEND_OPT_KEEPCOPY_BOOL:
sendopt->bKeepCopy = value;
break;
- case MSG_SEND_OPT_DELIVER_REQ_BOOL:
+ case MSG_SEND_OPT_DELIVER_REQ_BOOL:
sendopt->bDeliverReq = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_sortrule_set_bool(void *sort_rule, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!sort_rule)
return MSG_ERR_NULL_POINTER;
@@ -2747,7 +2801,7 @@ int msg_sortrule_set_bool(void *sort_rule, int field, bool value)
int msg_list_condition_set_bool(void *data, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!data)
return MSG_ERR_NULL_POINTER;
@@ -2773,7 +2827,7 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -2799,7 +2853,7 @@ int msg_sendopt_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struc
int msg_syncml_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -2820,14 +2874,13 @@ int msg_syncml_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct
default:
err = MSG_ERR_UNKNOWN;
break;
-
}
return err;
}
int msg_thread_index_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -2844,7 +2897,6 @@ int msg_thread_index_set_struct_handle(msg_struct_s *msg_struct, int field, msg_
default:
err = MSG_ERR_UNKNOWN;
break;
-
}
return err;
}
@@ -2852,7 +2904,7 @@ int msg_thread_index_set_struct_handle(msg_struct_s *msg_struct, int field, msg_
int msg_list_condition_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struct_s *value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -2869,7 +2921,6 @@ int msg_list_condition_set_struct_handle(msg_struct_s *msg_struct, int field, ms
default:
err = MSG_ERR_UNKNOWN;
break;
-
}
return err;
}
@@ -2877,7 +2928,7 @@ int msg_list_condition_set_struct_handle(msg_struct_s *msg_struct, int field, ms
int msg_address_info_set_int(void *addrinfo, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!addrinfo)
return MSG_ERR_NULL_POINTER;
@@ -2895,7 +2946,7 @@ int msg_address_info_set_int(void *addrinfo, int field, int value)
break;
default:
err = MSG_ERR_UNKNOWN;
- break;
+ break;
}
return err;
@@ -2904,7 +2955,7 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!opt_info)
return MSG_ERR_NULL_POINTER;
@@ -2922,7 +2973,7 @@ int msg_mms_sendopt_set_int(void *opt_info, int field, int value)
break;
default:
err = MSG_ERR_UNKNOWN;
- break;
+ break;
}
return err;
@@ -2930,7 +2981,7 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_info)
return MSG_ERR_NULL_POINTER;
@@ -2945,7 +2996,7 @@ int msg_reject_message_set_int(void *msg_info, int field, int value)
break;
default:
err = MSG_ERR_UNKNOWN;
- break;
+ break;
}
return err;
@@ -2953,126 +3004,129 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!addr_info || !value)
return MSG_ERR_NULL_POINTER;
- MSG_ADDRESS_INFO_S *pAddr = (MSG_ADDRESS_INFO_S *)addr_info;
- int _len = 0;
-
- switch(field)
- {
- case MSG_ADDRESS_INFO_ADDRESS_VALUE_STR:
- (size > MAX_ADDRESS_VAL_LEN)? _len = MAX_ADDRESS_VAL_LEN : _len = size;
- memset(pAddr->addressVal, 0x00, sizeof(pAddr->addressVal));
+
+ MSG_ADDRESS_INFO_S *pAddr = (MSG_ADDRESS_INFO_S *)addr_info;
+ int _len = 0;
+
+ switch(field)
+ {
+ case MSG_ADDRESS_INFO_ADDRESS_VALUE_STR:
+ (size > MAX_ADDRESS_VAL_LEN)? _len = MAX_ADDRESS_VAL_LEN : _len = size;
+ memset(pAddr->addressVal, 0x00, sizeof(pAddr->addressVal));
strncpy(pAddr->addressVal, value, _len);
break;
- case MSG_ADDRESS_INFO_DISPLAYNAME_STR:
- (size > MAX_DISPLAY_NAME_LEN)? _len = MAX_DISPLAY_NAME_LEN : _len = size;
- memset(pAddr->displayName, 0x00, sizeof(pAddr->displayName));
+ case MSG_ADDRESS_INFO_DISPLAYNAME_STR:
+ (size > MAX_DISPLAY_NAME_LEN)? _len = MAX_DISPLAY_NAME_LEN : _len = size;
+ memset(pAddr->displayName, 0x00, sizeof(pAddr->displayName));
strncpy(pAddr->displayName, value, _len);
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_media_info_set_str(void *media_info, int field, char *value, int size)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!media_info || !value)
return MSG_ERR_NULL_POINTER;
+
MSG_MEDIA_INFO_S *pAddr = (MSG_MEDIA_INFO_S *)media_info;
- int _len = 0;
+ int _len = 0;
- switch(field)
- {
- case MSG_MEDIA_ITEM_STR:
- (size > MSG_FILEPATH_LEN_MAX)? _len = MSG_FILEPATH_LEN_MAX : _len = size;
- memset(pAddr->media_item, 0x00, sizeof(pAddr->media_item));
+ switch(field)
+ {
+ case MSG_MEDIA_ITEM_STR:
+ (size > MSG_FILEPATH_LEN_MAX)? _len = MSG_FILEPATH_LEN_MAX : _len = size;
+ memset(pAddr->media_item, 0x00, sizeof(pAddr->media_item));
strncpy(pAddr->media_item, value, _len);
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_reject_message_set_str(void *msg_info, int field, char *value, int size)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_info || !value)
return MSG_ERR_NULL_POINTER;
- MSG_REJECT_MSG_INFO_S *pMsg = (MSG_REJECT_MSG_INFO_S *)msg_info;
- int _len = 0;
- (size > MAX_MSG_TEXT_LEN)? _len = MAX_MSG_TEXT_LEN : _len = size;
- switch(field)
- {
- case MSG_REJECT_MESSAGE_MSGTEXT_STR:
+
+ MSG_REJECT_MSG_INFO_S *pMsg = (MSG_REJECT_MSG_INFO_S *)msg_info;
+ int _len = 0;
+ (size > MAX_MSG_TEXT_LEN)? _len = MAX_MSG_TEXT_LEN : _len = size;
+ switch(field)
+ {
+ case MSG_REJECT_MESSAGE_MSGTEXT_STR:
strncpy(pMsg->msgText, value, _len);
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_mms_sendopt_set_bool(void *option, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!option)
return MSG_ERR_NULL_POINTER;
- MMS_SENDINGOPT_S *pOpt = (MMS_SENDINGOPT_S *)option;
- switch(field)
- {
- case MSG_MMS_SENDOPTION_READ_REQUEST_BOOL:
+ MMS_SENDINGOPT_S *pOpt = (MMS_SENDINGOPT_S *)option;
+ switch(field)
+ {
+ case MSG_MMS_SENDOPTION_READ_REQUEST_BOOL:
pOpt->bReadReq = value;
break;
- case MSG_MMS_SENDOPTION_DELIVERY_CUSTOMTIME_BOOL:
+ case MSG_MMS_SENDOPTION_DELIVERY_CUSTOMTIME_BOOL:
pOpt->bUseDeliveryCustomTime = value;
break;
- default:
+ default:
err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_sms_sendopt_set_bool(void *option, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!option)
return MSG_ERR_NULL_POINTER;
- SMS_SENDINGOPT_S *pOpt = (SMS_SENDINGOPT_S *)option;
- switch(field)
- {
- case MSG_SMS_SENDOPT_REPLYPATH_BOOL:
+ SMS_SENDINGOPT_S *pOpt = (SMS_SENDINGOPT_S *)option;
+ switch(field)
+ {
+ case MSG_SMS_SENDOPT_REPLYPATH_BOOL:
pOpt->bReplyPath = value;
break;
- default:
- err = MSG_ERR_UNKNOWN;
+ default:
+ err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
EXPORT_API int msg_add_push_event(msg_handle_t handle, const msg_struct_t push_event)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -3085,6 +3139,7 @@ EXPORT_API int msg_add_push_event(msg_handle_t handle, const msg_struct_t push_e
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pPush = (msg_struct_s *)push_event;
+ MSG_TYPE_CHECK(pPush->type, MSG_STRUCT_PUSH_CONFIG_INFO);
try
{
@@ -3101,13 +3156,13 @@ EXPORT_API int msg_add_push_event(msg_handle_t handle, const msg_struct_t push_e
EXPORT_API int msg_delete_push_event(msg_handle_t handle, const msg_struct_t push_event)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -3120,6 +3175,7 @@ EXPORT_API int msg_delete_push_event(msg_handle_t handle, const msg_struct_t pus
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pPush = (msg_struct_s *)push_event;
+ MSG_TYPE_CHECK(pPush->type, MSG_STRUCT_PUSH_CONFIG_INFO);
try
{
@@ -3136,13 +3192,13 @@ EXPORT_API int msg_delete_push_event(msg_handle_t handle, const msg_struct_t pus
EXPORT_API int msg_update_push_event(msg_handle_t handle, const msg_struct_t src_event, const msg_struct_t dst_event)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -3155,7 +3211,10 @@ EXPORT_API int msg_update_push_event(msg_handle_t handle, const msg_struct_t src
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pSrc = (msg_struct_s *)src_event;
+ MSG_TYPE_CHECK(pSrc->type, MSG_STRUCT_PUSH_CONFIG_INFO);
+
msg_struct_s *pDst = (msg_struct_s *)dst_event;
+ MSG_TYPE_CHECK(pDst->type, MSG_STRUCT_PUSH_CONFIG_INFO);
try
{
@@ -3170,114 +3229,119 @@ EXPORT_API int msg_update_push_event(msg_handle_t handle, const msg_struct_t src
return err;
}
-char* msg_push_config_get_str(void *event_info, int field, int size)
+int msg_push_config_get_str(void *event_info, int field, char *value, int size)
{
- char *result = NULL;
MSG_PUSH_EVENT_INFO_S *pEvent = (MSG_PUSH_EVENT_INFO_S *)event_info;
switch(field)
{
- case MSG_PUSH_CONFIG_CONTENT_TYPE_STR:
- result = pEvent->contentType;
+ case MSG_PUSH_CONFIG_CONTENT_TYPE_STR:
+ strncpy(value, pEvent->contentType, size);
break;
- case MSG_PUSH_CONFIG_APPLICATON_ID_STR:
- result = pEvent->appId;
+ case MSG_PUSH_CONFIG_APPLICATON_ID_STR:
+ strncpy(value, pEvent->appId, size);
break;
- case MSG_PUSH_CONFIG_PACKAGE_NAME_STR:
- result = pEvent->pkgName;
+ case MSG_PUSH_CONFIG_PACKAGE_NAME_STR:
+ strncpy(value, pEvent->pkgName, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+
+ return MSG_SUCCESS;
}
-bool msg_push_config_get_bool(void *event_info, int field)
+int msg_push_config_get_bool(void *event_info, int field, bool *value)
{
- bool result = false;
+ if (!event_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_PUSH_EVENT_INFO_S *pEvent = (MSG_PUSH_EVENT_INFO_S *)event_info;
+
switch(field)
{
- case MSG_PUSH_CONFIG_LAUNCH_BOOL:
- result = pEvent->bLaunch;
+ case MSG_PUSH_CONFIG_LAUNCH_BOOL:
+ *value = pEvent->bLaunch;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+ return ret;
}
int msg_push_config_set_str(void *event_info, int field, char *value, int size)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!event_info || !value)
return MSG_ERR_NULL_POINTER;
- MSG_PUSH_EVENT_INFO_S *pEvent = (MSG_PUSH_EVENT_INFO_S *)event_info;
- int _len = 0;
- switch(field)
- {
- case MSG_PUSH_CONFIG_CONTENT_TYPE_STR:
- (size > MAX_WAPPUSH_CONTENT_TYPE_LEN)? _len = MAX_WAPPUSH_CONTENT_TYPE_LEN : _len = size;
+ MSG_PUSH_EVENT_INFO_S *pEvent = (MSG_PUSH_EVENT_INFO_S *)event_info;
+ int _len = 0;
+
+ switch(field)
+ {
+ case MSG_PUSH_CONFIG_CONTENT_TYPE_STR:
+ (size > MAX_WAPPUSH_CONTENT_TYPE_LEN)? _len = MAX_WAPPUSH_CONTENT_TYPE_LEN : _len = size;
strncpy(pEvent->contentType, value, _len);
break;
- case MSG_PUSH_CONFIG_APPLICATON_ID_STR:
- (size > MAX_WAPPUSH_ID_LEN)? _len = MAX_WAPPUSH_ID_LEN : _len = size;
+ case MSG_PUSH_CONFIG_APPLICATON_ID_STR:
+ (size > MAX_WAPPUSH_ID_LEN)? _len = MAX_WAPPUSH_ID_LEN : _len = size;
strncpy(pEvent->appId, value, _len);
break;
- case MSG_PUSH_CONFIG_PACKAGE_NAME_STR:
- (size > MSG_FILEPATH_LEN_MAX)? _len = MSG_FILEPATH_LEN_MAX : _len = size;
+ case MSG_PUSH_CONFIG_PACKAGE_NAME_STR:
+ (size > MSG_FILEPATH_LEN_MAX)? _len = MSG_FILEPATH_LEN_MAX : _len = size;
strncpy(pEvent->pkgName, value, _len);
break;
- default:
- err = MSG_ERR_UNKNOWN;
+ default:
+ err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
int msg_push_config_set_bool(void *event, int field, bool value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!event)
return MSG_ERR_NULL_POINTER;
MSG_PUSH_EVENT_INFO_S *pEvent = (MSG_PUSH_EVENT_INFO_S *)event;
- switch(field)
- {
- case MSG_PUSH_CONFIG_LAUNCH_BOOL:
- pEvent->bLaunch = value;
+ switch(field)
+ {
+ case MSG_PUSH_CONFIG_LAUNCH_BOOL:
+ pEvent->bLaunch = value;
break;
- default:
- err = MSG_ERR_UNKNOWN;
+ default:
+ err = MSG_ERR_UNKNOWN;
break;
- }
+ }
return err;
}
-char* msg_media_item_get_str(void *data, int field, int size)
+int msg_media_item_get_str(void *data, int field, char *value, int size)
{
- char *result = NULL;
MSG_MEDIA_INFO_S *pMedia = (MSG_MEDIA_INFO_S *)data;
switch(field)
{
case MSG_MEDIA_ITEM_STR:
- result = pMedia->media_item;
+ strncpy(value, pMedia->media_item, size);
break;
case MSG_MEDIA_MIME_TYPE_STR:
- result = pMedia->mime_type;
+ strncpy(value, pMedia->mime_type, size);
break;
case MSG_MEDIA_THUMB_PATH_STR:
- result = pMedia->thumb_path;
+ strncpy(value, pMedia->thumb_path, size);
break;
default:
- result = NULL;
- break;
+ return MSG_ERR_INVALID_PARAMETER;
}
- return result;
+
+ return MSG_SUCCESS;
}
int msg_media_item_get_int(void *data, int field, int *value)
@@ -3290,12 +3354,12 @@ int msg_media_item_get_int(void *data, int field, int *value)
MSG_MEDIA_INFO_S *pMedia = (MSG_MEDIA_INFO_S *)data;
switch (field) {
- case MSG_MEDIA_MESSAGE_ID_INT:
- *value = pMedia->msg_id;
- break;
- default :
- ret = MSG_ERR_INVALID_PARAMETER;
- break;
+ case MSG_MEDIA_MESSAGE_ID_INT:
+ *value = pMedia->msg_id;
+ break;
+ default :
+ ret = MSG_ERR_INVALID_PARAMETER;
+ break;
}
return ret;
diff --git a/mapi/msg_svc.cpp b/mapi/msg_svc.cpp
index 4a322ca..c36a3ad 100755
--- a/mapi/msg_svc.cpp
+++ b/mapi/msg_svc.cpp
@@ -26,12 +26,6 @@
#include "msg_private.h"
#include "msg.h"
-#define MSG_TYPE_CHECK(a, b) \
- ({\
- if(a != (b & 0xff00)) return MSG_ERR_INVALID_PARAMETER; \
- })\
-
-
void __msg_release_list_item(gpointer data)
{
if (data == NULL)
@@ -43,7 +37,7 @@ void __msg_release_list_item(gpointer data)
EXPORT_API msg_struct_t msg_create_struct(int field)
{
- CHECK_MSG_SUPPORTED_RETURN_NULL(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED_RETURN_NULL(MSG_TELEPHONY_SMS_FEATURE);
msg_struct_s *msg_struct = new msg_struct_s;
memset(msg_struct, 0x00, sizeof(msg_struct_s));
@@ -147,12 +141,6 @@ EXPORT_API msg_struct_t msg_create_struct(int field)
memset(msg_struct->data, 0x00, sizeof(MSG_FOLDER_INFO_S));
break;
}
- case MSG_STRUCT_SEARCH_CONDITION:
- {
- msg_struct->data = new MSG_SEARCH_CONDITION_S;
- memset(msg_struct->data, 0x00, sizeof(MSG_SEARCH_CONDITION_S));
- break;
- }
case MSG_STRUCT_MSG_LIST_CONDITION:
{
msg_struct->data = new MSG_LIST_CONDITION_S;
@@ -175,28 +163,30 @@ EXPORT_API msg_struct_t msg_create_struct(int field)
}
case MSG_STRUCT_SETTING_SMSC_OPT :
{
- msg_struct->data = new MSG_SMSC_LIST_HIDDEN_S;
- memset(msg_struct->data, 0x00, sizeof(MSG_SMSC_LIST_HIDDEN_S));
+ msg_struct->data = new MSG_SMSC_LIST_HIDDEN_S;
+ memset(msg_struct->data, 0x00, sizeof(MSG_SMSC_LIST_HIDDEN_S));
- MSG_SMSC_LIST_HIDDEN_S *pTmp = (MSG_SMSC_LIST_HIDDEN_S *)msg_struct->data;
- pTmp->simIndex = MSG_SIM_SLOT_ID_1; // default sim index
+ MSG_SMSC_LIST_HIDDEN_S *pTmp = (MSG_SMSC_LIST_HIDDEN_S *)msg_struct->data;
+ pTmp->simIndex = MSG_SIM_SLOT_ID_1; // default sim index
- msg_struct_list_s *smsc_list = (msg_struct_list_s *)new msg_struct_list_s;
- memset(smsc_list, 0x00, sizeof(msg_struct_list_s));
+ msg_struct_list_s *smsc_list = (msg_struct_list_s *)new msg_struct_list_s;
+ memset(smsc_list, 0x00, sizeof(msg_struct_list_s));
- pTmp->smsc_list = smsc_list;
+ pTmp->smsc_list = smsc_list;
- smsc_list->msg_struct_info = (msg_struct_t *)calloc(SMSC_LIST_MAX, sizeof(msg_struct_t));
+ smsc_list->msg_struct_info = (msg_struct_t *)calloc(SMSC_LIST_MAX, sizeof(msg_struct_t));
- msg_struct_s *pStructTmp = NULL;
+ if (smsc_list->msg_struct_info != NULL) {
+ msg_struct_s *pStructTmp = NULL;
- for (int i = 0; i < SMSC_LIST_MAX; i++) {
- pStructTmp = (msg_struct_s *)new msg_struct_s;
- pStructTmp->type = MSG_STRUCT_SETTING_SMSC_INFO;
- pStructTmp->data = new MSG_SMSC_DATA_S;
- memset(pStructTmp->data, 0x00, sizeof(MSG_SMSC_DATA_S));
- smsc_list->msg_struct_info[i] = (msg_struct_t)pStructTmp;
- }
+ for (int i = 0; i < SMSC_LIST_MAX; i++) {
+ pStructTmp = (msg_struct_s *)new msg_struct_s;
+ pStructTmp->type = MSG_STRUCT_SETTING_SMSC_INFO;
+ pStructTmp->data = new MSG_SMSC_DATA_S;
+ memset(pStructTmp->data, 0x00, sizeof(MSG_SMSC_DATA_S));
+ smsc_list->msg_struct_info[i] = (msg_struct_t)pStructTmp;
+ }
+ }
break;
}
case MSG_STRUCT_SETTING_SMSC_INFO :
@@ -207,28 +197,29 @@ EXPORT_API msg_struct_t msg_create_struct(int field)
}
case MSG_STRUCT_SETTING_CB_OPT :
{
- msg_struct->data = new MSG_CBMSG_OPT_HIDDEN_S;
- memset(msg_struct->data, 0x00, sizeof(MSG_CBMSG_OPT_HIDDEN_S));
-
- MSG_CBMSG_OPT_HIDDEN_S *pTmp = (MSG_CBMSG_OPT_HIDDEN_S *)msg_struct->data;
- pTmp->simIndex = MSG_SIM_SLOT_ID_1; // default sim index
+ msg_struct->data = new MSG_CBMSG_OPT_HIDDEN_S;
+ memset(msg_struct->data, 0x00, sizeof(MSG_CBMSG_OPT_HIDDEN_S));
- pTmp->channelData = (msg_struct_list_s *)new msg_struct_list_s;
- memset(pTmp->channelData, 0x00, sizeof(msg_struct_list_s));
+ MSG_CBMSG_OPT_HIDDEN_S *pTmp = (MSG_CBMSG_OPT_HIDDEN_S *)msg_struct->data;
+ pTmp->simIndex = MSG_SIM_SLOT_ID_1; // default sim index
- pTmp->channelData->msg_struct_info = (msg_struct_t *)calloc(CB_CHANNEL_MAX, sizeof(msg_struct_t));
+ pTmp->channelData = (msg_struct_list_s *)new msg_struct_list_s;
+ memset(pTmp->channelData, 0x00, sizeof(msg_struct_list_s));
- msg_struct_s *pStructTmp = NULL;
+ pTmp->channelData->msg_struct_info = (msg_struct_t *)calloc(CB_CHANNEL_MAX, sizeof(msg_struct_t));
- for (int i = 0; i < CB_CHANNEL_MAX; i++) {
- pStructTmp = (msg_struct_s *)new msg_struct_s;
- pStructTmp->type = MSG_STRUCT_SETTING_CB_CHANNEL_INFO;
- pStructTmp->data = new MSG_CB_CHANNEL_INFO_S;
+ if (pTmp->channelData->msg_struct_info != NULL) {
+ msg_struct_s *pStructTmp = NULL;
- memset(pStructTmp->data, 0x00, sizeof(MSG_CB_CHANNEL_INFO_S));
- pTmp->channelData->msg_struct_info[i] = (msg_struct_t)pStructTmp;
- }
+ for (int i = 0; i < CB_CHANNEL_MAX; i++) {
+ pStructTmp = (msg_struct_s *)new msg_struct_s;
+ pStructTmp->type = MSG_STRUCT_SETTING_CB_CHANNEL_INFO;
+ pStructTmp->data = new MSG_CB_CHANNEL_INFO_S;
+ memset(pStructTmp->data, 0x00, sizeof(MSG_CB_CHANNEL_INFO_S));
+ pTmp->channelData->msg_struct_info[i] = (msg_struct_t)pStructTmp;
+ }
+ }
break;
}
case MSG_STRUCT_SETTING_CB_CHANNEL_INFO :
@@ -239,8 +230,8 @@ EXPORT_API msg_struct_t msg_create_struct(int field)
}
case MSG_STRUCT_SETTING_SMS_SEND_OPT :
{
- msg_struct->data = new MSG_SMS_SENDOPT_S;
- memset(msg_struct->data, 0x00, sizeof(MSG_SMS_SENDOPT_S));
+ msg_struct->data = new MSG_SMS_SENDOPT_S;
+ memset(msg_struct->data, 0x00, sizeof(MSG_SMS_SENDOPT_S));
break;
}
case MSG_STRUCT_SETTING_MMS_SEND_OPT :
@@ -499,16 +490,6 @@ static int _release_msg_struct(msg_struct_t *msg_struct_handle)
break;
}
- case MSG_STRUCT_SEARCH_CONDITION:
- {
- delete (MSG_SEARCH_CONDITION_S*)(msg_struct->data);
- msg_struct->data = NULL;
-
- delete msg_struct;
- *msg_struct_handle = NULL;
-
- break;
- }
case MSG_STRUCT_MSG_LIST_CONDITION:
{
MSG_LIST_CONDITION_S *pCond = (MSG_LIST_CONDITION_S*)(msg_struct->data);
@@ -766,7 +747,7 @@ static int _release_msg_struct(msg_struct_t *msg_struct_handle)
EXPORT_API int msg_release_struct(msg_struct_t *msg_struct_handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
int ret = _release_msg_struct(msg_struct_handle);
@@ -778,7 +759,7 @@ EXPORT_API int msg_release_struct(msg_struct_t *msg_struct_handle)
EXPORT_API int msg_release_list_struct(msg_struct_list_s *msg_struct_list)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
if (msg_struct_list == NULL)
@@ -787,24 +768,12 @@ EXPORT_API int msg_release_list_struct(msg_struct_list_s *msg_struct_list)
if (msg_struct_list->msg_struct_info == NULL) {
if (msg_struct_list->nCount > 0)
msg_struct_list->nCount = 0;
- return err;
+ return MSG_ERR_NULL_POINTER;
}
if(msg_struct_list->nCount > 0) {
- int structType = ((msg_struct_s *)msg_struct_list->msg_struct_info[0])->type;
int listCnt = msg_struct_list->nCount;
- switch (structType)
- {
-// case MSG_STRUCT_ADDRESS_INFO :
-// {
-// listCnt = MAX_TO_ADDRESS_CNT;
-// break;
-// }
- default :
- break;
- }
-
for(int i = 0; i < listCnt; i++) {
_release_msg_struct(&(msg_struct_list->msg_struct_info[i]));
}
@@ -824,11 +793,10 @@ EXPORT_API int msg_release_list_struct(msg_struct_list_s *msg_struct_list)
EXPORT_API int msg_get_int_value(msg_struct_t msg_struct_handle, int field, int *value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
-
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -843,58 +811,55 @@ EXPORT_API int msg_get_int_value(msg_struct_t msg_struct_handle, int field, int
err = msg_message_get_int_value(msg_struct->data, field, value);
break;
case MSG_STRUCT_FILTER:
- *value = msg_get_filter_info_int(msg_struct->data, field);
+ err = msg_get_filter_info_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SYNCML_INFO :
- *value = msg_syncml_info_get_int(msg_struct->data, field);
+ err = msg_syncml_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_COUNT_INFO :
- *value = msg_count_info_get_int(msg_struct->data, field);
+ err = msg_count_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_THREAD_COUNT_INFO :
- *value = msg_thread_count_get_int(msg_struct->data, field);
+ err = msg_thread_count_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_THREAD_LIST_INDEX :
- *value = msg_thread_index_get_int(msg_struct->data, field);
+ err = msg_thread_index_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SORT_RULE :
- *value = msg_sortrule_get_int(msg_struct->data, field);
+ err = msg_sortrule_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_FOLDER_INFO :
- *value = msg_folder_info_get_int(msg_struct->data, field);
+ err = msg_folder_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_THREAD_INFO :
- *value = msg_thread_info_get_int(msg_struct->data, field);
+ err = msg_thread_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_CONV_INFO :
- *value = msg_conv_info_get_int(msg_struct->data, field);
- break;
- case MSG_STRUCT_SEARCH_CONDITION :
- *value = msg_search_condition_get_int(msg_struct->data, field);
+ err = msg_conv_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_MSG_LIST_CONDITION :
- *value = msg_list_condition_get_int(msg_struct->data, field);
+ err = msg_list_condition_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_REPORT_STATUS_INFO :
- *value = msg_report_status_get_int(msg_struct->data, field);
+ err = msg_report_status_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_ADDRESS_INFO :
- *value = msg_address_info_get_int(msg_struct->data, field);
+ err = msg_address_info_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_MMS_SENDOPT :
- *value = msg_mms_sendopt_get_int(msg_struct->data, field);
+ err = msg_mms_sendopt_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_REJECT_MSG_INFO :
- *value = msg_reject_message_get_int(msg_struct->data, field);
+ err = msg_reject_message_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_REQUEST_INFO :
- *value = msg_request_get_int(msg_struct->data, field);
+ err = msg_request_get_int(msg_struct->data, field, value);
break;
case MSG_STRUCT_SENT_STATUS_INFO :
- *value = msg_sent_status_get_int((MSG_SENT_STATUS_S *)msg_struct->data, field);
+ err = msg_sent_status_get_int((MSG_SENT_STATUS_S *)msg_struct->data, field, value);
break;
case MSG_STRUCT_CB_MSG :
- err = msg_cb_message_get_int_value (msg_struct->data, field, value);
+ err = msg_cb_message_get_int_value(msg_struct->data, field, value);
break;
case MSG_STRUCT_MMS:
case MSG_STRUCT_MMS_PAGE:
@@ -932,90 +897,52 @@ EXPORT_API int msg_get_int_value(msg_struct_t msg_struct_handle, int field, int
return err;
}
-EXPORT_API int msg_get_str_value(msg_struct_t msg_struct_handle, int field, char *src, int size)
+EXPORT_API int msg_get_str_value(msg_struct_t msg_struct_handle, int field, char *value, int size)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
+ if (size < 0)
+ return MSG_ERR_INVALID_PARAMETER;
+
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
if (msg_struct->data == NULL)
return MSG_ERR_NULL_POINTER;
- char *ret_str = NULL;
-
switch (msg_struct->type)
{
case MSG_STRUCT_MESSAGE_INFO :
- err = msg_message_get_str_value(msg_struct->data, field, src, size);
+ err = msg_message_get_str_value(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_FILTER:
- ret_str = msg_get_filter_info_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_get_filter_info_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_FOLDER_INFO :
- ret_str = msg_folder_info_get_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_folder_info_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_THREAD_INFO :
- ret_str = msg_thread_info_get_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_thread_info_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_CONV_INFO :
- ret_str = msg_conv_info_get_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
- break;
- case MSG_STRUCT_SEARCH_CONDITION :
- ret_str = msg_search_condition_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_conv_info_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_MSG_LIST_CONDITION :
- ret_str = msg_list_condition_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_list_condition_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_ADDRESS_INFO :
- ret_str = msg_address_info_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_address_info_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_REJECT_MSG_INFO :
- ret_str = msg_reject_message_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_reject_message_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_MEDIA_INFO :
- ret_str = msg_media_item_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_media_item_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_MMS:
case MSG_STRUCT_MMS_PAGE:
@@ -1027,30 +954,22 @@ EXPORT_API int msg_get_str_value(msg_struct_t msg_struct_handle, int field, char
case MSG_STRUCT_MMS_SMIL_TEXT:
case MSG_STRUCT_MMS_SMIL_AVI:
case MSG_STRUCT_MULTIPART_INFO:
- err = msg_mms_get_str_value(msg_struct, field, src, size);
+ err = msg_mms_get_str_value(msg_struct, field, value, size);
break;
case MSG_STRUCT_SETTING_GENERAL_OPT :
case MSG_STRUCT_SETTING_SMSC_INFO :
case MSG_STRUCT_SETTING_CB_CHANNEL_INFO :
case MSG_STRUCT_SETTING_VOICE_MSG_OPT :
- err = msg_setting_get_str_value(msg_struct, field, src, size);
+ err = msg_setting_get_str_value(msg_struct, field, value, size);
break;
case MSG_STRUCT_PUSH_CONFIG_INFO :
- ret_str = msg_push_config_get_str(msg_struct->data, field, size);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_push_config_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_REPORT_STATUS_INFO:
- ret_str = msg_report_status_get_str(msg_struct->data, field);
- if (ret_str == NULL)
- err = MSG_ERR_UNKNOWN;
- else
- strncpy(src, ret_str, size);
+ err = msg_report_status_get_str(msg_struct->data, field, value, size);
break;
case MSG_STRUCT_CB_MSG :
- err = msg_cb_message_get_str_value(msg_struct->data, field, src, size);
+ err = msg_cb_message_get_str_value(msg_struct->data, field, value, size);
break;
default :
err = MSG_ERR_INVALID_PARAMETER;
@@ -1062,10 +981,10 @@ EXPORT_API int msg_get_str_value(msg_struct_t msg_struct_handle, int field, char
EXPORT_API int msg_get_bool_value(msg_struct_t msg_struct_handle, int field, bool *value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -1076,31 +995,31 @@ EXPORT_API int msg_get_bool_value(msg_struct_t msg_struct_handle, int field, boo
switch (msg_struct->type)
{
case MSG_STRUCT_FILTER :
- *value = msg_get_filter_info_bool(msg_struct->data, field);
+ err = msg_get_filter_info_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_MESSAGE_INFO :
err = msg_message_get_bool_value(msg_struct->data, field, value);
break;
case MSG_STRUCT_THREAD_INFO :
- *value = msg_thread_info_get_bool(msg_struct->data, field);
+ err = msg_thread_info_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_CONV_INFO:
- *value = msg_conv_get_bool(msg_struct->data, field);
+ err = msg_conv_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SENDOPT:
- *value = msg_sendopt_get_bool(msg_struct->data, field);
+ err = msg_sendopt_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SORT_RULE:
- *value = msg_sortrule_get_bool(msg_struct->data, field);
+ err = msg_sortrule_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_MSG_LIST_CONDITION:
- *value = msg_list_condition_get_bool(msg_struct->data, field);
+ err = msg_list_condition_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_MMS_SENDOPT:
- *value = msg_mms_sendopt_get_bool(msg_struct->data, field);
+ err = msg_mms_sendopt_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_SMS_SENDOPT:
- *value = msg_sms_sendopt_get_bool(msg_struct->data, field);
+ err = msg_sms_sendopt_get_bool(msg_struct->data, field, value);
break;
case MSG_STRUCT_MMS:
case MSG_STRUCT_MMS_PAGE:
@@ -1122,6 +1041,9 @@ EXPORT_API int msg_get_bool_value(msg_struct_t msg_struct_handle, int field, boo
case MSG_STRUCT_SETTING_GENERAL_OPT :
err = msg_setting_get_bool_value(msg_struct, field, value);
break;
+ case MSG_STRUCT_PUSH_CONFIG_INFO:
+ err = msg_push_config_get_bool(msg_struct->data, field, value);
+ break;
default :
err = MSG_ERR_INVALID_PARAMETER;
break;
@@ -1132,10 +1054,10 @@ EXPORT_API int msg_get_bool_value(msg_struct_t msg_struct_handle, int field, boo
EXPORT_API int msg_get_struct_handle(msg_struct_t msg_struct_handle, int field, msg_struct_t *value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -1176,10 +1098,10 @@ EXPORT_API int msg_get_struct_handle(msg_struct_t msg_struct_handle, int field,
EXPORT_API int msg_get_list_handle(msg_struct_t msg_struct_handle, int field, void **value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -1213,7 +1135,7 @@ EXPORT_API int msg_get_list_handle(msg_struct_t msg_struct_handle, int field, vo
EXPORT_API int msg_set_int_value(msg_struct_t msg_struct_handle, int field, int value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
if (msg_struct_handle == NULL)
@@ -1250,9 +1172,6 @@ EXPORT_API int msg_set_int_value(msg_struct_t msg_struct_handle, int field, int
case MSG_STRUCT_FOLDER_INFO :
err = msg_folder_info_set_int(msg_struct->data, field, value);
break;
- case MSG_STRUCT_SEARCH_CONDITION :
- err = msg_search_condition_set_int(msg_struct->data, field, value);
- break;
case MSG_STRUCT_MSG_LIST_CONDITION :
err = msg_list_condition_set_int(msg_struct->data, field, value);
break;
@@ -1305,12 +1224,15 @@ EXPORT_API int msg_set_int_value(msg_struct_t msg_struct_handle, int field, int
EXPORT_API int msg_set_str_value(msg_struct_t msg_struct_handle, int field, char *value, int size)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
+ if (size < 0)
+ return MSG_ERR_INVALID_PARAMETER;
+
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
if (msg_struct->data == NULL)
@@ -1327,9 +1249,6 @@ EXPORT_API int msg_set_str_value(msg_struct_t msg_struct_handle, int field, char
case MSG_STRUCT_FOLDER_INFO :
err = msg_folder_info_set_str(msg_struct->data, field, value, size);
break;
- case MSG_STRUCT_SEARCH_CONDITION :
- err = msg_search_condition_set_str(msg_struct->data, field, value, size);
- break;
case MSG_STRUCT_MSG_LIST_CONDITION :
err = msg_list_condition_set_str(msg_struct->data, field, value, size);
break;
@@ -1373,7 +1292,7 @@ EXPORT_API int msg_set_str_value(msg_struct_t msg_struct_handle, int field, char
EXPORT_API int msg_set_bool_value(msg_struct_t msg_struct_handle, int field, bool value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
if (msg_struct_handle == NULL)
@@ -1440,10 +1359,10 @@ EXPORT_API int msg_set_bool_value(msg_struct_t msg_struct_handle, int field, boo
EXPORT_API int msg_set_struct_handle(msg_struct_t msg_struct_handle, int field, msg_struct_t value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -1484,10 +1403,10 @@ EXPORT_API int msg_set_struct_handle(msg_struct_t msg_struct_handle, int field,
EXPORT_API int msg_set_list_handle(msg_struct_t msg_struct_handle, int field, void *value)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_struct_handle == NULL)
+ if (msg_struct_handle == NULL || value == NULL)
return MSG_ERR_NULL_POINTER;
msg_struct_s *msg_struct = (msg_struct_s *) msg_struct_handle;
@@ -1509,7 +1428,7 @@ EXPORT_API int msg_set_list_handle(msg_struct_t msg_struct_handle, int field, vo
EXPORT_API int msg_list_add_item(msg_struct_t msg_struct_handle, int field, msg_struct_t *item)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
if (msg_struct_handle == NULL || item == NULL) {
return MSG_ERR_NULL_POINTER;
}
@@ -1539,7 +1458,7 @@ EXPORT_API int msg_list_add_item(msg_struct_t msg_struct_handle, int field, msg_
EXPORT_API msg_struct_t msg_list_nth_data(msg_list_handle_t list_handle, int index)
{
- CHECK_MSG_SUPPORTED_RETURN_NULL(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED_RETURN_NULL(MSG_TELEPHONY_SMS_FEATURE);
if (list_handle == NULL) {
return NULL;
}
@@ -1549,7 +1468,7 @@ EXPORT_API msg_struct_t msg_list_nth_data(msg_list_handle_t list_handle, int ind
EXPORT_API int msg_list_length(msg_list_handle_t list_handle)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
if (list_handle == NULL) {
return 0;
}
@@ -1559,7 +1478,7 @@ EXPORT_API int msg_list_length(msg_list_handle_t list_handle)
EXPORT_API int msg_list_clear(msg_struct_t msg_struct_handle, int field)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
if (msg_struct_handle == NULL) {
return MSG_ERR_NULL_POINTER;
}
@@ -1587,15 +1506,35 @@ EXPORT_API int msg_list_clear(msg_struct_t msg_struct_handle, int field)
return err;
}
+EXPORT_API int msg_list_free(msg_list_handle_t list_handle)
+{
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ if (list_handle == NULL) {
+ return MSG_ERR_NULL_POINTER;
+ }
+
+ g_list_free_full((GList *)list_handle, __msg_release_list_item);
+ list_handle = NULL;
+
+ return MSG_SUCCESS;
+}
+
EXPORT_API 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)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
msg_error_t err = MSG_SUCCESS;
- if (msg_text == NULL || text_size == NULL || segment_size == NULL) {
- err = MSG_ERR_INVALID_PARAMETER;
- return err;
+ if (msg_text == NULL || text_size == NULL || segment_size == NULL || msg_encode_type_in == NULL) {
+ return MSG_ERR_INVALID_PARAMETER;
+ }
+#ifdef FEATURE_SMS_CDMA
+ if (msg_encode_type_to > MSG_ENCODE_ASCII7BIT) {
+#else
+ if (msg_encode_type_to > MSG_ENCODE_GSM7BIT_ABNORMAL) {
+#endif
+ MSG_FATAL("unsupported msg_encode_type [%d]", msg_encode_type_to);
+ return MSG_ERR_INVALID_PARAMETER;
}
msg_encode_type_t encodeType = MSG_ENCODE_AUTO;
diff --git a/mapi/msg_transport.cpp b/mapi/msg_transport.cpp
index c77b6fe..27af80f 100755
--- a/mapi/msg_transport.cpp
+++ b/mapi/msg_transport.cpp
@@ -32,18 +32,18 @@
==================================================================================================*/
EXPORT_API int msg_submit_req(msg_handle_t handle, msg_struct_t req)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL ||req == NULL)
+ if (handle == NULL || req == NULL)
{
return MSG_ERR_INVALID_PARAMETER;
}
@@ -51,6 +51,7 @@ EXPORT_API int msg_submit_req(msg_handle_t handle, msg_struct_t req)
MsgHandle* pHandle = (MsgHandle*)handle;
msg_struct_s *pStruct = (msg_struct_s *)req;
+ MSG_TYPE_CHECK(pStruct->type, MSG_STRUCT_REQUEST_INFO);
try
{
@@ -68,13 +69,13 @@ EXPORT_API int msg_submit_req(msg_handle_t handle, msg_struct_t req)
EXPORT_API int msg_reg_sent_status_callback(msg_handle_t handle, msg_sent_status_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -105,13 +106,13 @@ EXPORT_API int msg_reg_sent_status_callback(msg_handle_t handle, msg_sent_status
EXPORT_API int msg_reg_sms_message_callback(msg_handle_t handle, msg_sms_incoming_cb cb, unsigned short port, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -143,12 +144,12 @@ EXPORT_API int msg_reg_sms_message_callback(msg_handle_t handle, msg_sms_incomin
EXPORT_API 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)
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -184,13 +185,13 @@ EXPORT_API int msg_reg_mms_conf_message_callback(msg_handle_t handle, msg_mms_co
EXPORT_API int msg_reg_syncml_message_callback(msg_handle_t handle, msg_syncml_msg_incoming_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -221,13 +222,13 @@ EXPORT_API int msg_reg_syncml_message_callback(msg_handle_t handle, msg_syncml_
EXPORT_API int msg_reg_lbs_message_callback(msg_handle_t handle, msg_lbs_msg_incoming_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -258,13 +259,13 @@ EXPORT_API int msg_reg_lbs_message_callback(msg_handle_t handle, msg_lbs_msg_inc
EXPORT_API int msg_reg_syncml_message_operation_callback(msg_handle_t handle, msg_syncml_msg_operation_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -295,13 +296,13 @@ EXPORT_API int msg_reg_syncml_message_operation_callback(msg_handle_t handle, m
EXPORT_API int msg_reg_push_message_callback(msg_handle_t handle, msg_push_msg_incoming_cb cb, const char *app_id, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -336,13 +337,13 @@ EXPORT_API int msg_reg_push_message_callback(msg_handle_t handle, msg_push_msg_
EXPORT_API int msg_reg_cb_message_callback(msg_handle_t handle, msg_cb_incoming_cb cb, bool bsave, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -373,13 +374,13 @@ EXPORT_API int msg_reg_cb_message_callback(msg_handle_t handle, msg_cb_incoming_
EXPORT_API int msg_reg_report_message_callback(msg_handle_t handle, msg_report_msg_incoming_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -408,15 +409,15 @@ EXPORT_API int msg_reg_report_message_callback(msg_handle_t handle, msg_report_m
}
-EXPORT_API int msg_syncml_message_operation(msg_handle_t handle, msg_message_id_t msgId)
+EXPORT_API int msg_syncml_message_operation(msg_handle_t handle, msg_message_id_t msgId)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_READ_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -518,12 +519,17 @@ static int msg_send_single_sms(const char *phone_num, const char *sms_text, msg_
addr_list.nCount = 1;
addr_list.msg_struct_info = (msg_struct_t *)calloc(1, sizeof(msg_struct_t));
- addr_list.msg_struct_info[0] = (msg_struct_t)new msg_struct_s;
-
- msg_struct_s *pTmp;
- pTmp = (msg_struct_s *)addr_list.msg_struct_info[0];
- pTmp->type = MSG_STRUCT_ADDRESS_INFO;
- pTmp->data = &address;
+ if (addr_list.msg_struct_info) {
+ addr_list.msg_struct_info[0] = (msg_struct_t)new msg_struct_s;
+ msg_struct_s *pTmp;
+ pTmp = (msg_struct_s *)addr_list.msg_struct_info[0];
+ pTmp->type = MSG_STRUCT_ADDRESS_INFO;
+ pTmp->data = &address;
+ } else {
+ MSG_ERR("Memory error");
+ msg_close_msg_handle(&msgHandle);
+ return MSG_ERR_MEMORY_ERROR;
+ }
msg_info.addr_list = (msg_struct_list_s *)&addr_list;
@@ -585,11 +591,11 @@ static int msg_send_single_sms(const char *phone_num, const char *sms_text, msg_
EXPORT_API int msg_sms_send(const char *phone_num_list, const char *sms_text, msg_simple_sent_status_cb cb, void *user_param)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -602,13 +608,14 @@ EXPORT_API int msg_sms_send(const char *phone_num_list, const char *sms_text, ms
char trimmed_num[strlen(phone_num_list)+1];
bzero(trimmed_num, strlen(phone_num_list)+1);
+ char *temp = NULL;
msg_error_t retVal = msg_verify_number(phone_num_list, trimmed_num);
if ( retVal != MSG_SUCCESS )
return retVal;
- for( char* cur_num = strtok(trimmed_num,", "); cur_num ; cur_num = strtok(NULL,", "))
+ for( char* cur_num = strtok_r(trimmed_num,", ", &temp); cur_num ; cur_num = strtok_r(NULL,", ", &temp))
{
if (strlen(cur_num) > MAX_PHONE_NUMBER_LEN)
{
@@ -630,28 +637,32 @@ EXPORT_API int msg_sms_send(const char *phone_num_list, const char *sms_text, ms
EXPORT_API int msg_sms_send_message(msg_handle_t handle, msg_struct_t req)
{
- CHECK_MSG_SUPPORTED(MSG_TELEPHONY_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ CHECK_MSG_SUPPORTED(MSG_TELEPHONY_SMS_FEATURE);
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !req) {
+ if (handle == NULL || req == NULL)
+ {
MSG_FATAL("handle or req is NULL");
- return MSG_ERR_NULL_POINTER;
+ return MSG_ERR_INVALID_PARAMETER;
}
msg_struct_s *req_s = (msg_struct_s *)req;
+ MSG_TYPE_CHECK(req_s->type, MSG_STRUCT_REQUEST_INFO);
+
MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
pReq->reqId = 1;
msg_struct_s *msg_s = (msg_struct_s *)pReq->msg;
+ MSG_TYPE_CHECK(msg_s->type, MSG_STRUCT_MESSAGE_INFO);
MSG_MESSAGE_HIDDEN_S *reqmsg = (MSG_MESSAGE_HIDDEN_S*)msg_s->data;
@@ -661,13 +672,13 @@ EXPORT_API int msg_sms_send_message(msg_handle_t handle, msg_struct_t req)
}
if (reqmsg->mainType != MSG_SMS_TYPE) {
- MSG_DEBUG("mainType is not SMS [%d]", reqmsg->mainType);
- reqmsg->mainType = MSG_SMS_TYPE;
+ MSG_FATAL("mainType is not SMS [%d]", reqmsg->mainType);
+ return MSG_ERR_INVALID_PARAMETER;
}
if (reqmsg->subType > MSG_CONCAT_SIM_SMS) {
- MSG_DEBUG("subType is not SMS [%d]", reqmsg->subType);
- reqmsg->subType = MSG_NORMAL_SMS;
+ MSG_FATAL("subType is not SMS [%d]", reqmsg->subType);
+ return MSG_ERR_INVALID_PARAMETER;
}
reqmsg->folderId = MSG_OUTBOX_ID; // outbox fixed
@@ -689,28 +700,31 @@ EXPORT_API int msg_sms_send_message(msg_handle_t handle, msg_struct_t req)
EXPORT_API int msg_mms_send_message(msg_handle_t handle, msg_struct_t req)
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !req)
+ if (handle == NULL || req == NULL)
{
MSG_FATAL("handle or req is NULL");
return MSG_ERR_INVALID_PARAMETER;
}
msg_struct_s *req_s = (msg_struct_s *)req;
+ MSG_TYPE_CHECK(req_s->type, MSG_STRUCT_REQUEST_INFO);
+
MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
pReq->reqId = 1;
msg_struct_s *msg_s = (msg_struct_s *)pReq->msg;
+ MSG_TYPE_CHECK(msg_s->type, MSG_STRUCT_MESSAGE_INFO);
MSG_MESSAGE_HIDDEN_S *reqmsg = (MSG_MESSAGE_HIDDEN_S*)msg_s->data;
@@ -744,7 +758,7 @@ EXPORT_API int msg_mms_send_read_report(msg_handle_t handle, msg_message_id_t ms
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
@@ -754,7 +768,15 @@ EXPORT_API int msg_mms_send_read_report(msg_handle_t handle, msg_message_id_t ms
return MSG_ERR_INVALID_PARAMETER;
}
+ if (mms_read_status < MSG_READ_REPORT_NONE || mms_read_status > MSG_READ_REPORT_REJECT_BY_USER)
+ {
+ MSG_FATAL("unsupported read report status [%d]", mms_read_status);
+ return MSG_ERR_INVALID_PARAMETER;
+ }
+
msg_struct_t req_t = msg_create_struct(MSG_STRUCT_REQUEST_INFO);
+ if (req_t == NULL)
+ return MSG_ERR_NOT_SUPPORTED;
msg_struct_s *req_s = (msg_struct_s *)req_t;
MSG_REQUEST_S *req = (MSG_REQUEST_S *)req_s->data;
@@ -803,28 +825,30 @@ EXPORT_API int msg_mms_send_read_report(msg_handle_t handle, msg_message_id_t ms
EXPORT_API int msg_mms_forward_message(msg_handle_t handle, msg_struct_t req)
{
CHECK_MSG_SUPPORTED(MSG_TELEPHONY_MMS_FEATURE);
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !req )
+ if (handle == NULL || req == NULL )
{
MSG_FATAL("handle or req is NULL");
return MSG_ERR_INVALID_PARAMETER;
}
msg_struct_s *req_s = (msg_struct_s *)req;
- MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
+ MSG_TYPE_CHECK(req_s->type, MSG_STRUCT_REQUEST_INFO);
+ MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
pReq->reqId = 1;
msg_struct_s *msg_s = (msg_struct_s *)pReq->msg;
+ MSG_TYPE_CHECK(msg_s->type, MSG_STRUCT_MESSAGE_INFO);
MSG_MESSAGE_HIDDEN_S *reqmsg = (MSG_MESSAGE_HIDDEN_S*)msg_s->data;
@@ -852,21 +876,25 @@ EXPORT_API int msg_mms_retrieve_message(msg_handle_t handle, msg_struct_t req)
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if ( handle == NULL|| !req)
+ if (handle == NULL || req == NULL)
{
MSG_FATAL("handle or req is NULL");
return MSG_ERR_INVALID_PARAMETER;
}
msg_struct_s *req_s = (msg_struct_s *)req;
+ MSG_TYPE_CHECK(req_s->type, MSG_STRUCT_REQUEST_INFO);
+
MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
msg_struct_s *msg_s = (msg_struct_s *)pReq->msg;
+ MSG_TYPE_CHECK(msg_s->type, MSG_STRUCT_MESSAGE_INFO);
+
MSG_MESSAGE_HIDDEN_S *reqmsg = (MSG_MESSAGE_HIDDEN_S*)msg_s->data;
reqmsg->mainType = MSG_MMS_TYPE;
@@ -894,21 +922,25 @@ EXPORT_API int msg_mms_reject_message(msg_handle_t handle, msg_struct_t req)
//Privilege check
int ret = PRIV_MGR_ERROR_SUCCESS;
ret = privacy_checker_check_by_privilege(MSG_SERVICE_WRITE_PRIV_NAME);
- if(ret != PRIV_MGR_ERROR_SUCCESS)
+ if (ret != PRIV_MGR_ERROR_SUCCESS)
{
return MSG_ERR_PERMISSION_DENIED;
}
- if (handle == NULL || !req )
+ if (handle == NULL || req == NULL)
{
MSG_FATAL("handle or req is NULL");
return MSG_ERR_INVALID_PARAMETER;
}
msg_struct_s *req_s = (msg_struct_s *)req;
+ MSG_TYPE_CHECK(req_s->type, MSG_STRUCT_REQUEST_INFO);
+
MSG_REQUEST_S *pReq = (MSG_REQUEST_S *)req_s->data;
msg_struct_s *msg_s = (msg_struct_s *)pReq->msg;
+ MSG_TYPE_CHECK(msg_s->type, MSG_STRUCT_MESSAGE_INFO);
+
MSG_MESSAGE_HIDDEN_S *reqmsg = (MSG_MESSAGE_HIDDEN_S*)msg_s->data;
reqmsg->mainType = MSG_MMS_TYPE;
@@ -928,26 +960,33 @@ EXPORT_API int msg_mms_reject_message(msg_handle_t handle, msg_struct_t req)
/* reject_msg_support */
-int msg_request_get_int(void *request_info, int field)
+int msg_request_get_int(void *request_info, int field, int *value)
{
- int result = -1;
+ if (!request_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
+
MSG_REQUEST_S *pRequest = (MSG_REQUEST_S *)request_info;
+
switch(field)
{
case MSG_REQUEST_REQUESTID_INT:
- result = pRequest->reqId;
+ *value = pRequest->reqId;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}
int msg_request_get_struct_handle(msg_struct_s *msg_struct, int field, void **value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -971,7 +1010,7 @@ int msg_request_get_struct_handle(msg_struct_s *msg_struct, int field, void **va
int msg_request_set_int(void *request_info, int field, int value)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!request_info)
return MSG_ERR_NULL_POINTER;
@@ -983,7 +1022,7 @@ int msg_request_set_int(void *request_info, int field, int value)
break;
default:
err = MSG_ERR_UNKNOWN;
- break;
+ break;
}
return err;
@@ -991,7 +1030,7 @@ 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)
{
- msg_error_t err = MSG_SUCCESS;
+ msg_error_t err = MSG_SUCCESS;
if(!msg_struct || !value)
return MSG_ERR_NULL_POINTER;
@@ -1040,20 +1079,25 @@ int msg_request_set_struct_handle(msg_struct_s *msg_struct, int field, msg_struc
}
-int msg_sent_status_get_int(MSG_SENT_STATUS_S *sent_status_info, int field)
+int msg_sent_status_get_int(MSG_SENT_STATUS_S *sent_status_info, int field, int *value)
{
- int result = -1;
+ if (!sent_status_info)
+ return MSG_ERR_NULL_POINTER;
+
+ int ret = MSG_SUCCESS;
switch(field)
{
case MSG_SENT_STATUS_REQUESTID_INT:
- result = sent_status_info->reqId;
+ *value = sent_status_info->reqId;
break;
case MSG_SENT_STATUS_NETWORK_STATUS_INT:
- result = sent_status_info->status;
+ *value = sent_status_info->status;
break;
default:
+ ret = MSG_ERR_INVALID_PARAMETER;
break;
}
- return result;
+
+ return ret;
}