update tizen source
[framework/messaging/msg-service.git] / include / common / MsgMmsTypes.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 MSG_MMS_TYPES_H
32 #define MSG_MMS_TYPES_H
33
34 /**
35  *      @file           MsgMmsTypes.h
36  *      @brief          Defines MMS types of messaging framework
37  *      @version        1.0
38  */
39
40 /**
41  *      @section                Introduction
42  *      - Introduction : Overview on MMS message Types
43  *      @section                Program
44  *      - Program : MMS message Types Reference
45  */
46
47 /*==================================================================================================
48                                          INCLUDE FILES
49 ==================================================================================================*/
50 #include "MsgTypes.h"
51
52
53 #include <glib.h>
54
55
56 /**
57  *      @ingroup                MESSAGING_FRAMEWORK
58  *      @defgroup       MESSAGING_MMS_TYPES     Messaging MMS Types
59  *      @{
60  */
61
62 /*==================================================================================================
63                                                                         DEFINES
64 ==================================================================================================*/
65
66 /**
67  *      @brief  Defines the enabled MMS version
68  */
69 #define MMS_V1_2                                                                // MMS Version : MMS_V1_0 / MMS_V1_1 / MMS_V1_2
70
71 /**
72  *      @brief  Defines the enabled DRM support
73  */
74 #define __SUPPORT_DRM__
75
76 /**
77  *      @brief  Defines the enabled JAVA MMS Application Id
78  */
79 #define FEATURE_JAVA_MMS
80
81 /**
82  *      @brief  Defines the maximum file name length
83  */
84 #define MSG_FILENAME_LEN_MAX            255
85
86 /**
87  *      @brief  Defines the maximum message id length
88  */
89 #define MSG_MSG_ID_LEN                  100
90
91 /**
92  *      @brief  Defines the maximum in transition id length
93  */
94 #define MAX_SMIL_TRANSIN_ID             100
95
96 /**
97  *      @brief  Defines the maximum out transition id length
98  */
99 #define MAX_SMIL_TRANSOUT_ID    100
100
101 /**
102  *      @brief  Defines the maximum region id length
103  */
104 #define MAX_SMIL_REGION_ID              151
105
106 /**
107  *      @brief  Defines the maximum transition id length
108  */
109 #define MAX_SMIL_TRANSITION_ID          151
110
111 /**
112  *      @brief  Defines the maximum meta id length
113  */
114 #define MAX_SMIL_META_ID                151
115
116 /**
117  *      @brief  Defines the maximum meta name length
118  */
119 #define MAX_SMIL_META_NAME              100
120
121 /**
122  *      @brief  Defines the maximum meta content length
123  */
124 #define MAX_SMIL_META_CONTENT           255
125
126 /**
127  *      @brief  Defines the maximum fit size
128  */
129 #define MAX_SMIL_FIT_SIZE               31
130
131 /**
132  *      @brief  Defines the maximum pages in a MMS
133  */
134 #define MMS_PAGE_MAX                    20
135
136 /**
137  *      @brief  Defines the maximum media in a MMS
138  */
139 #define MMS_MEDIA_MAX                   60
140
141 /**
142  *      @brief  Defines the maximum alternate text length
143  */
144 #define MAX_SMIL_ALT_LEN                255
145
146
147 //font size
148 /**
149  *      @brief  Defines the small font size
150  */
151 #define MMS_SMIL_FONT_SIZE_SMALL                24
152
153 /**
154  *      @brief  Defines the normal font size
155  */
156 #define MMS_SMIL_FONT_SIZE_NORMAL               30
157
158 /**
159  *      @brief  Defines the large font size
160  */
161 #define MMS_SMIL_FONT_SIZE_LARGE                36
162
163 //#ifdef MMS_SMIL_ANIMATE
164 #define MAX_SMIL_ANIMATE_ATTRIBUTE_NAME 100
165 #define MAX_SMIL_ANIMATE_ATTRIBUTE_TYPE 100
166 #define MAX_SMIL_ANIMATE_TARGET_ELEMENT 100
167 #define MAX_SMIL_ANIMATE_CALC_MODE 100
168 //#endif
169
170 //#ifdef FEATURE_JAVA_MMS
171 #define MAX_MMS_JAVA_APPID_LEN 32
172 //#endif
173
174 #define CONV_THUMB_WIDTH        250
175 #define CONV_THUMB_HEIGHT 170
176
177 #define MMS_TR_ID_LEN           40
178 #define MMS_MSG_ID_LEN          40
179 #define MMS_LOCATION_LEN        100
180
181 /*==================================================================================================
182                                          ENUMS
183 ==================================================================================================*/
184
185 /**
186  *      @brief  Represents the values of a mime type.
187  */
188 typedef enum    _MimeType
189 {
190         // 0
191         MIME_ASTERISK                                                                                   = 0x0000, /**< Indicates the valid default mime type  */
192
193         // 1
194         MIME_APPLICATION_XML                                                                    = 0x1000, /**< Indicates the application xml type */
195         MIME_APPLICATION_WML_XML                                                        = 0x1001,       /**< Indicates the application wml xml type  */
196         MIME_APPLICATION_XHTML_XML                                                      = 0x1002,       /**< Indicates the application xhtml xml type  */
197         MIME_APPLICATION_JAVA_VM                                                                = 0x1003, /**< Indicates the application java vm type */
198         MIME_APPLICATION_SMIL                                                           = 0x1004, /**< Indicates the application smil  type */
199         MIME_APPLICATION_JAVA_ARCHIVE                                           = 0x1005, /**< Indicates the application java archive type */
200         MIME_APPLICATION_JAVA                                                           = 0x1006, /**< Indicates the application java  type */
201         MIME_APPLICATION_OCTET_STREAM                                           = 0x1007, /**< Indicates the application octect stream type */
202         MIME_APPLICATION_STUDIOM                                                        = 0x1008, /**< Indicates the application studiom type */
203         MIME_APPLICATION_FUNMEDIA                                                       = 0x1009, /**< Indicates the application fun media type */
204         MIME_APPLICATION_MSWORD                                                         = 0x100a,       /**< Indicates the application ms word type */
205         MIME_APPLICATION_PDF                                                                    = 0x100b, /**< Indicates the application pdf type */
206         MIME_APPLICATION_SDP                                                                    = 0x100c,  /**< Indicates the application sdp type */
207         MIME_APPLICATION_RAM                                                                    = 0x100d, /**< Indicates the application ram type */
208         MIME_APPLICATION_ASTERIC                                                                = 0x100e, /**< Indicates the application as main type and generic sub type */
209
210         // 16
211         MIME_APPLICATION_VND_WAP_XHTMLXML                                       = 0x1100, /**< Indicates the application wap xhtml xml type */
212         MIME_APPLICATION_VND_WAP_WMLC                                           = 0x1101,  /**< Indicates the application wap wmlc type */
213         MIME_APPLICATION_VND_WAP_WMLSCRIPTC                             = 0x1102,  /**< Indicates the application wap wmlscrpitc type */
214         MIME_APPLICATION_VND_WAP_WTA_EVENTC                             = 0x1103, /**< Indicates the application wap  wta event type */
215         MIME_APPLICATION_VND_WAP_UAPROF                                 = 0x1104, /**< Indicates the application wap uaprof type */
216         MIME_APPLICATION_VND_WAP_SIC                                            = 0x1105,  /**< Indicates the application wap sic type */
217         MIME_APPLICATION_VND_WAP_SLC                                            = 0x1106, /**< Indicates the application wap slc type */
218         MIME_APPLICATION_VND_WAP_COC                                            = 0x1107, /**< Indicates the application wap coc type */
219         MIME_APPLICATION_VND_WAP_SIA                                            = 0x1108, /**< Indicates the application wap sia type */
220         MIME_APPLICATION_VND_WAP_CONNECTIVITY_WBXML             = 0x1109,  /**< Indicates the application wap connectivity wbxml type */
221         MIME_APPLICATION_VND_WAP_MULTIPART_FORM_DATA    = 0x110a, /**< Indicates the application wap multipart data type */
222         MIME_APPLICATION_VND_WAP_MULTIPART_BYTERANGES   = 0x110b, /**< Indicates the application wap multipart byte type */
223         MIME_APPLICATION_VND_WAP_MULTIPART_MIXED                        = 0x110c,  /**< Indicates the application wap multipart mixed type */
224         MIME_APPLICATION_VND_WAP_MULTIPART_RELATED              = 0x110d,  /**< Indicates the application wap multipart related type */
225         MIME_APPLICATION_VND_WAP_MULTIPART_ALTERNATIVE  = 0x110e,  /**< Indicates the application wap  multipart alternative type */
226         MIME_APPLICATION_VND_WAP_MULTIPART_ASTERIC              = 0x110f, /**< Indicates the application wap mulitpart as main type and generic sub type */
227         MIME_APPLICATION_VND_WAP_WBXML                                  = 0x1110, /**< Indicates the application wap wbxml type */
228         MIME_APPLICATION_VND_OMA_DD_XML                                 = 0x1111, /**< Indicates the application oma dd xml type */
229         MIME_APPLICATION_VND_OMA_DRM_MESSAGE                            = 0x1112,  /**< Indicates the application oma drm message type */
230         MIME_APPLICATION_VND_OMA_DRM_CONTENT                            = 0x1113, /**< Indicates the application oma drm content type */
231         MIME_APPLICATION_VND_OMA_DRM_RIGHTS_XML                 = 0x1114, /**< Indicates the application oma drm rights xml type */
232         MIME_APPLICATION_VND_OMA_DRM_RIGHTS_WBXML               = 0x1115,  /**< Indicates the application oma drm rights wbxml type */
233         MIME_APPLICATION_VND_OMA_DRM_RO_XML                             = 0x1116, /**< Indicates the application oma drm ro xml type */
234         MIME_APPLICATION_VND_OMA_DRM_DCF                                        = 0x1117, /**< Indicates the application oma drm dcf type */
235         MIME_APPLICATION_VND_OMA_ROAPPDU_XML                            = 0x1118,  /**< Indicates the application oma roap pdu xml type */
236         MIME_APPLICATION_VND_OMA_ROAPTRIGGER_XML                        = 0x1119,       /**< Indicates the application oma roap trigger xml  type */
237         MIME_APPLICATION_VND_SMAF                                                       = 0x111a,  /**< Indicates the application smaf type */
238         MIME_APPLICATION_VND_RN_REALMEDIA                                       = 0x111b,  /**< Indicates the application rn real media type */
239         MIME_APPLICATION_VND_SUN_J2ME_JAVA_ARCHIVE              = 0x111c,  /**< Indicates the application j2me java archive type */
240         MIME_APPLICATION_VND_EXCEL                                                      = 0x111e,  /**< Indicates the application excel type */
241         MIME_APPLICATION_VND_POWERPOINT                                 = 0x111f,  /**< Indicates the application power point type */
242         MIME_APPLICATION_VND_MSWORD                                             = 0x1120,        /**< Indicates the application ms word type */
243
244         // 49
245         MIME_APPLICATION_X_HDMLC                                                        = 0x1200, /**< Indicates the application x hdmlc type */
246         MIME_APPLICATION_X_X968_USERCERT                                        = 0x1201, /**< Indicates the application x x968 user certified type */
247         MIME_APPLICATION_X_WWW_FORM_URLENCODED                  = 0x1202, /**< Indicates the application x www form url encoded type */
248         MIME_APPLICATION_X_SMAF                                                         = 0x1203, /**< Indicates the application x smaf type */
249         MIME_APPLICATION_X_FLASH                                                                = 0x1204, /**< Indicates the application x flash type */
250         MIME_APPLICATION_X_EXCEL                                                                = 0x1205, /**< Indicates the application x excel type */
251         MIME_APPLICATION_X_POWERPOINT                                           = 0x1206, /**< Indicates the application x power point type */
252
253         // 56
254         MIME_AUDIO_BASIC                                                                                = 0x2000, /**< Indicates the audio basic type  */
255         MIME_AUDIO_MPEG                                                                         = 0x2001, /**< Indicates the audio mpeg type  */
256         MIME_AUDIO_MP3                                                                          = 0x2002, /**< Indicates the audio mp3 type  */
257         MIME_AUDIO_MPG3                                                                         = 0x2003,  /**< Indicates the audio mpg3 type  */
258         MIME_AUDIO_MPEG3                                                                                = 0x2004, /**< Indicates the audio mpeg3 type  */
259         MIME_AUDIO_MPG                                                                          = 0x2005, /**< Indicates the audio mpg type  */
260         MIME_AUDIO_AAC                                                                          = 0x2006, /**< Indicates the audio aac type  */
261         MIME_AUDIO_G72                                                                          = 0x2007, /**< Indicates the audio g72 type  */
262         MIME_AUDIO_AMR                                                                          = 0x2008, /**< Indicates the audio amr type  */
263         MIME_AUDIO_AMR_WB                                                                       = 0x2009, /**< Indicates the audio amr wb type  */
264         MIME_AUDIO_MMF                                                                          = 0x200a, /**< Indicates the audio mmf type  */
265         MIME_AUDIO_SMAF                                                                         = 0x200b, /**< Indicates the audio smaf type  */
266         MIME_AUDIO_IMELODY                                                                      = 0x200c, /**< Indicates the audio imelody type  */
267         MIME_AUDIO_IMELODY2                                                                     = 0x200d, /**< Indicates the audio imelody2 type  */
268         MIME_AUDIO_MELODY                                                                       = 0x200e, /**< Indicates the audio melody type  */
269         MIME_AUDIO_MID                                                                          = 0x200f, /**< Indicates the audio mid type  */
270         MIME_AUDIO_MIDI                                                                         = 0x2010, /**< Indicates the audio midi type  */
271         MIME_AUDIO_SP_MIDI                                                                      = 0x2011, /**< Indicates the audio sp midi type  */
272         MIME_AUDIO_WAVE                                                                         = 0x2012, /**< Indicates the audio wave type  */
273         MIME_AUDIO_WAV                                                                          = 0x2013, /**< Indicates the audio wav type  */
274         MIME_AUDIO_3GPP                                                                         = 0x2014, /**< Indicates the audio 3gpp type  */
275         MIME_AUDIO_MP4                                                                          = 0x2015, /**< Indicates the audio mp4 type  */
276         MIME_AUDIO_MP4A_LATM                                                            = 0x2016, /**< Indicates the audio mp4 latm type  */
277         MIME_AUDIO_M4A                                                                          = 0x2017, /**< Indicates the audio m4a type  */
278         MIME_AUDIO_MPEG4                                                                                = 0x2018, /**< Indicates the audio mpeg4 type  */
279         MIME_AUDIO_WMA                                                                          = 0x2019, /**< Indicates the audio wma type  */
280         MIME_AUDIO_XMF                                                                          = 0x201a, /**< Indicates the audio xmf type  */
281         MIME_AUDIO_IMY                                                                          = 0x201b, /**< Indicates the audio imy type  */
282         MIME_AUDIO_MOBILE_XMF                                                           = 0x201c, /**< Indicates the audio mobile xmf type  */
283
284         //85
285         MIME_AUDIO_VND_RN_REALAUDIO                                             = 0x2100, /**< Indicates the audio rn real audio type  */
286
287         // 86
288         MIME_AUDIO_X_MPEG                                                                       = 0x2200, /**< Indicates the audio x mpeg type  */
289         MIME_AUDIO_X_MP3                                                                                = 0x2201, /**< Indicates the audio x mp3 type  */
290         MIME_AUDIO_X_MPEG3                                                                      = 0x2202,    /**< Indicates the audio x mpeg3 type  */
291         MIME_AUDIO_X_MPG                                                                                = 0x2203, /**< Indicates the audio x mpg type  */
292         MIME_AUDIO_X_AMR                                                                                = 0x2204, /**< Indicates the audio x amr type  */
293         MIME_AUDIO_X_MMF                                                                                = 0x2205, /**< Indicates the audio x mmf type  */
294         MIME_AUDIO_X_SMAF                                                                       = 0x2206, /**< Indicates the audio x smaf type  */
295         MIME_AUDIO_X_IMELODY                                                                    = 0x2207, /**< Indicates the audio x imelody type  */
296         MIME_AUDIO_X_MIDI                                                                               = 0x2208, /**< Indicates the audio x midi type  */
297         MIME_AUDIO_X_MPEGAUDIO                                                          = 0x2209, /**< Indicates the audio x mpeg  type  */
298         MIME_AUDIO_X_PN_REALAUDIO                                                       = 0x220a, /**< Indicates the audio x pn real audio type  */
299         MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO                             = 0x220b, /**< Indicates the audio x pn multirate real audio  type  */
300         MIME_AUDIO_X_PN_MULTIRATE_REALAUDIO_LIVE                        = 0x220c, /**< Indicates the audio x pn multirate real audio live type  */
301         MIME_AUDIO_X_WAVE                                                                       = 0x220d, /**< Indicates the audio x wave  type  */
302         MIME_AUDIO_X_WAV                                                                                = 0x220e, /**< Indicates the audio x wav  type  */
303         MIME_AUDIO_X_MS_WMA                                                                     = 0x220f, /**< Indicates the audio ms wma type  */
304         MIME_AUDIO_X_MID                                                                                = 0x2210, /**< Indicates the audio mid type  */
305         MIME_AUDIO_X_MS_ASF                                                                     = 0x2211, /**< Indicates the audio ms asf  type  */
306         MIME_AUDIO_X_XMF                                                                                = 0x2212, /**< Indicates the audio x xmf  type  */
307
308         // 105
309         MIME_IMAGE_GIF                                                                          = 0x3000, /**< Indicates the image gif type  */
310         MIME_IMAGE_JPEG                                                                         = 0x3001, /**< Indicates the image jpeg type  */
311         MIME_IMAGE_JPG                                                                          = 0x3002, /**< Indicates the image jpg type  */
312         MIME_IMAGE_TIFF                                                                         = 0x3003, /**< Indicates the image tiff type  */
313         MIME_IMAGE_TIF                                                                          = 0x3004, /**< Indicates the image tif type  */
314         MIME_IMAGE_PNG                                                                          = 0x3005, /**< Indicates the image png type  */
315         MIME_IMAGE_WBMP                                                                         = 0x3006, /**< Indicates the image wbmp type  */
316         MIME_IMAGE_PJPEG                                                                                = 0x3007, /**< Indicates the image pjpeg type  */
317         MIME_IMAGE_BMP                                                                          = 0x3008, /**< Indicates the image bmp type  */
318         MIME_IMAGE_SVG                                                                          = 0x3009, /**< Indicates the image svg type  */
319         MIME_IMAGE_SVG1                                                                         = 0x300a, /**< Indicates the image svg1 type  */
320
321         // 116
322         MIME_IMAGE_VND_WAP_WBMP                                                 = 0x3100,  /**< Indicates the image vnd wap wbmp type  */
323
324         // 119
325         MIME_IMAGE_X_BMP                                                                                = 0x3200, /**< Indicates the image x bmp type  */
326
327         // 120
328         MIME_MESSAGE_RFC822                                                                     = 0x4000,  /**< Indicates the message rfc822 type  */
329
330         // 121
331         MIME_MULTIPART_MIXED                                                                    = 0x5000,  /**< Indicates the multipart mixed type  */
332         MIME_MULTIPART_RELATED                                                          = 0x5001, /**< Indicates the multipart related type  */
333         MIME_MULTIPART_ALTERNATIVE                                                      = 0x5002, /**< Indicates the multipart alternative type  */
334         MIME_MULTIPART_FORM_DATA                                                        = 0x5003, /**< Indicates the multipart form data type  */
335         MIME_MULTIPART_BYTERANGE                                                        = 0x5004, /**< Indicates the multipart byte range type  */
336         MIME_MULTIPART_REPORT                                                           = 0x5005, /**< Indicates the multipart report type  */
337         MIME_MULTIPART_VOICE_MESSAGE                                            = 0x5006, /**< Indicates the multipart voice message type  */
338
339         // 128
340         MIME_TEXT_TXT                                                                                   = 0x6000, /**< Indicates the text txt type  */
341         MIME_TEXT_HTML                                                                          = 0x6001, /**< Indicates the text html type  */
342         MIME_TEXT_PLAIN                                                                         = 0x6002,  /**< Indicates the text plain type  */
343         MIME_TEXT_CSS                                                                                   = 0x6003,  /**< Indicates the text css type  */
344         MIME_TEXT_XML                                                                                   = 0x6004,  /**< Indicates the text xml type  */
345         MIME_TEXT_IMELODY                                                                               = 0x6005,  /**< Indicates the text imelody type  */
346
347         // 134
348         MIME_TEXT_VND_WAP_WMLSCRIPT                                             = 0x6100, /**< Indicates the text wap wmlscript  type  */
349         MIME_TEXT_VND_WAP_WML                                                           = 0x6101, /**< Indicates the text wap wml  type  */
350         MIME_TEXT_VND_WAP_WTA_EVENT                                             = 0x6102, /**< Indicates the text wap wta event  type  */
351         MIME_TEXT_VND_WAP_CONNECTIVITY_XML                              = 0x6103, /**< Indicates the text wap connectivity xml  type  */
352         MIME_TEXT_VND_WAP_SI                                                                    = 0x6104,  /**< Indicates the text wap si  type  */
353         MIME_TEXT_VND_WAP_SL                                                            = 0x6105, /**< Indicates the text wap sl  type  */
354         MIME_TEXT_VND_WAP_CO                                                            = 0x6106, /**< Indicates the text wap co  type  */
355         MIME_TEXT_VND_SUN_J2ME_APP_DESCRIPTOR                           = 0x6107, /**< Indicates the text sun j2me type  */
356
357         // 142
358         MIME_TEXT_X_HDML                                                                                = 0x6200, /**< Indicates the x html  type  */
359         MIME_TEXT_X_VCALENDAR                                                           = 0x6201,  /**< Indicates the x calendar  type  */
360         MIME_TEXT_X_VCARD                                                                       = 0x6202, /**< Indicates the x vcard  type  */
361         MIME_TEXT_X_IMELODY                                                                     = 0x6203, /**< Indicates the x imelody  type  */
362         MIME_TEXT_X_IMELODY2                                                                    = 0x6204, /**< Indicates the x imelody2  type  */
363         MIME_TEXT_X_VNOTE                                                                       = 0x6205,  /**< Indicates the x vnote  type  */
364
365         // 148
366         MIME_VIDEO_MPEG4                                                                                = 0x7000, /**< Indicates the mpeg4  type  */
367         MIME_VIDEO_MP4                                                                          = 0x7001, /**< Indicates the mp4  type  */
368         MIME_VIDEO_H263                                                                         = 0x7002, /**< Indicates the h263  type  */
369         MIME_VIDEO_3GPP                                                                         = 0x7003, /**< Indicates the 3gpp  type  */
370         MIME_VIDEO_3GP                                                                          = 0x7004, /**< Indicates the 3gp  type  */
371         MIME_VIDEO_AVI                                                                          = 0x7005, /**< Indicates the avi  type  */
372         MIME_VIDEO_SDP                                                                          = 0x7006, /**< Indicates the sdp  type  */
373         MIME_VIDEO_MP4_ES                                                                       = 0x7007, /**< Indicates the mp4 es  type  */
374         MIME_VIDEO_MPEG                                                                         = 0x7008, /**< Indicates the mpeg  type  */
375
376         // 157
377         MIME_VIDEO_VND_RN_REALVIDEO                                                     = 0x7100, /**< Indicates the pn real video type  */
378         MIME_VIDEO_VND_RN_REALMEDIA                                                     = 0x7101, /**< Indicates the pn multi rate real media type  */
379
380         // 159
381         MIME_VIDEO_X_MP4                                                                                = 0x7200, /**< Indicates the video x mp4 type  */
382         MIME_VIDEO_X_PV_MP4                                                                     = 0x7201, /**< Indicates the video x pv mp4 type  */
383         MIME_VIDEO_X_PN_REALVIDEO                                                       = 0x7202, /**< Indicates the x pn real video type  */
384         MIME_VIDEO_X_PN_MULTIRATE_REALVIDEO                             = 0x7203, /**< Indicates the x pn multi rate real video type  */
385         MIME_VIDEO_X_MS_WMV                                                                     = 0x7204, /**< Indicates the x ms wmv type  */
386         MIME_VIDEO_X_MS_ASF                                                                     = 0x7205, /**< Indicates the x ms asf type  */
387         MIME_VIDEO_X_PV_PVX                                                                     = 0x7206, /**< Indicates the x pv pvx type  */
388
389         MIME_TYPE_VALUE_MAX                                                                     = 0x7207,               /**< Indicates the maximum mime type  */
390         MIME_UNKNOWN                                                                                    = 0xffff        /**< Indicates the unknown mime type  */
391
392 } MimeType;
393
394 /**
395  *      @brief  Represents the values of a DRM type.
396  */
397 //#ifdef __SUPPORT_DRM__
398 typedef enum
399 {
400         MSG_DRM_TYPE_NONE       = 0, /**< Indicates the drm type none */
401         MSG_DRM_TYPE_FL         = 1, /**< Indicates the forward lock */         /* 2004-07-09: forwardLock type */
402         MSG_DRM_TYPE_CD         = 2, /**< Indicates the combined delivery */    /* 2004-07-09: combined delivery type */
403         MSG_DRM_TYPE_SD         = 3, /**< Indicates the separate delivery */    /* 2004-07-09: seperate delivery type */
404         MSG_DRM_TYPE_SSD        = 4     /**< Indicates the special separate delivery */ // 2005-02-28: add Special Sperate Delivery
405 }MsgDrmType;
406 //#endif
407
408 /**
409  *      @brief  Represents the values of a SMIL region type.
410  */
411 typedef enum _REGION_FIT_TYPE_T
412 {
413         MMSUI_IMAGE_REGION_FIT_HIDDEN,   /**< Indicates the hidden fit type */
414         MMSUI_IMAGE_REGION_FIT_MEET,     /**< Indicates the meet fit type */
415 }REGION_FIT_TYPE_T;
416
417
418 /**
419  *      @brief  Represents the values of a SMIL media type.
420  */
421 typedef enum
422 {
423         MMS_SMIL_MEDIA_INVALID = 0, /**< Indicates the invalid media type */
424         MMS_SMIL_MEDIA_IMG,                     /**< Indicates the image media */
425         MMS_SMIL_MEDIA_AUDIO,           /**< Indicates the audio media */
426         MMS_SMIL_MEDIA_VIDEO,           /**< Indicates the video media */
427         MMS_SMIL_MEDIA_TEXT,            /**< Indicates the text media */
428         MMS_SMIL_MEDIA_ANIMATE,         /**< Indicates the animation media */
429         MMS_SMIL_MEDIA_IMG_OR_VIDEO     , /**< Indicates the image or video media */
430         MMS_SMIL_MEDIA_MAX = 0xffffffff,        /**< Indicates the maximum media type */
431 }MmsSmilMediaType;
432
433 /**
434  *      @brief  Represents the values of a SMIL transition type.
435  */
436 typedef enum
437 {
438         MMS_SMIL_TRANS_NONE = 0,                /**< Indicates the transition type none */                      /* default */
439         MMS_SMIL_TRANS_SLIDEWIPE = 1,   /**< Indicates the slide wipe transition */
440         MMS_SMIL_TRANS_BARWIPE = 2,             /**< Indicates the bar wipe transition */
441         MMS_SMIL_TRANS_BARNDOORWIPE = 3, /**< Indicates the bar and door wipe transition */
442         MMS_SMIL_TRANS_FADE = 4,                /**< Indicates the fade transition */
443         MMS_SMIL_TRANS_RANDOMBLOCK = 5, /**< Indicates the random block transition */
444         MMS_SMIL_TRANS_ZOOMIN = 6,              /**< Indicates the zoom in transition */
445         MMS_SMIL_TRANS_IRISWIPE = 7,    /**< Indicates the iris wipe transition */
446         MMS_SMIL_TRANS_BOXWIPE = 8,             /**< Indicates the box wipe transition */
447         MMS_SMIL_TRANS_FOURBOXWIPE = 9, /**< Indicates the four box wipe transition */
448         MMS_SMIL_TRANS_PUSHWIPE  =10,   /**< Indicates the push wipe transition */
449         MMS_SMIL_TRANS_ELLIPSEWIPE  = 11 /**< Indicates the ellipse wipe transition */
450 }MmsSmilTransType;
451
452 /**
453  *      @brief  Represents the values of a SMIL transition sub type.
454  */
455 typedef enum
456 {
457         MMS_SMIL_TRANS_SUB_NONE = 0,    /**< Indicates the transition sub type none */
458         MMS_SMIL_TRANS_SUB_FROM_LEFT = 1,       /**< Indicates the from left transition */      /* slideWipe's default */
459         MMS_SMIL_TRANS_SUB_FROM_TOP = 2,        /**< Indicates the from top transition */
460         MMS_SMIL_TRANS_SUB_FROM_BOTTOM = 3,     /**< Indicates the from bottom transition */
461         MMS_SMIL_TRANS_SUB_TOP_TO_BOTTOM = 4, /**< Indicates the from top to bottom transition */                       /* barWipe's default */
462         MMS_SMIL_TRANS_SUB_BOTTOM_TO_TOP = 5, /**< Indicates the from bottom to top transition */
463         MMS_SMIL_TRANS_SUB_HORIZONTAL = 6,      /**< Indicates the horizontal transition */             /* barDoorWipe's default */
464     MMS_SMIL_TRANS_SUB_FROM_RIGHT = 7, /**< Indicates the from right transition */
465     MMS_SMIL_TRANS_SUB_VERTICAL = 8 /**< Indicates the vertical transition */
466 }MmsSmilTransSubType;
467
468 /**
469  *      @brief  Represents the values of a text font type.
470  */
471 typedef enum
472 {
473         MMS_SMIL_FONT_TYPE_NONE = 0, /**< Indicates the font type none */
474         MMS_SMIL_FONT_TYPE_NORMAL = 1, /**< Indicates the font type normal */
475         MMS_SMIL_FONT_TYPE_ITALIC = 2, /**< Indicates the font type italic */
476         MMS_SMIL_FONT_TYPE_BOLD = 3, /**< Indicates the font type bold */
477         MMS_SMIL_FONT_TYPE_UNDERLINE = 4 /**< Indicates the font type underline */
478 }MmsSmilFontType;
479
480 /**
481  *      @brief  Represents the values of a MMS text direction.
482  */
483 typedef enum    _MmsTextDir{
484         MMS_TEXT_DIRECTION_INVALID = -1, /**< Indicates the invalid direction */
485         MMS_TEXT_DIRECTION_RIGHT = 0,   /**< Indicates the right direction */
486         MMS_TEXT_DIRECTION_DOWN,                /**< Indicates the down direction */            // supported to GC
487 } MmsTextDirection;
488
489 /**
490  *      @brief  Represents the values of MMS Read Report Sent Status.
491  */
492 typedef enum
493 {
494         MMS_RECEIVE_READ_REPORT_NO_SEND,        // didn't send yet
495         MMS_RECEIVE_READ_REPORT_MUST_SEND,      // didn't send yet but will send
496         MMS_RECEIVE_READ_REPORT_SENT,           // sent
497         MMS_RECEIVE_READ_REPORT_NO_SENT,        // required but, didn't send by user's choice
498 } MmsRecvReadReportSendStatus ;
499
500 /**
501  *      @brief  Represents text information.
502  */
503 typedef struct  {
504         char                    szTransInId[MAX_SMIL_TRANSIN_ID];  /**< Indicates the In SMIL transition id */
505         char                    szTransOutId[MAX_SMIL_TRANSOUT_ID]; /**< Indicates the Out SMIL transition id */
506         int                             nRepeat; /**< Indicates the text needs to be displayed repeatedly */
507         int                             nBegin;  /**< Indicates the begin time */
508         int                             nEnd;   /**< Indicates the end time */
509         int                             nDurTime; /**< Indicates the duration */
510         int                             nBgColor; /**< Indicates the background color of the text */
511         bool                    bBold;  /**< Indicates whether the text is bold */
512         bool                    bUnderLine; /**< Indicates whether the text is underlined */
513         bool                    bItalic;                /**< Indicates whether the text is Italic */
514         bool                    bReverse;       /**< Indicates whether the text is reversed */
515         MmsTextDirection        nDirection; /**< Indicates the text direction type. see enum MmsTextDirection */
516         //MmsSmilFontType       nFont;  /**< Indicates the text font type. see enum MmsSmilFontType */
517         int                             nSize;  /**< Indicates the font size */
518         int                             nColor; /**< Indicates the font color */
519 }MmsSmilText;
520
521 /**
522  *      @brief  Represents video information.
523  */
524 typedef struct {
525         char                    szTransInId[MAX_SMIL_TRANSIN_ID]; /**< Indicates the In SMIL transition id */
526         char                    szTransOutId[MAX_SMIL_TRANSOUT_ID];  /**< Indicates the Out SMIL transition id */
527         int                             nRepeat; /**< Indicates the video needs to be displayed repeatedly */
528         int                             nBegin;  /**< Indicates the begin time */
529         int                             nEnd;   /**< Indicates the end time */
530         int                             nDurTime;  /**< Indicates the duration */
531         int                             nBgColor;  /**< Indicates the background color of the text */
532 }MmsSmilAVI;
533
534 /**
535  *      @brief  Represents media information.
536  */
537 typedef struct
538 {
539         MmsSmilMediaType        mediatype; /**< Indicates the SMIL media type. see enum MmsSmilMediaType */
540
541         char                    szSrc[MSG_FILEPATH_LEN_MAX];/**< Indicates the media source name */
542         char                    szFileName[MSG_FILENAME_LEN_MAX]; /**< Indicates the file name */
543         char                    szFilePath[MSG_FILEPATH_LEN_MAX]; /**< Indicates the file path */
544         char                    szContentID[MSG_MSG_ID_LEN+1]; /**< Indicates the content id */
545         char                    regionId[MAX_SMIL_REGION_ID]; /**< Indicates the region id */
546         char                    szAlt[MAX_SMIL_ALT_LEN]; /**< Indicates the alternative text to be displayed in failure case */
547         MsgDrmType              drmType; /**< Indicates the drm type. see enum MsgDrmType */
548         char                    szDrm2FullPath[MSG_FILEPATH_LEN_MAX];  /**< Indicates the fullpath of the DRM */
549         union{
550                 MmsSmilText     sText;  /**< Indicates the text attributes */
551                 MmsSmilAVI      sAVI; /**< Indicates the video attributes */
552         } sMedia;
553 }MMS_MEDIA_S;
554
555 /**
556  *      @brief  Represents attachment information.
557  */
558 typedef struct
559 {
560         MimeType        mediatype;      /**< Indicates the file mime type. see enum MimeType */
561         char            szFileName[MSG_FILENAME_LEN_MAX]; /**< Indicates the file name */
562         char            szFilePath[MSG_FILEPATH_LEN_MAX]; /**< Indicates the file path */
563         int             fileSize;        /**< Indicates the size of the file */
564         MsgDrmType      drmType; /**< Indicates the drm type. see enum MsgDrmType */
565         char            szDrm2FullPath[MSG_FILEPATH_LEN_MAX]; /**< Indicates the fullpath of the DRM */
566 }MMS_ATTACH_S;
567
568 /**
569  *      @brief  Represents SMIL page information.
570  */
571 typedef struct
572 {
573         int             mediaCnt;       /**< The count of the media */
574         GList   *medialist;     /**< The pointer to media list */
575         int             nDur;   /**< Indicates the duration of the page */
576         int             nBegin; /**< Indicates the begin time of the page */
577         int             nEnd;    /**< Indicates the end time of the page */
578         int             nMin;   /**< Indicates the min attribute of the page */
579         int             nMax;   /**< Indicates the max attribute of the page */
580         int             nRepeat;        /**< Indicates the page needs to be displayed repeatedly */
581
582 }MMS_PAGE_S;
583
584 /**
585  *      @brief  Represents length information.
586  */
587 typedef struct
588 {
589         bool    bUnitPercent; /**< Indicates the length is in percentage(%) or not */
590         int     value;  /**< Indicates the value for length */
591 }MMS_LENGTH;
592
593 /**
594  *      @brief  Represents SMIL region information.
595  */
596 typedef struct
597 {
598         char                            szID[MAX_SMIL_REGION_ID]; /**< Indicates the ID of region information */
599         MMS_LENGTH              nLeft; /**< Indicates the left co-ordinate of the region */
600         MMS_LENGTH              nTop; /**< Indicates the top co-ordinate of the region */
601         MMS_LENGTH              width; /**< Indicates the width of the region */
602         MMS_LENGTH              height; /**< Indicates the width of the region */ // '%' rate should be supported
603         int                             bgColor;        /**< Indicates the background color of the region */
604         REGION_FIT_TYPE_T       fit;    /**< Indicates the fit type. see enum REGION_FIT_TYPE_T */
605
606 }MMS_SMIL_REGION;
607
608 /**
609  *      @brief  Represents SMIL root layout information.
610  */
611 typedef struct
612 {
613         MMS_LENGTH      width;          /**< Indicates the width of the root layout */
614         MMS_LENGTH      height;         /**< Indicates the height of the root layout */ // '%' rate should be supported
615         int                     bgColor;                /**< Indicates the background color of the root layout */
616 }MMS_SMIL_ROOTLAYOUT;
617
618
619 /**
620  *      @brief  Represents SMIL transition information.
621  */
622 typedef struct
623 {
624         char                                    szID[MAX_SMIL_TRANSITION_ID];   /**< Indicates the ID of transition information */
625         MmsSmilTransType                nType;                                  /**< Indicates the transition type. see enum MmsSmilTransType */
626         MmsSmilTransSubType     nSubType;                               /**< Indicates the transition sub type. see enum MmsSmilTransSubType */
627         int                                     nDur;                                   /**< Indicates the transition duration */
628 }MMS_SMIL_TRANSITION;
629
630
631 /**
632  *      @brief  Represents SMIL meta information.
633  */
634 typedef struct
635 {
636         char            szID[MAX_SMIL_META_ID];                         /**< Indicates the ID of meta information */
637         char            szName[MAX_SMIL_META_NAME];             /**< Indicates the Name */
638         char            szContent[MAX_SMIL_META_CONTENT];       /**< Indicates the content */
639 }MMS_SMIL_META;
640
641
642 /**
643  *      @brief  Represents application id information for JAVA MMS msg.
644  */
645 typedef struct
646 {
647         bool                    valid;                                                                          /**< Indicates whether application id information is used or not. */
648         char                    appId[MAX_MMS_JAVA_APPID_LEN+1];                        /**< application id, it should not exceed 32 chars */
649         char                    replyToAppId[MAX_MMS_JAVA_APPID_LEN+1]; /**< reply to application id, application id, it should not exceeded 32 chars */
650 }MMS_APPID_INFO_S;
651
652
653
654 #define         MAX_FULL_PATH_SIZE_S    160     // max length for internal file path
655
656 typedef struct
657 {
658         char                                    szMsgID[MMS_MSG_ID_LEN+1];
659         char                                    retrievedFilePath[MAX_FULL_PATH_SIZE_S];
660         char                                    szTrID[MMS_TR_ID_LEN+1];
661         MMS_APPID_INFO_S        msgAppId;
662 }MMS_RECV_DATA_S;
663
664
665 /**
666  *      @brief  Represents MMS message data.
667  */
668 typedef struct _MMS_MESSAGE_DATA_S
669 {
670         char                                    szSmilFilePath[MSG_FILEPATH_LEN_MAX];   /**< Indicates the SMIL file path */
671         int                                             pageCnt;        /**< The count of the SMIL pages */
672         GList                                   *pagelist;      /**< The pointer to SMIL pages list */
673         int                                             regionCnt;      /**< The count of the SMIL regions */
674         GList                                   *regionlist;    /**< The pointer to SMIL regions list */
675         int                                             attachCnt;      /**< The count of the attachments */
676         GList                                   *attachlist;    /**< The pointer to attachment list */
677         int                                             transitionCnt;  /**< The count of the SMIL transitions information */
678         GList                                   *transitionlist;        /**< The pointer to SMIL transitions list */
679         int                                             metaCnt;        /**< The count of the SMIL meta information */
680         GList                                   *metalist;      /**< The pointer to SMIL meta list */
681         MMS_SMIL_ROOTLAYOUT             rootlayout;     /**< Indicates the root layout information */
682         MMS_APPID_INFO_S                msgAppId;
683 }MMS_MESSAGE_DATA_S;
684
685 /**
686  *      @}
687  */
688
689
690
691 #endif
692