update tizen source
[framework/messaging/msg-service.git] / plugin / mms_plugin / include / MmsPluginInternal.h
1 /*
2 *
3 * Copyright (c) 2000-2012 Samsung Electronics Co., Ltd. All Rights Reserved.
4 *
5 * This file is part of msg-service.
6 *
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>
13 *
14 * PROPRIETARY/CONFIDENTIAL
15 *
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.
21 *
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.
28 *
29 */
30
31 #ifndef MMS_PLUGIN_INTERNAL_H
32 #define MMS_PLUGIN_INTERNAL_H
33
34 /*==================================================================================================
35                                                         INCLUDE FILES
36 ==================================================================================================*/
37 #include "MsgStorageTypes.h"
38 #include "MsgTypes.h"
39 #include "MsgTransportTypes.h"
40 #include "MmsPluginMessage.h"
41 #include "MmsPluginTypes.h"
42
43 /*==================================================================================================
44                                                         CLASS DEFINITIONS
45 ==================================================================================================*/
46 class MmsPluginInternal
47 {
48         public:
49                 static MmsPluginInternal *instance();
50
51                 void processReceivedInd(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_REQUEST_INFO_S *pRequest, bool *bReject);
52                 void processSendConf(MSG_MESSAGE_INFO_S *pMsgInfo, mmsTranQEntity *pRequest);
53                 void processRetrieveConf(MSG_MESSAGE_INFO_S *pMsgInfo, mmsTranQEntity *pRequest, char *pRetrivedFilePath);
54                 void processForwardConf(MSG_MESSAGE_INFO_S *pMsgInfo, mmsTranQEntity *pRequest);
55                 bool encodeNotifyRespInd(char *szTrID, MSG_DELIVERY_REPORT_STATUS_T iStatus, bool bReportAllowed, char *pSendFilePath);
56                 bool encodeAckInd(char *szTrID, bool bReportAllowed, char *pSendFilePath);
57
58         private:
59                 static MmsPluginInternal *pInstance;
60
61                 MmsPluginInternal();
62                 ~MmsPluginInternal();
63
64                 bool processNotiInd(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_REQUEST_INFO_S *pRequest);
65                 void processDeliveryInd(MSG_MESSAGE_INFO_S *pMsgInfo);
66                 void processReadOrgInd(MSG_MESSAGE_INFO_S *pMsgInfo);
67                 bool checkRejectNotiInd(int roamState, bool bReportAllowed, char *pSendFilePath);
68                 bool getMmsReport(MmsReport mmsReport);
69                 const char *getMmsDeliveryStatus(MSG_DELIVERY_REPORT_STATUS_T deliveryStatus);
70                 const char *getMmsReadStatus(MSG_READ_REPORT_STATUS_T readStatus);
71 };
72 #endif