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 MSG_SETTING_TYPES_H
18 #define MSG_SETTING_TYPES_H
21 * @file MsgSettingTypes.h
22 * @brief Defines setting types of messaging framework
27 * @section Introduction
28 * - Introduction : Overview on Messaging Setting Types
30 * - Program : Messaging Setting Types Reference
33 /*==================================================================================================
35 ==================================================================================================*/
39 * @ingroup MESSAGING_FRAMEWORK
40 * @defgroup MESSAGING_SETTING_TYPES Messaging Setting Types
44 /*==================================================================================================
46 ==================================================================================================*/
49 * @brief Represents an option type. \n
50 * The values for this type SHOULD be in _MSG_OPTION_TYPE_E.
52 typedef unsigned int MSG_OPTION_TYPE_T;
56 * @brief Represents an SMS network mode. \n
57 * The values for this type SHOULD be in _MSG_SMS_NETWORK_MODE_E.
59 typedef unsigned char MSG_SMS_NETWORK_MODE_T;
63 * @brief Represents the period of playing alert tone. \n
64 * The values for this type SHOULD be in _MSG_ALERT_TONE_E.
66 typedef unsigned char MSG_ALERT_TONE_T;
70 * @brief Represents the default storage to save SMS. \n
71 * The values for this type SHOULD be in _MSG_SMS_SAVE_STORAGE_E.
73 typedef unsigned char MSG_SMS_SAVE_STORAGE_T;
77 * @brief Represents the type of number for SMS center address. \n
78 * The values for this type SHOULD be in _MSG_SMS_TON_E.
80 typedef unsigned char MSG_SMS_TON_T;
84 * @brief Represents the numbering plan ID for SMS center address. \n
85 * The values for this type SHOULD be in _MSG_SMS_NPI_E.
87 typedef unsigned char MSG_SMS_NPI_T;
91 * @brief Represents the protocol ID for SMS center address. \n
92 * The values for this type SHOULD be in _MSG_SMS_PID_E.
94 typedef unsigned char MSG_SMS_PID_T;
98 * @brief Represents the validity period of SMS. \n
99 * The values for this type SHOULD be in _MSG_VAL_PERIOD_E.
101 typedef unsigned char MSG_VAL_PERIOD_T;
105 * @brief Represents the class type of MMS. \n
106 * The values for this type SHOULD be in _MSG_MMS_MSG_CLASS_TYPE_E.
108 typedef unsigned char MSG_MMS_MSG_CLASS_TYPE_T;
112 * @brief Represents the expiry time of MMS. \n
113 * The values for this type SHOULD be in _MSG_MMS_EXPIRY_TIME_E.
115 typedef unsigned int MSG_MMS_EXPIRY_TIME_T;
119 * @brief Represents the delivery time of MMS. \n
120 * The values for this type SHOULD be in _MSG_MMS_DELIVERY_TIME_E.
122 typedef unsigned int MSG_MMS_DELIVERY_TIME_T;
126 * @brief Represents the reply charging type of MMS. \n
127 * The values for this type SHOULD be in _MSG_MMS_REPLY_CHARGING_TYPE_E.
129 typedef unsigned char MSG_MMS_REPLY_CHARGING_TYPE_T;
133 * @brief Represents the creation mode of MMS. \n
134 * The values for this type SHOULD be in _MSG_MMS_CREATION_MODE_E.
136 typedef unsigned char MSG_MMS_CREATION_MODE_T;
139 * @brief Represents the retrieve type for MMS home network. \n
140 * The values for this type SHOULD be in _MSG_MMS_HOME_RETRIEVE_TYPE_E.
142 typedef unsigned char MSG_MMS_HOME_RETRIEVE_TYPE_T;
146 * @brief Represents the retrieve type for MMS abroad network. \n
147 * The values for this type SHOULD be in _MSG_MMS_ABROAD_RETRIEVE_TYPE_E.
149 typedef unsigned char MSG_MMS_ABROAD_RETRIEVE_TYPE_T;
153 * @brief Represents the frequency of sending MMS read report. \n
154 * The values for this type SHOULD be in _MSG_MMS_SEND_READ_REPORT_E.
156 typedef unsigned char MSG_MMS_SEND_READ_REPORT_T;
160 * @brief Represents whether a push message is received or not. \n
161 * The values for this type SHOULD be in _MSG_PUSH_RECEIVE_TYPE_E.
163 typedef unsigned char MSG_PUSH_RECEIVE_TYPE_T;
167 * @brief Represents the service type for a push message. \n
168 * The values for this type SHOULD be in _MSG_PUSH_SERVICE_TYPE_E.
170 typedef unsigned char MSG_PUSH_SERVICE_TYPE_T;
174 * @brief Represents the language type for a cell broadcasting message. \n
175 * The values for this type SHOULD be in _MSG_CB_LANGUAGE_TYPE_E.
177 typedef unsigned char MSG_CB_LANGUAGE_TYPE_T;
181 * @brief Represents the SIM status from telephony. \n
182 * The values for this type SHOULD be in \ref _MSG_SIM_STATUS_E.
184 typedef unsigned char MSG_SIM_STATUS_T;
187 /*==================================================================================================
189 ==================================================================================================*/
192 * @brief Represents SMSC address information.
196 MSG_SMS_TON_T ton; /**< Type of number */
197 MSG_SMS_NPI_T npi; /**< Numbering plan ID */
198 char address[SMSC_ADDR_MAX+1]; /**< SMSC address */
199 } MSG_SMSC_ADDRESS_S;
203 * @brief Represents SMSC data information.
207 MSG_SMS_PID_T pid; /**< Protocol idendifier */
208 MSG_VAL_PERIOD_T valPeriod; /**< Validity period value */
209 char name[SMSC_NAME_MAX+1]; /**< SMSC name */
210 MSG_SMSC_ADDRESS_S smscAddr; /**< SMSC address structure */
214 * @brief Represents an SMSC list.
218 int selected; /**< Selected SMSC index */
219 int totalCnt; /**< The count of total SMSC addresses */
220 MSG_SMSC_DATA_S smscData[SMSC_LIST_MAX]; /**< SMSC data information list*/
224 * @brief Represents an SMSC list.
228 int selected; /**< Selected SMSC index */
229 msg_struct_list_s *smsc_list; /**< SMSC data information list*/
230 }MSG_SMSC_LIST_HIDDEN_S;
233 * @brief Represents the information of a cell broadcasting channel.
237 bool bActivate; /**< Indicates whether the CB channel is activate or passive. */
238 unsigned int from; /**< Indicates the start ID of a CB channel range. */
239 unsigned int to; /**< Indicates the end ID of a CB channel range. */
240 char name[CB_CHANNEL_NAME_MAX+1]; /**< Indicates the name of a CB channel. */
241 } MSG_CB_CHANNEL_INFO_S;
245 * @brief Represents cell broadcasting channel information.
249 int channelCnt; /**< The count of CB channels */
250 MSG_CB_CHANNEL_INFO_S channelInfo[CB_CHANNEL_MAX]; /**< The structure of CB channel information */
254 * @brief Represents an general option.
258 bool bKeepCopy; /**< Indicates whether the SMS message copy is kept or not. */
259 MSG_ALERT_TONE_T alertTone; /**< Indicates the period of playing alert tone. */
260 bool bAutoErase; /**< Indicates whether the auto-erase option is enabled or not. */
265 * @brief Represents an SMS send option.
269 msg_encode_type_t dcs; /**< Indicates the string encoding type. */
270 MSG_SMS_NETWORK_MODE_T netMode; /**< Indicates the network mode (CS/PS) to send SMS. */
271 bool bReplyPath; /**< Indicates whether the SMS reply path is set or not. */
272 bool bDeliveryReport; /**< Indicates whether the SMS delivery report will be sent or not. */
273 MSG_SMS_SAVE_STORAGE_T saveStorage; /**< Indicates the default storage to save SMS. */
278 * @brief Represents an MMS send option.
282 MSG_MMS_MSG_CLASS_TYPE_T msgClass;
283 msg_priority_type_t priority; /**< Indicates the priority of the message. */
284 MSG_MMS_EXPIRY_TIME_T expiryTime; /**< Indicates the time when the message is to be removed from the MMSC. */
285 MSG_MMS_DELIVERY_TIME_T deliveryTime; /**< Indicates the message transmission time which is set in the MMSC. */
286 unsigned int customDeliveryTime; /**< Indicates the message transmission time which is set in the MMSC. */
287 bool bSenderVisibility; /**< Indicates whether the address is hidden or not. */
288 bool bDeliveryReport; /**< Indicates whether the delivery report will be sent or not. */
289 bool bReadReply; /**< Indicates whether the read report will be sent or not. */
290 bool bKeepCopy; /**< Indicates whether the message copy is kept or not. */
291 bool bBodyReplying; /**< Indicates whether the body is included when replying or not. */
292 bool bHideRecipients; /**< Indicates whether the recipients are hidden or not. */
294 MSG_MMS_REPLY_CHARGING_TYPE_T replyCharging;
295 unsigned int replyChargingDeadline;
296 unsigned int /*long*/ replyChargingSize;
298 MSG_MMS_CREATION_MODE_T creationMode;
303 * @brief Represents an MMS receive option.
307 MSG_MMS_HOME_RETRIEVE_TYPE_T homeNetwork; /**< Indicates the retrieve type for MMS home network. */
308 MSG_MMS_ABROAD_RETRIEVE_TYPE_T abroadNetwok; /**< Indicates the retrieve type for MMS abroad network. */
309 // MSG_MMS_SEND_READ_REPORT_T readReceipt; /**< Indicates whether the read report will be sent or not. */
310 bool readReceipt; /**< Indicates whether the read report will be sent or not. */
311 bool bDeliveryReceipt; /**< Indicates whether the delivery report will be sent or not. */
312 bool bRejectUnknown; /**< Indicates whether unknown addresses are rejected or not. */
313 bool bRejectAdvertisement; /**< Indicates whether advertisement is rejected or not. */
318 * @brief Represents an MMS style option.
322 unsigned int fontSize;
324 bool bFontStyleItalic;
325 bool bFontStyleUnderline;
326 unsigned int fontColorRed;
327 unsigned int fontColorGreen;
328 unsigned int fontColorBlue;
329 unsigned int fontColorHue;
330 unsigned int bgColorRed;
331 unsigned int bgColorGreen;
332 unsigned int bgColorBlue;
333 unsigned int bgColorHue;
334 unsigned int pageDur;
335 unsigned int pageCustomDur;
336 unsigned int pageDurManual;
337 } MSG_MMS_STYLEOPT_S;
341 * @brief Represents a push message option.
345 bool bReceive; /**< Indicates whether the push message is received or not. */
346 MSG_PUSH_SERVICE_TYPE_T serviceType; /**< Indicates the service type of a push message. */
351 * @brief Represents a cell broadcasting message option.
355 bool bReceive; /**< Indicates whether the CB message is received or not. */
356 int maxSimCnt; /**< Indicates the number of channels which can be stored in SIM. */
357 MSG_CB_CHANNEL_S channelData; /**< Indicates the cell broadcasting channel information. */
358 bool bLanguage[CB_LANG_TYPE_MAX]; /**< Indicates whether the language name of a cell broadcasting message is set or not. */
363 bool bReceive; /**< Indicates whether the CB message is received or not. */
364 int maxSimCnt; /**< Indicates the number of channels which can be stored in SIM. */
365 msg_struct_list_s *channelData; /**< Indicates the cell broadcasting channel information. */
366 bool bLanguage[CB_LANG_TYPE_MAX]; /**< Indicates whether the language name of a cell broadcasting message is set or not. */
367 } MSG_CBMSG_OPT_HIDDEN_S;
370 * @brief Represents a voice mail number option.
374 char mailNumber[MAX_PHONE_NUMBER_LEN+1];
375 } MSG_VOICEMAIL_OPT_S;
379 * @brief Represents a MMS size option.
388 * @brief Represents setting information.
392 MSG_OPTION_TYPE_T type; /**< The option type in a setting */
396 MSG_GENERAL_OPT_S generalOpt; /**< General option */
397 MSG_SMS_SENDOPT_S smsSendOpt; /**< SMS send option */
398 MSG_SMSC_LIST_S smscList; /**< SMSC list option */
399 MSG_MMS_SENDOPT_S mmsSendOpt; /**< MMS send option */
400 MSG_MMS_RECVOPT_S mmsRecvOpt; /**< MMS receive option */
401 MSG_MMS_STYLEOPT_S mmsStyleOpt; /**< MMS style option */
402 MSG_PUSHMSG_OPT_S pushMsgOpt; /**< Push message option */
403 MSG_CBMSG_OPT_S cbMsgOpt; /**< Cell broadcasting message option */
404 MSG_VOICEMAIL_OPT_S voiceMailOpt; /**< voice mail option */
405 MSG_MSGSIZE_OPT_S msgSizeOpt; /**< MMS size option */
414 #endif // MSG_SETTING_TYPES_H