2 * Copyright 2012-2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef MMS_PLUGIN_TYPES_H
18 #define MMS_PLUGIN_TYPES_H
21 #include "MsgInternalTypes.h"
23 #define IN /*! Pfrefix*/
24 #define OUT /*! Pfrefix*/
25 #define INOUT /*! Pfrefix*/
28 #define MAX_MMSC_URL_LEN 100
29 #define HTTP_REQUEST_LEN 1024
30 #define MAX_URL_LENGTH 1024
31 #define MAX_IPV4_LENGTH 30
34 typedef unsigned int MMS_NET_ERROR_T;
35 typedef unsigned int MMS_PDU_TYPE_T;
36 typedef unsigned char MMS_HTTP_CMD_TYPE_T;
37 typedef unsigned int E_MMS_CONNECTION_MODE;
38 typedef unsigned int E_MMS_NETWORK_ACCESS_POINT;
40 enum _MMS_NET_ERROR_E {
46 eMMS_CM_CLOSE_FAILED, //5
50 eMMS_HTTP_SESSION_INIT,
51 eMMS_HTTP_SESSION_CLOSED,
52 eMMS_HTTP_SESSION_OPEN_FAILED, //10
53 eMMS_HTTP_SENT_SUCCESS,
54 eMMS_HTTP_CONF_SUCCESS,
55 eMMS_HTTP_ERROR_NETWORK,
56 eMMS_HTTP_CONF_RECEIVED_TIMEOUT,
57 eMMS_HTTP_RECV_DATA, //15
58 eMMS_HTTP_EVENT_RECV_DATA_PROGRESS,
59 eMMS_HTTP_EVENT_RECV_DATA_ERROR,
60 eMMS_HTTP_EVENT_SENT_ACK_COMPLETED,
61 eMMS_HTTP_ERROR_UNKNOWN,
62 eMMS_EXCEPTIONAL_ERROR, //20
67 enum _MMS_PDU_TYPE_E {
70 eMMS_NOTIFICATION_IND,
72 eMMS_RETRIEVE_AUTO_CONF,
78 eMMS_READREPORT_CONF, //10
83 eMMS_RETRIEVE_MANUAL_CONF,
88 eMMS_MBOX_STORE_REQ, // 20
93 eMMS_MBOX_UPLOAD_CONF,
95 eMMS_MBOX_DELETE_CONF,
98 enum _MMS_HTTP_CMD_TYPE_E {
99 eHTTP_CMD_REGISTER = 0,
100 eHTTP_CMD_DEREGISTER,
101 eHTTP_CMD_INIT_SESSION,
102 eHTTP_CMD_CANCEL_SESSION,
103 eHTTP_CMD_CLOSE_SESSION,
104 eHTTP_CMD_DELETE_SESSION,
105 eHTTP_CMD_POST_TRANSACTION,
106 eHTTP_CMD_GET_TRANSACTION,
107 eHTTP_CMD_DELETE_TRANSACTION
110 typedef struct _mmsTranQEntity {
112 msg_request_id_t reqID;
114 unsigned int sessionId;
115 char transactionId[MMS_TR_ID_LEN + 1];
117 MMS_PDU_TYPE_T eMmsPduType;
118 MMS_HTTP_CMD_TYPE_T eHttpCmdType;
120 MMS_PDU_TYPE_T eMmsTransactionStatus;
129 typedef struct _MMSC_CONFIG_DATA_S {
130 char mmscUrl[MAX_URL_LENGTH + 1]; /** if break, change it to NETPM_HOME_URL_LEN_MAX */
131 char httpProxyIpAddr[MAX_IPV4_LENGTH + 1]; /** HTTP Proxy's URL or IP address */
133 unsigned int proxyPortNo; /** MMS HTTP proxy Port number */
134 E_MMS_CONNECTION_MODE connectionMode; /** Values must be from ENUM list -\ref E_MMS_CONNECTION_MODE */
135 E_MMS_NETWORK_ACCESS_POINT networkAccessPoint; /** Values must be from \ref E_MMS_NETWORK_ACCESS_POINT */
136 unsigned int bAutoRetrieveFlag; /** Value's shall be true or false */
137 unsigned int profileId; /** Profile is for CM Conn open*/
138 } MMSC_CONFIG_DATA_S;
140 typedef struct _MMS_PLUGIN_HTTP_DATA_S {
143 int currentProfileId;
148 MMSC_CONFIG_DATA_S mmscConfig;
149 } MMS_PLUGIN_HTTP_DATA_S;
151 typedef struct _MMS_PLUGIN_HTTP_CONTEXT_S {
152 char *recv_header_buf ;
154 unsigned char *final_content_buf; // Final Concatenated Buffer
155 unsigned long ulContentLength; // Content Leght Value received in HTTP OK Header
156 unsigned long bufOffset; /** < Incremented once received Content_receiving or Content_received Event */
157 } MMS_PLUGIN_HTTP_CONTEXT_S;
161 #endif //MMS_PLUGIN_TYPES_H