summaryrefslogtreecommitdiff
path: root/src/messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages.c')
-rwxr-xr-xsrc/messages.c124
1 files changed, 58 insertions, 66 deletions
diff --git a/src/messages.c b/src/messages.c
index 2b62a85..3f263f5 100755
--- a/src/messages.c
+++ b/src/messages.c
@@ -22,7 +22,9 @@
#include <memory.h>
#include <glib.h>
-#include <dlog.h>
+
+#include <privacy_checker_client.h>
+
#include <msg.h>
#include <msg_transport.h>
#include <msg_storage.h>
@@ -31,15 +33,6 @@
#include <messages_types.h>
#include <messages_private.h>
-#include <privacy_checker_client.h>
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-#define LOG_TAG "CAPI_MESSAGING"
-#define DBG_MODE (1)
-
-#define MAX_MESSAGES_TEXT_LEN 1530
/* Private Utility Functions */
int _messages_get_media_type_from_filepath(const char *filepath);
@@ -52,7 +45,7 @@ int _messages_check_feature(char *feature_name);
int messages_open_service(messages_service_h *svc)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
messages_service_s *_svc;
@@ -73,20 +66,20 @@ int messages_open_service(messages_service_h *svc)
_svc->push_incoming_cb_list = NULL;
ret = msg_open_msg_handle(&_svc->service_h);
- if (MSG_SUCCESS != ret) {
- free(_svc);
- return ERROR_CONVERT(ret);
- }
+ if (MSG_SUCCESS != ret)
+ goto ERR_RET;
ret = msg_reg_sent_status_callback(_svc->service_h, &_messages_sent_mediator_cb, (void*)_svc);
- if (MSG_SUCCESS != ret) {
- free(_svc);
- return ERROR_CONVERT(ret);
- }
+ if (MSG_SUCCESS != ret)
+ goto ERR_RET;
*svc = (messages_service_h)_svc;
return MESSAGES_ERROR_NONE;
+
+ERR_RET:
+ free(_svc);
+ return ERROR_CONVERT(ret);
}
void _free_push_incoming_cb(messages_push_incoming_callback_s *cb)
@@ -101,7 +94,7 @@ void _free_push_incoming_cb(messages_push_incoming_callback_s *cb)
int messages_close_service(messages_service_h svc)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
@@ -129,7 +122,7 @@ int messages_close_service(messages_service_h svc)
int messages_create_message(messages_message_type_e type, messages_message_h *msg)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
messages_message_s *_msg = NULL;
@@ -160,28 +153,17 @@ int messages_create_message(messages_message_type_e type, messages_message_h *ms
{
ret = ERROR_CONVERT(msg_set_int_value(_msg->msg_h, MSG_MESSAGE_TYPE_INT, MSG_TYPE_SMS));
if (MESSAGES_ERROR_NONE != ret)
- {
- msg_release_struct(&_msg->msg_h);
- free(_msg);
- return ret;
- }
+ goto ERR_RET;
}
else if (MESSAGES_TYPE_MMS == type)
{
ret = _messages_check_feature(MESSAGES_TELEPHONY_MMS_FEATURE);
- if (MESSAGES_ERROR_NONE != ret) {
- msg_release_struct(&_msg->msg_h);
- free(_msg);
- return ret;
- }
+ if (MESSAGES_ERROR_NONE != ret)
+ goto ERR_RET;
ret = ERROR_CONVERT(msg_set_int_value(_msg->msg_h, MSG_MESSAGE_TYPE_INT, MSG_TYPE_MMS));
if (MESSAGES_ERROR_NONE != ret)
- {
- msg_release_struct(&_msg->msg_h);
- free(_msg);
- return ret;
- }
+ goto ERR_RET;
}
else
{
@@ -195,11 +177,16 @@ int messages_create_message(messages_message_type_e type, messages_message_h *ms
*msg = (messages_message_h)_msg;
return MESSAGES_ERROR_NONE;
+
+ERR_RET:
+ msg_release_struct(&_msg->msg_h);
+ free(_msg);
+ return ret;
}
int messages_destroy_message(messages_message_h msg)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
@@ -223,7 +210,7 @@ int messages_destroy_message(messages_message_h msg)
int messages_get_message_type(messages_message_h msg, messages_message_type_e *type)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int msgType;
int ret;
@@ -272,7 +259,7 @@ int messages_get_message_type(messages_message_h msg, messages_message_type_e *t
int messages_add_address(messages_message_h msg, const char *address, messages_recipient_type_e type)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
@@ -325,7 +312,7 @@ int messages_add_address(messages_message_h msg, const char *address, messages_r
int messages_get_address_count(messages_message_h msg, int *count)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
msg_list_handle_t addr_list = NULL;
@@ -348,7 +335,7 @@ int messages_get_address_count(messages_message_h msg, int *count)
int messages_get_address(messages_message_h msg, int index, char **address, messages_recipient_type_e *type)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
char _address[MAX_ADDRESS_VAL_LEN+1] = {0, };
@@ -426,7 +413,7 @@ int messages_get_address(messages_message_h msg, int index, char **address, mess
int messages_remove_all_addresses(messages_message_h msg)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
messages_message_s *_msg = (messages_message_s*)msg;
@@ -447,7 +434,7 @@ void _dump_message(messages_message_h msg)
int messages_send_message(messages_service_h svc, messages_message_h msg, bool save_to_sentbox,
messages_sent_cb callback, void *user_data)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
/* Privacy check */
int privacy_ret = privacy_checker_check_by_privilege(MESSAGES_PRIVILEGE_WRITE);
@@ -551,7 +538,7 @@ int messages_get_message_count(messages_service_h service,
messages_message_box_e mbox, messages_message_type_e type,
int *count)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
msg_folder_id_t folderId;
@@ -629,7 +616,7 @@ int messages_search_message(messages_service_h service,
int offset, int limit,
messages_message_h **message_array, int *length, int *total)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int i;
int ret;
@@ -738,7 +725,7 @@ int messages_search_message(messages_service_h service,
int messages_free_message_array(messages_message_h *message_array)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int i=0;
@@ -770,7 +757,7 @@ int messages_foreach_message(messages_service_h svc,
int offset, int limit,
messages_search_cb callback, void *user_data)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
/* Privacy check */
int privacy_ret = privacy_checker_check_by_privilege(MESSAGES_PRIVILEGE_READ);
@@ -888,7 +875,7 @@ void _messages_incoming_mediator_cb(msg_handle_t handle, msg_struct_t msg, void
int messages_set_message_incoming_cb(messages_service_h svc, messages_incoming_cb callback, void *user_data)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_MMS_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
@@ -907,12 +894,14 @@ int messages_set_message_incoming_cb(messages_service_h svc, messages_incoming_c
return ret;
}
- ret = ERROR_CONVERT(
- msg_reg_mms_conf_message_callback(_svc->service_h, &_messages_incoming_mediator_cb, NULL, (void*)_svc)
- );
- if (MESSAGES_ERROR_NONE != ret)
- {
- return ret;
+ if (MESSAGES_ERROR_NONE == _messages_check_feature(MESSAGES_TELEPHONY_MMS_FEATURE)) {
+ ret = ERROR_CONVERT(
+ msg_reg_mms_conf_message_callback(_svc->service_h, &_messages_incoming_mediator_cb, NULL, (void*)_svc)
+ );
+ if (MESSAGES_ERROR_NONE != ret)
+ {
+ return ret;
+ }
}
}
@@ -925,7 +914,7 @@ int messages_set_message_incoming_cb(messages_service_h svc, messages_incoming_c
int messages_add_sms_listening_port(messages_service_h service, int port)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
messages_service_s *_svc = (messages_service_s*)service;
@@ -950,20 +939,22 @@ int messages_add_sms_listening_port(messages_service_h service, int port)
int messages_unset_message_incoming_cb(messages_service_h svc)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
messages_service_s *_svc = (messages_service_s*)svc;
CHECK_NULL(_svc);
_svc->incoming_cb_enabled = false;
+ _svc->incoming_cb = NULL;
+ _svc->incoming_cb_user_data = NULL;
return MESSAGES_ERROR_NONE;
}
int messages_get_message_port(messages_message_h msg, int *port)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int _port;
@@ -986,7 +977,7 @@ int messages_get_message_port(messages_message_h msg, int *port)
int messages_set_text(messages_message_h msg, const char *text)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int len;
@@ -1005,7 +996,7 @@ int messages_set_text(messages_message_h msg, const char *text)
if (IS_SMS(type))
{
len = strlen(text);
- if (len > MAX_MESSAGES_TEXT_LEN)
+ if (len > MAX_MSG_TEXT_LEN)
{
LOGE("[%s] INVALID_PARAMETER(0x%08x) : the length of body exceeded the max, 1530 ."
, __FUNCTION__, MESSAGES_ERROR_INVALID_PARAMETER);
@@ -1044,7 +1035,7 @@ int messages_set_text(messages_message_h msg, const char *text)
int messages_get_text(messages_message_h msg, char **text)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
char _text[MAX_MSG_TEXT_LEN+1] = {0,};
@@ -1109,7 +1100,7 @@ int messages_get_text(messages_message_h msg, char **text)
int messages_get_time(messages_message_h msg, time_t *time)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int _time;
@@ -1132,7 +1123,7 @@ int messages_get_time(messages_message_h msg, time_t *time)
int messages_get_message_id(messages_message_h msg, int *msg_id)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int _id;
@@ -1156,7 +1147,7 @@ int messages_get_message_id(messages_message_h msg, int *msg_id)
int messages_set_sim_id(messages_message_h msg, int sim_id)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
@@ -1176,7 +1167,7 @@ int messages_set_sim_id(messages_message_h msg, int sim_id)
int messages_get_sim_id(messages_message_h msg, int *sim_id)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int _id;
@@ -1200,7 +1191,7 @@ int messages_get_sim_id(messages_message_h msg, int *sim_id)
int messages_search_message_by_id(messages_service_h service, int msg_id, messages_message_h *msg)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
msg_struct_t new_msg_h;
@@ -1277,7 +1268,7 @@ int messages_search_message_by_id(messages_service_h service, int msg_id, messag
int messages_get_mbox_type(messages_message_h msg, messages_message_box_e *mbox)
{
- CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_FEATURE);
+ CHECK_MESSAGES_SUPPORTED(MESSAGES_TELEPHONY_SMS_FEATURE);
int ret;
int folder_id;
@@ -1531,6 +1522,7 @@ int messages_mms_remove_all_attachments(messages_message_h msg)
return MESSAGES_ERROR_NONE;
}
+
int _messages_save_mms_data(messages_message_s *msg)
{
int i;