2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (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://www.tizenopensource.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 MSG_MMS_TYPES_H
18 #define MSG_MMS_TYPES_H
22 * @brief Defines MMS types of messaging framework
27 * @section Introduction
28 * - Introduction : Overview on MMS message Types
30 * - Program : MMS message Types Reference
33 /*==================================================================================================
35 ==================================================================================================*/
43 * @ingroup MESSAGING_FRAMEWORK
44 * @defgroup MESSAGING_MMS_TYPES Messaging MMS Types
49 /*==================================================================================================
51 ==================================================================================================*/
54 * @brief Represents text information.
57 char szTransInId[MAX_SMIL_TRANSIN_ID + 1]; /**< Indicates the In SMIL transition id */
58 char szTransOutId[MAX_SMIL_TRANSOUT_ID + 1]; /**< Indicates the Out SMIL transition id */
59 int nRepeat; /**< Indicates the text needs to be displayed repeatedly */
60 int nBegin; /**< Indicates the begin time */
61 int nEnd; /**< Indicates the end time */
62 int nDurTime; /**< Indicates the duration */
63 int nBgColor; /**< Indicates the background color of the text */
64 bool bBold; /**< Indicates whether the text is bold */
65 bool bUnderLine; /**< Indicates whether the text is underlined */
66 bool bItalic; /**< Indicates whether the text is Italic */
67 bool bReverse; /**< Indicates whether the text is reversed */
68 MmsTextDirection nDirection; /**< Indicates the text direction type. see enum MmsTextDirection */
69 int nSize; /**< Indicates the font size */
70 int nColor; /**< Indicates the font color */
74 * @brief Represents video information.
77 char szTransInId[MAX_SMIL_TRANSIN_ID + 1]; /**< Indicates the In SMIL transition id */
78 char szTransOutId[MAX_SMIL_TRANSOUT_ID + 1]; /**< Indicates the Out SMIL transition id */
79 int nRepeat; /**< Indicates the video needs to be displayed repeatedly */
80 int nBegin; /**< Indicates the begin time */
81 int nEnd; /**< Indicates the end time */
82 int nDurTime; /**< Indicates the duration */
83 int nBgColor; /**< Indicates the background color of the text */
87 * @brief Represents media information.
91 MmsSmilMediaType mediatype; /**< Indicates the SMIL media type. see enum MmsSmilMediaType */
93 char szSrc[MSG_FILEPATH_LEN_MAX + 1];/**< Indicates the media source name */
94 char szFileName[MSG_FILENAME_LEN_MAX + 1]; /**< Indicates the file name */
95 char szFilePath[MSG_FILEPATH_LEN_MAX + 1]; /**< Indicates the file path */
96 char szContentID[MSG_MSG_ID_LEN + 1]; /**< Indicates the content id */
97 char regionId[MAX_SMIL_REGION_ID + 1]; /**< Indicates the region id */
98 char szAlt[MAX_SMIL_ALT_LEN + 1]; /**< Indicates the alternative text to be displayed in failure case */
99 MsgDrmType drmType; /**< Indicates the drm type. see enum MsgDrmType */
100 char szDrm2FullPath[MSG_FILEPATH_LEN_MAX + 1]; /**< Indicates the fullpath of the DRM */
102 MmsSmilText sText; /**< Indicates the text attributes */
103 MmsSmilAVI sAVI; /**< Indicates the video attributes */
108 * @brief Represents attachment information.
112 MimeType mediatype; /**< Indicates the file mime type. see enum MimeType */
113 char szFileName[MSG_FILENAME_LEN_MAX + 1]; /**< Indicates the file name */
114 char szFilePath[MSG_FILEPATH_LEN_MAX + 1]; /**< Indicates the file path */
115 int fileSize; /**< Indicates the size of the file */
116 MsgDrmType drmType; /**< Indicates the drm type. see enum MsgDrmType */
117 char szDrm2FullPath[MSG_FILEPATH_LEN_MAX + 1]; /**< Indicates the fullpath of the DRM */
121 * @brief Represents SMIL page information.
125 int mediaCnt; /**< The count of the media */
126 GList *medialist; /**< The pointer to media list */
127 int nDur; /**< Indicates the duration of the page */
128 int nBegin; /**< Indicates the begin time of the page */
129 int nEnd; /**< Indicates the end time of the page */
130 int nMin; /**< Indicates the min attribute of the page */
131 int nMax; /**< Indicates the max attribute of the page */
132 int nRepeat; /**< Indicates the page needs to be displayed repeatedly */
137 * @brief Represents length information.
141 bool bUnitPercent; /**< Indicates the length is in percentage(%) or not */
142 int value; /**< Indicates the value for length */
146 * @brief Represents SMIL region information.
150 char szID[MAX_SMIL_REGION_ID + 1]; /**< Indicates the ID of region information */
151 MMS_LENGTH nLeft; /**< Indicates the left co-ordinate of the region */
152 MMS_LENGTH nTop; /**< Indicates the top co-ordinate of the region */
153 MMS_LENGTH width; /**< Indicates the width of the region */
154 MMS_LENGTH height; /**< Indicates the width of the region */ // '%' rate should be supported
155 int bgColor; /**< Indicates the background color of the region */
156 REGION_FIT_TYPE_T fit; /**< Indicates the fit type. see enum REGION_FIT_TYPE_T */
161 * @brief Represents SMIL root layout information.
165 MMS_LENGTH width; /**< Indicates the width of the root layout */
166 MMS_LENGTH height; /**< Indicates the height of the root layout */ // '%' rate should be supported
167 int bgColor; /**< Indicates the background color of the root layout */
168 }MMS_SMIL_ROOTLAYOUT;
172 * @brief Represents SMIL transition information.
176 char szID[MAX_SMIL_TRANSITION_ID + 1]; /**< Indicates the ID of transition information */
177 MmsSmilTransType nType; /**< Indicates the transition type. see enum MmsSmilTransType */
178 MmsSmilTransSubType nSubType; /**< Indicates the transition sub type. see enum MmsSmilTransSubType */
179 int nDur; /**< Indicates the transition duration */
180 }MMS_SMIL_TRANSITION;
184 * @brief Represents SMIL meta information.
188 char szID[MAX_SMIL_META_ID + 1]; /**< Indicates the ID of meta information */
189 char szName[MAX_SMIL_META_NAME + 1]; /**< Indicates the Name */
190 char szContent[MAX_SMIL_META_CONTENT + 1]; /**< Indicates the content */
195 * @brief Represents application id information for JAVA MMS msg.
199 bool valid; /**< Indicates whether application id information is used or not. */
200 char appId[MAX_MMS_JAVA_APPID_LEN + 1]; /**< application id, it should not exceed 32 chars */
201 char replyToAppId[MAX_MMS_JAVA_APPID_LEN + 1]; /**< reply to application id, application id, it should not exceeded 32 chars */
206 #define MAX_FULL_PATH_SIZE_S 160 // max length for internal file path
210 char szMsgID[MMS_MSG_ID_LEN + 1];
211 char retrievedFilePath[MAX_FULL_PATH_SIZE_S + 1];
212 char szTrID[MMS_TR_ID_LEN + 1];
213 MMS_APPID_INFO_S msgAppId;
218 * @brief Represents MMS message data.
220 typedef struct _MMS_MESSAGE_DATA_S
222 char szSmilFilePath[MSG_FILEPATH_LEN_MAX + 1]; /**< Indicates the SMIL file path */
223 int pageCnt; /**< The count of the SMIL pages */
224 GList *pagelist; /**< The pointer to SMIL pages list */
225 int regionCnt; /**< The count of the SMIL regions */
226 GList *regionlist; /**< The pointer to SMIL regions list */
227 int attachCnt; /**< The count of the attachments */
228 GList *attachlist; /**< The pointer to attachment list */
229 int transitionCnt; /**< The count of the SMIL transitions information */
230 GList *transitionlist; /**< The pointer to SMIL transitions list */
231 int metaCnt; /**< The count of the SMIL meta information */
232 GList *metalist; /**< The pointer to SMIL meta list */
233 MMS_SMIL_ROOTLAYOUT rootlayout; /**< Indicates the root layout information */
234 MMS_APPID_INFO_S msgAppId;