3 * Copyright (c) 2000-2012 Samsung Electronics Co., Ltd. All Rights Reserved.
5 * This file is part of msg-service.
7 * Contact: Jaeyun Jeong <jyjeong@samsung.com>
8 * Sangkoo Kim <sangkoo.kim@samsung.com>
9 * Seunghwan Lee <sh.cat.lee@samsung.com>
10 * SoonMin Jung <sm0415.jung@samsung.com>
11 * Jae-Young Lee <jy4710.lee@samsung.com>
12 * KeeBum Kim <keebum.kim@samsung.com>
14 * PROPRIETARY/CONFIDENTIAL
16 * This software is the confidential and proprietary information of
17 * SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
18 * disclose such Confidential Information and shall use it only in
19 * accordance with the terms of the license agreement you entered
20 * into with SAMSUNG ELECTRONICS.
22 * SAMSUNG make no representations or warranties about the suitability
23 * of the software, either express or implied, including but not limited
24 * to the implied warranties of merchantability, fitness for a particular
25 * purpose, or non-infringement. SAMSUNG shall not be liable for any
26 * damages suffered by licensee as a result of using, modifying or
27 * distributing this software or its derivatives.
31 #ifndef SMS_PLUGIN_CONCAT_HANDLER_H
32 #define SMS_PLUGIN_CONCAT_HANDLER_H
35 /*==================================================================================================
37 ==================================================================================================*/
44 #include "SmsPluginTypes.h"
47 /*==================================================================================================
49 ==================================================================================================*/
50 #define MAX_CONCAT_LIST 10
55 char data[MAX_USER_DATA_LEN+1];
58 typedef map<unsigned char, CONCAT_DATA_S> concatDataMap;
60 typedef struct _SMS_CONCAT_MSG_S
62 unsigned short msgRef;
63 unsigned char totalSeg;
66 SMS_TIMESTAMP_S timeStamp;
67 SMS_ADDRESS_S originAddress;
72 typedef struct _SMS_CONCAT_INFO_S
74 unsigned short msgRef;
75 unsigned char totalSeg;
78 SMS_TIMESTAMP_S timeStamp;
79 SMS_ADDRESS_S originAddress;
83 unsigned int totalSize;
87 typedef struct _SMS_SIM_ID_S
89 unsigned short msgRef;
94 /*==================================================================================================
96 ==================================================================================================*/
97 class SmsPluginConcatHandler
100 static SmsPluginConcatHandler* instance();
102 bool IsConcatMsg(SMS_USERDATA_S *pUserData);
103 void handleConcatMsg(SMS_TPDU_S *pTpdu);
106 SmsPluginConcatHandler();
107 virtual ~SmsPluginConcatHandler();
109 static SmsPluginConcatHandler* pInstance;
111 unsigned char checkConcatMsg(SMS_CONCAT_MSG_S *pConcatMsg, SMS_USERDATA_S *pUserData);
112 int makeConcatUserData(unsigned short MsgRef, char **ppTotalData);
114 void convertConcatToMsginfo(const SMS_DELIVER_S *pTpdu, const char *pUserData, int DataSize, MSG_MESSAGE_INFO_S *pMsgInfo);
116 void removeFromConcatList(unsigned short MsgRef);
119 vector<SMS_CONCAT_INFO_S> concatList;
122 #endif //SMS_PLUGIN_CONCAT_HANDLER_H