From 81ac2ef61b9e5838357fd29c64e744eba3497c73 Mon Sep 17 00:00:00 2001 From: Keebum Kim Date: Thu, 10 Oct 2013 14:46:56 +0900 Subject: [PATCH] Modify to presentation multiple recipient in search result. --- framework/storage-handler/MsgStorageMessage.cpp | 87 +++++++------------------ 1 file changed, 22 insertions(+), 65 deletions(-) diff --git a/framework/storage-handler/MsgStorageMessage.cpp b/framework/storage-handler/MsgStorageMessage.cpp index ff045a2..c9dc0b8 100755 --- a/framework/storage-handler/MsgStorageMessage.cpp +++ b/framework/storage-handler/MsgStorageMessage.cpp @@ -2611,7 +2611,7 @@ msg_error_t MsgStoSearchMessage(const MSG_SEARCH_CONDITION_S *pSearchCon, int of pMsgList->msg_struct_info = NULL; int rowCnt = 0; - int index = 26; // numbers of index + int index = 19; // numbers of index unsigned int tmpSize = 0; @@ -2633,9 +2633,6 @@ msg_error_t MsgStoSearchMessage(const MSG_SEARCH_CONDITION_S *pSearchCon, int of char sqlQuery[maxQuerySize]; - char firstName[MAX_DISPLAY_NAME_LEN+1], lastName[MAX_DISPLAY_NAME_LEN+1]; - char displayName[MAX_DISPLAY_NAME_LEN+1]; - char *ext1_str = NULL; char *ext2_str = NULL; char *ext3_str = NULL; @@ -2645,10 +2642,26 @@ msg_error_t MsgStoSearchMessage(const MSG_SEARCH_CONDITION_S *pSearchCon, int of memset(sqlQuery, 0x00, sizeof(sqlQuery)); - snprintf(sqlQuery, sizeof(sqlQuery), "SELECT A.MSG_ID, A.CONV_ID, A.FOLDER_ID, A.STORAGE_ID, A.MAIN_TYPE, A.SUB_TYPE, " - "A.DISPLAY_TIME, A.DATA_SIZE, A.NETWORK_STATUS, A.READ_STATUS, A.PROTECTED, A.BACKUP, A.PRIORITY, " - "A.MSG_DIRECTION, A.SCHEDULED_TIME, A.SUBJECT, A.MSG_TEXT, B.ADDRESS_TYPE, B.RECIPIENT_TYPE, " - "B.CONTACT_ID, B.ADDRESS_VAL, B.DISPLAY_NAME, B.FIRST_NAME, B.LAST_NAME, A.ATTACHMENT_COUNT, A.THUMB_PATH " + snprintf(sqlQuery, sizeof(sqlQuery), "SELECT " + "A.MSG_ID, " + "A.CONV_ID, " + "A.FOLDER_ID, " + "A.STORAGE_ID, " + "A.MAIN_TYPE, " + "A.SUB_TYPE, " + "A.DISPLAY_TIME, " + "A.DATA_SIZE, " + "A.NETWORK_STATUS, " + "A.READ_STATUS, " + "A.PROTECTED, " + "A.BACKUP, " + "A.PRIORITY, " + "A.MSG_DIRECTION, " + "A.SCHEDULED_TIME, " + "A.SUBJECT, " + "A.MSG_TEXT, " + "A.ATTACHMENT_COUNT, " + "A.THUMB_PATH " "FROM %s A, %s B WHERE A.CONV_ID = B.CONV_ID AND B.ADDRESS_ID <> 0 ", MSGFW_MESSAGE_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME); @@ -2829,64 +2842,8 @@ msg_error_t MsgStoSearchMessage(const MSG_SEARCH_CONDITION_S *pSearchCon, int of } msg_struct_list_s *addr_list = (msg_struct_list_s *)new msg_struct_list_s; - msg_struct_s *addr_info = NULL; - MSG_ADDRESS_INFO_S *address = NULL; - - addr_list->nCount = 1; - addr_list->msg_struct_info = (msg_struct_t *)new char[sizeof(msg_struct_t *)*MAX_TO_ADDRESS_CNT]; - - msg_struct_s *pTmpAddr = NULL; - - for (int i = 0; i < MAX_TO_ADDRESS_CNT; i++) { - addr_list->msg_struct_info[i] = (msg_struct_t)new char[sizeof(msg_struct_s)]; - pTmpAddr = (msg_struct_s *)addr_list->msg_struct_info[i]; - pTmpAddr->type = MSG_STRUCT_ADDRESS_INFO; - pTmpAddr->data = new MSG_ADDRESS_INFO_S; - memset(pTmpAddr->data, 0x00, sizeof(MSG_ADDRESS_INFO_S)); - - addr_list->msg_struct_info[i] = (msg_struct_t)pTmpAddr; - } - - addr_info = (msg_struct_s *)addr_list->msg_struct_info[0]; - address = (MSG_ADDRESS_INFO_S *)addr_info->data; - address->addressType = dbHandle.getColumnToInt(index++); - address->recipientType = dbHandle.getColumnToInt(index++); - address->contactId = dbHandle.getColumnToInt(index++); - - dbHandle.getColumnToString(index++, MAX_ADDRESS_VAL_LEN, address->addressVal); - - memset(displayName, 0x00, sizeof(displayName)); - dbHandle.getColumnToString(index++, MAX_DISPLAY_NAME_LEN, displayName); - - memset(firstName, 0x00, sizeof(firstName)); - dbHandle.getColumnToString(index++, MAX_DISPLAY_NAME_LEN, firstName); - memset(lastName, 0x00, sizeof(lastName)); - dbHandle.getColumnToString(index++, MAX_DISPLAY_NAME_LEN, lastName); - - if (strlen(displayName) <= 0) { - if (order == 0) { - if (firstName[0] != '\0') { - strncpy(displayName, firstName, MAX_DISPLAY_NAME_LEN); - } - - if (lastName[0] != '\0') { - strncat(displayName, " ", MAX_DISPLAY_NAME_LEN-strlen(displayName)); - strncat(displayName, lastName, MAX_DISPLAY_NAME_LEN-strlen(displayName)); - } - } else if (order == 1) { - if (lastName[0] != '\0') { - strncpy(displayName, lastName, MAX_DISPLAY_NAME_LEN); - strncat(displayName, " ", MAX_DISPLAY_NAME_LEN-strlen(displayName)); - } - - if (firstName[0] != '\0') { - strncat(displayName, firstName, MAX_DISPLAY_NAME_LEN-strlen(displayName)); - } - } - } - - strncpy(address->displayName, displayName, MAX_DISPLAY_NAME_LEN); + MsgStoGetAddressByMsgId(&dbHandle, pTmp->msgId, order, addr_list); pTmp->addr_list = addr_list; -- 2.7.4