3 * Copyright (c) 2000-2012 Samsung Electronics Co., Ltd. All Rights Reserved.
5 * This file is part of msg-service.
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>
14 * PROPRIETARY/CONFIDENTIAL
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.
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.
31 #ifndef MSG_SETTING_TYPES_H
32 #define MSG_SETTING_TYPES_H
35 * @file MsgSettingTypes.h
36 * @brief Defines setting types of messaging framework
41 * @section Introduction
42 * - Introduction : Overview on Messaging Setting Types
44 * - Program : Messaging Setting Types Reference
47 /*==================================================================================================
49 ==================================================================================================*/
53 * @ingroup MESSAGING_FRAMEWORK
54 * @defgroup MESSAGING_SETTING_TYPES Messaging Setting Types
58 /*==================================================================================================
60 ==================================================================================================*/
61 #define SMSC_NAME_MAX 127 /* Max SMSC Name Length */
62 #define SMSC_ADDR_MAX 20 /* Max SMSC Adress Length */
63 #define SMSC_LIST_MAX 5 /* Max List Count of SMSC */
64 #define CB_CHANNEL_NAME_MAX 32 /* cb channel name max size */
65 #define CB_CHANNEL_MAX 30 /* cb channel max count */
66 #define CB_LANG_TYPE_MAX 10
68 /*==================================================================================================
70 ==================================================================================================*/
73 * @brief Represents an option type. \n
74 * The values for this type SHOULD be in _MSG_OPTION_TYPE_E.
76 typedef unsigned int MSG_OPTION_TYPE_T;
80 * @brief Represents an SMS network mode. \n
81 * The values for this type SHOULD be in _MSG_SMS_NETWORK_MODE_E.
83 typedef unsigned char MSG_SMS_NETWORK_MODE_T;
87 * @brief Represents the period of playing alert tone. \n
88 * The values for this type SHOULD be in _MSG_ALERT_TONE_E.
90 typedef unsigned char MSG_ALERT_TONE_T;
94 * @brief Represents the default storage to save SMS. \n
95 * The values for this type SHOULD be in _MSG_SMS_SAVE_STORAGE_E.
97 typedef unsigned char MSG_SMS_SAVE_STORAGE_T;
101 * @brief Represents the type of number for SMS center address. \n
102 * The values for this type SHOULD be in _MSG_SMS_TON_E.
104 typedef unsigned char MSG_SMS_TON_T;
108 * @brief Represents the numbering plan ID for SMS center address. \n
109 * The values for this type SHOULD be in _MSG_SMS_NPI_E.
111 typedef unsigned char MSG_SMS_NPI_T;
115 * @brief Represents the protocol ID for SMS center address. \n
116 * The values for this type SHOULD be in _MSG_SMS_PID_E.
118 typedef unsigned char MSG_SMS_PID_T;
122 * @brief Represents the validity period of SMS. \n
123 * The values for this type SHOULD be in _MSG_VAL_PERIOD_E.
125 typedef unsigned char MSG_VAL_PERIOD_T;
129 * @brief Represents the class type of MMS. \n
130 * The values for this type SHOULD be in _MSG_MMS_MSG_CLASS_TYPE_E.
132 typedef unsigned char MSG_MMS_MSG_CLASS_TYPE_T;
136 * @brief Represents the expiry time of MMS. \n
137 * The values for this type SHOULD be in _MSG_MMS_EXPIRY_TIME_E.
139 typedef unsigned int MSG_MMS_EXPIRY_TIME_T;
143 * @brief Represents the delivery time of MMS. \n
144 * The values for this type SHOULD be in _MSG_MMS_DELIVERY_TIME_E.
146 typedef unsigned int MSG_MMS_DELIVERY_TIME_T;
150 * @brief Represents the reply charging type of MMS. \n
151 * The values for this type SHOULD be in _MSG_MMS_REPLY_CHARGING_TYPE_E.
153 typedef unsigned char MSG_MMS_REPLY_CHARGING_TYPE_T;
157 * @brief Represents the creation mode of MMS. \n
158 * The values for this type SHOULD be in _MSG_MMS_CREATION_MODE_E.
160 typedef unsigned char MSG_MMS_CREATION_MODE_T;
163 * @brief Represents the retrieve type for MMS home network. \n
164 * The values for this type SHOULD be in _MSG_MMS_HOME_RETRIEVE_TYPE_E.
166 typedef unsigned char MSG_MMS_HOME_RETRIEVE_TYPE_T;
170 * @brief Represents the retrieve type for MMS abroad network. \n
171 * The values for this type SHOULD be in _MSG_MMS_ABROAD_RETRIEVE_TYPE_E.
173 typedef unsigned char MSG_MMS_ABROAD_RETRIEVE_TYPE_T;
177 * @brief Represents the frequency of sending MMS read report. \n
178 * The values for this type SHOULD be in _MSG_MMS_SEND_READ_REPORT_E.
180 typedef unsigned char MSG_MMS_SEND_READ_REPORT_T;
184 * @brief Represents whether a push message is received or not. \n
185 * The values for this type SHOULD be in _MSG_PUSH_RECEIVE_TYPE_E.
187 typedef unsigned char MSG_PUSH_RECEIVE_TYPE_T;
191 * @brief Represents the service type for a push message. \n
192 * The values for this type SHOULD be in _MSG_PUSH_SERVICE_TYPE_E.
194 typedef unsigned char MSG_PUSH_SERVICE_TYPE_T;
198 * @brief Represents the language type for a cell broadcasting message. \n
199 * The values for this type SHOULD be in _MSG_CB_LANGUAGE_TYPE_E.
201 typedef unsigned char MSG_CB_LANGUAGE_TYPE_T;
205 * @brief Represents the SIM status from telephony. \n
206 * The values for this type SHOULD be in \ref _MSG_SIM_STATUS_E.
208 typedef unsigned char MSG_SIM_STATUS_T;
211 /*==================================================================================================
213 ==================================================================================================*/
216 * @brief Represents SMSC address information.
220 MSG_SMS_TON_T ton; /**< Type of number */
221 MSG_SMS_NPI_T npi; /**< Numbering plan ID */
222 char address[SMSC_ADDR_MAX+1]; /**< SMSC address */
223 } MSG_SMSC_ADDRESS_S;
227 * @brief Represents SMSC data information.
231 MSG_SMS_PID_T pid; /**< Protocol idendifier */
232 MSG_VAL_PERIOD_T valPeriod; /**< Validity period value */
233 char name[SMSC_NAME_MAX+1]; /**< SMSC name */
234 MSG_SMSC_ADDRESS_S smscAddr; /**< SMSC address structure */
239 * @brief Represents the information of a cell broadcasting channel.
243 bool bActivate; /**< Indicates whether the CB channel is activate or passive. */
244 unsigned int id; /**< Indicates the ID of a CB channel. */
245 char name[CB_CHANNEL_NAME_MAX+1]; /**< Indicates the name of a CB channel. */
246 } MSG_CB_CHANNEL_INFO_S;
250 * @brief Represents cell broadcasting channel information.
254 int channelCnt; /**< The count of CB channels */
255 MSG_CB_CHANNEL_INFO_S channelInfo[CB_CHANNEL_MAX]; /**< The structure of CB channel information */
260 * @brief Represents an general option.
264 bool bKeepCopy; /**< Indicates whether the SMS message copy is kept or not. */
265 MSG_ALERT_TONE_T alertTone; /**< Indicates the period of playing alert tone. */
266 bool bAutoErase; /**< Indicates whether the auto-erase option is enabled or not. */
271 * @brief Represents an SMS send option.
275 MSG_ENCODE_TYPE_T dcs; /**< Indicates the string encoding type. */
276 MSG_SMS_NETWORK_MODE_T netMode; /**< Indicates the network mode (CS/PS) to send SMS. */
277 bool bReplyPath; /**< Indicates whether the SMS reply path is set or not. */
278 bool bDeliveryReport; /**< Indicates whether the SMS delivery report will be sent or not. */
279 MSG_SMS_SAVE_STORAGE_T saveStorage; /**< Indicates the default storage to save SMS. */
284 * @brief Represents an SMSC list.
288 int selected; /**< Selected SMSC index */
289 int totalCnt; /**< The count of total SMSC addresses */
290 MSG_SMSC_DATA_S smscData[SMSC_LIST_MAX]; /**< SMSC data information list*/
295 * @brief Represents an MMS send option.
299 MSG_MMS_MSG_CLASS_TYPE_T msgClass;
300 MSG_PRIORITY_TYPE_T priority; /**< Indicates the priority of the message. */
301 MSG_MMS_EXPIRY_TIME_T expiryTime; /**< Indicates the time when the message is to be removed from the MMSC. */
302 MSG_MMS_DELIVERY_TIME_T deliveryTime; /**< Indicates the message transmission time which is set in the MMSC. */
303 unsigned int customDeliveryTime; /**< Indicates the message transmission time which is set in the MMSC. */
304 bool bSenderVisibility; /**< Indicates whether the address is hidden or not. */
305 bool bDeliveryReport; /**< Indicates whether the delivery report will be sent or not. */
306 bool bReadReply; /**< Indicates whether the read report will be sent or not. */
307 bool bKeepCopy; /**< Indicates whether the message copy is kept or not. */
308 bool bBodyReplying; /**< Indicates whether the body is included when replying or not. */
309 bool bHideRecipients; /**< Indicates whether the recipients are hidden or not. */
311 MSG_MMS_REPLY_CHARGING_TYPE_T replyCharging;
312 unsigned int replyChargingDeadline;
313 unsigned int /*long*/ replyChargingSize;
315 MSG_MMS_CREATION_MODE_T creationMode;
320 * @brief Represents an MMS receive option.
324 MSG_MMS_HOME_RETRIEVE_TYPE_T homeNetwork; /**< Indicates the retrieve type for MMS home network. */
325 MSG_MMS_ABROAD_RETRIEVE_TYPE_T abroadNetwok; /**< Indicates the retrieve type for MMS abroad network. */
326 bool readReceipt; /**< Indicates whether the read report will be sent or not. */
327 bool bDeliveryReceipt; /**< Indicates whether the delivery report will be sent or not. */
328 bool bRejectUnknown; /**< Indicates whether unknown addresses are rejected or not. */
329 bool bRejectAdvertisement; /**< Indicates whether advertisement is rejected or not. */
334 * @brief Represents an MMS style option.
338 unsigned int fontSize;
340 bool bFontStyleItalic;
341 bool bFontStyleUnderline;
342 unsigned int fontColorRed;
343 unsigned int fontColorGreen;
344 unsigned int fontColorBlue;
345 unsigned int fontColorHue;
346 unsigned int bgColorRed;
347 unsigned int bgColorGreen;
348 unsigned int bgColorBlue;
349 unsigned int bgColorHue;
350 unsigned int pageDur;
351 unsigned int pageCustomDur;
352 unsigned int pageDurManual;
353 } MSG_MMS_STYLEOPT_S;
357 * @brief Represents a push message option.
361 bool bReceive; /**< Indicates whether the push message is received or not. */
362 MSG_PUSH_SERVICE_TYPE_T serviceType; /**< Indicates the service type of a push message. */
367 * @brief Represents a cell broadcasting message option.
371 bool bReceive; /**< Indicates whether the CB message is received or not. */
372 bool bAllChannel; /**< Indicates whether All Channel's CB message is received or not. */
373 int maxSimCnt; /**< Indicates the number of channels which can be stored in SIM. */
374 MSG_CB_CHANNEL_S channelData; /**< Indicates the cell broadcasting channel information. */
375 bool bLanguage[CB_LANG_TYPE_MAX]; /**< Indicates whether the language name of a cell broadcasting message is set or not. */
380 * @brief Represents a voice mail number option.
384 char mailNumber[MAX_PHONE_NUMBER_LEN+1];
385 } MSG_VOICEMAIL_OPT_S;
389 * @brief Represents a MMS size option.
398 * @brief Represents setting information.
402 MSG_OPTION_TYPE_T type; /**< The option type in a setting */
406 MSG_GENERAL_OPT_S generalOpt; /**< General option */
407 MSG_SMS_SENDOPT_S smsSendOpt; /**< SMS send option */
408 MSG_SMSC_LIST_S smscList; /**< SMSC list option */
409 MSG_MMS_SENDOPT_S mmsSendOpt; /**< MMS send option */
410 MSG_MMS_RECVOPT_S mmsRecvOpt; /**< MMS receive option */
411 MSG_MMS_STYLEOPT_S mmsStyleOpt; /**< MMS style option */
412 MSG_PUSHMSG_OPT_S pushMsgOpt; /**< Push message option */
413 MSG_CBMSG_OPT_S cbMsgOpt; /**< Cell broadcasting message option */
414 MSG_VOICEMAIL_OPT_S voiceMailOpt; /**< voice mail option */
415 MSG_MSGSIZE_OPT_S msgSizeOpt; /**< MMS size option */
420 /*==================================================================================================
422 ==================================================================================================*/
425 * @brief Represents the values of an option type. \n
426 * This enum is used as the value of MSG_OPTION_TYPE_T.
428 enum _MSG_OPTION_TYPE_E
430 MSG_GENERAL_OPT, /**< General option */
431 MSG_SMS_SENDOPT, /**< SMS send option */
432 MSG_SMSC_LIST, /**< SMSC list option */
433 MSG_MMS_SENDOPT, /**< MMS send option */
434 MSG_MMS_RECVOPT, /**< MMS receive option */
435 MSG_MMS_CLASSOPT, /**< MMS class option such as personal, advertisement, and informational */
436 MSG_MMS_STYLEOPT, /**< MMS style option */
437 MSG_PUSHMSG_OPT, /**< Push message option */
438 MSG_CBMSG_OPT, /**< Cell broadcasting message option */
439 MSG_VOICEMAIL_OPT, /**< Voice mail option */
440 MSG_MSGSIZE_OPT, /**< Message size option */
445 * @brief Represents the values of an SMS network mode. \n
446 * This enum is used as the value of MSG_SMS_NETWORK_MODE_T.
448 enum _MSG_SMS_NETWORK_MODE_E
450 MSG_SMS_NETWORK_PS_ONLY = 0x01, /**< Packet switched */
451 MSG_SMS_NETWORK_CS_ONLY = 0x02, /**< Circuit switched */
452 MSG_SMS_NETWORK_PS_FIRST = 0x03, /**< Packet switching preferred */
457 * @brief Represents the value of period of playing alert tone. \n
458 * The values for this type SHOULD be in MSG_ALERT_TONE_T.
460 enum _MSG_ALERT_TONE_E
463 MSG_ALERT_TONE_2MINS,
464 MSG_ALERT_TONE_5MINS,
465 MSG_ALERT_TONE_10MINS,
470 * @brief Represents the value of a default storage to save SMS. \n
471 * The values for this type SHOULD be in MSG_SMS_SAVE_STORAGE_T.
473 enum _MSG_SMS_SAVE_STORAGE_E
475 MSG_SMS_SAVE_STORAGE_SIM,
476 MSG_SMS_SAVE_STORAGE_PHONE,
481 * @brief Represents the values of the type of number for SMS center address. \n
482 * This enum is used as the value of MSG_SMS_TON_T.
486 MSG_TON_UNKNOWN = 0, /**< Unknown */
487 MSG_TON_INTERNATIONAL, /**< International */
488 MSG_TON_NATIONAL, /**< National */
489 MSG_TON_NETWORK, /**< Network */
490 MSG_TON_SUBSCRIBER, /**< Subscriber */
491 MSG_TON_ALPHANUMERIC, /**< Alpha numeric */
492 MSG_TON_ABBREVIATED, /**< Abbreviated */
493 MSG_TON_RESERVE, /**< Reserve */
498 * @brief Represents the values of the numbering plan ID for SMS center address. \n
499 * This enum is used as the value of MSG_SMS_NPI_T.
503 MSG_NPI_UNKNOWN = 0, /**< Unknown */
504 MSG_NPI_ISDN = 1, /**< ISDN */
505 MSG_NPI_DATA = 3, /**< Data */
506 MSG_NPI_TELEX = 4, /**< Telex */
507 MSG_NPI_SMSC = 5, /**< SMSC */
508 MSG_NPI_NATIONAL = 8, /**< National */
509 MSG_NPI_PRIVATE = 9, /**< Private */
510 MSG_NPI_IDENTIFICATION_ERMES = 10, /**< Identification ermes */
511 MSG_NPI_IDENTIFICATION_RESERVED = 0xF /**< Identification reserved */
516 * @brief Represents the values of the protocol ID for SMS center address. \n
517 * This enum is used as the value of MSG_SMS_PID_T.
521 MSG_PID_NONE, /**< None */
522 MSG_PID_TEXT, /**< Text */
523 MSG_PID_VOICE, /**< Voice */
524 MSG_PID_FAX, /**< Fax */
525 MSG_PID_X400, /**< X400 */
526 MSG_PID_ERMES, /**< Ermes */
527 MSG_PID_EMAIL, /**< Email */
528 MSG_PID_MAX /**< Default */
533 * @brief Represents the values of the Validity Period for SMS center. \n
534 * This enum is used as the value of MSG_VAL_PERIOD_T.
536 enum _MSG_VAL_PERIOD_E
541 MSG_VAL_2WEEKS = 180,
542 MSG_VAL_MAXIMUM = 255,
546 enum _MSG_MMS_EXPIRY_TIME_E
548 MSG_EXPIRY_TIME_MAXIMUM = 0,
549 MSG_EXPIRY_TIME_1DAY = 86400,
550 MSG_EXPIRY_TIME_2DAYS = 2*86400,
551 MSG_EXPIRY_TIME_1WEEK = 604800,
552 MSG_EXPIRY_TIME_2WEEKS = 2*604800,
556 enum _MSG_MMS_DELIVERY_TIME_E
558 MSG_DELIVERY_TIME_IMMEDIATLY = 0,
559 MSG_DELIVERY_TIME_1HOUR = 3600,
560 MSG_DELIVERY_TIME_1DAY = 86400,
561 MSG_DELIVERY_TIME_1WEEK = 604800,
562 MSG_DELIVERY_TIME_CUSTOM
566 enum _MSG_MMS_MSG_CLASS_TYPE_E
568 MSG_CLASS_PERSONAL, /**<Personal message class*/
569 MSG_CLASS_ADVERTISEMENT, /**<Advertisement message class*/
570 MSG_CLASS_INFORMATIONAL, /**<Informational message class */
571 MSG_CLASS_AUTO, /**<Automatic */
572 MSG_CLASS_MAX /**< */
576 enum _MSG_MMS_REPLY_CHARGING_TYPE_E
578 MSG_REPLY_CHARGING_NONE, /**<Reply-Charging none */
579 MSG_REPLY_CHARGING_REQUESTED, /**<Reply-Charging requested */
580 MSG_REPLY_CHARGING_REQUESTED_TEXT_ONLY, /**<Reply-Charging requested text-only */
581 MSG_REPLY_CHARGING_ACCEPTED, /**<Reply-Charging accepted */
582 MSG_REPLY_CHARGING_ACCEPTED_TEXT_ONLY, /**<Reply-Charging accepted text-only */
583 MSG_REPLY_CHARGING_MAX
587 enum _MSG_MMS_CREATION_MODE_E
589 MSG_CREATION_MODE_RESTRICTED,
590 MSG_CREATION_MODE_WARNING,
591 MSG_CREATION_MODE_FREE
596 * @brief Represents the values of the retrieve type for MMS home network. \n
597 * This enum is used as the value of MSG_MMS_HOME_RETRIEVE_TYPE_T.
599 enum _MSG_MMS_HOME_RETRIEVE_TYPE_E
601 MSG_HOME_AUTO_DOWNLOAD, /**< Home auto download */
602 MSG_HOME_MANUAL, /**< Home manual */
603 MSG_HOME_RESTRICTED, /**< Home restricted */
604 MSG_HOME_REJECT, /**< Home reject */
605 MSG_HOME_MAX /**< Default */
610 * @brief Represents the values of the retrieve type for MMS abroad network. \n
611 * This enum is used as the value of MSG_MMS_ABROAD_RETRIEVE_TYPE_T.
613 enum _MSG_MMS_ABROAD_RETRIEVE_TYPE_E
615 MSG_ABROAD_AUTO_DOWNLOAD, /**< Abroad auto download */
616 MSG_ABROAD_MANUAL, /**< Abroad manual */
617 MSG_ABROAD_RESTRICTED, /**< Abroad restricted */
618 MSG_ABROAD_REJECT, /**< Abroad reject */
619 MSG_ABROAD_MAX /**< Default */
624 * @brief Represents the values of the frequency of sending MMS read report. \n
625 * This enum is used as the value of MSG_MMS_SEND_READ_REPORT_T.
627 enum _MSG_MMS_SEND_READ_REPORT_E
629 MSG_SEND_READ_REPORT_ALWAYS, /**< Read report always */
630 MSG_SEND_READ_REPORT_NEVER, /**< Read report never */
631 MSG_SEND_READ_REPORT_REQUEST, /**< Read report request */
632 MSG_SEND_READ_REPORT_MAX /**< Default */
637 * @brief Represents the values of the service type for a push message. \n
638 * This enum is used as the value of MSG_PUSH_SERVICE_TYPE_T.
640 enum _MSG_PUSH_SERVICE_TYPE_E
642 MSG_PUSH_SERVICE_ALWAYS, /**< Push message service always */
643 MSG_PUSH_SERVICE_PROMPT, /**< Push message service prompt */
644 MSG_PUSH_SERVICE_NEVER, /**< Push message service never */
649 * @brief Represents the values of the language type for a cell broadcasting message. \n
650 * This enum is used as the value of MSG_CB_LANGUAGE_TYPE_T.
652 enum _MSG_CB_LANGUAGE_TYPE_E
654 MSG_CBLANG_TYPE_ALL, /**< CB check all */
655 MSG_CBLANG_TYPE_ENG, /**< CB message English */
656 MSG_CBLANG_TYPE_GER, /**< CB message Germany */
657 MSG_CBLANG_TYPE_FRE, /**< CB message France */
658 MSG_CBLANG_TYPE_ITA, /**< CB message Italy */
659 MSG_CBLANG_TYPE_NED, /**< CB message Netherland */
660 MSG_CBLANG_TYPE_SPA, /**< CB message Spain */
661 MSG_CBLANG_TYPE_POR, /**< CB message Portugal */
662 MSG_CBLANG_TYPE_SWE, /**< CB message Sweden */
663 MSG_CBLANG_TYPE_TUR, /**< CB message Turkey */
664 MSG_CBLANG_TYPE_MAX /**< Default */
669 * @brief Represents the values of SIM status. \n
670 * This enum is used as the value of MSG_SIM_STATUS_T.
672 enum _MSG_SIM_STATUS_E
674 MSG_SIM_STATUS_NORMAL = 0,
675 MSG_SIM_STATUS_CHANGED,
676 MSG_SIM_STATUS_NOT_FOUND,
684 #endif // MSG_SETTING_TYPES_H