SmsGuiInterfaceType.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:16k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  * SmsGuiInterfaceType.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for MMI SMS APP.
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * removed!
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * removed!
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * removed!
  66.  *
  67.  * removed!
  68.  * removed!
  69.  * removed!
  70.  *
  71.  * removed!
  72.  * removed!
  73.  * removed!
  74.  *
  75.  * removed!
  76.  * removed!
  77.  * removed!
  78.  *
  79.  * removed!
  80.  * removed!
  81.  * removed!
  82.  *
  83.  * removed!
  84.  * removed!
  85.  * removed!
  86.  *
  87.  * removed!
  88.  * removed!
  89.  * removed!
  90.  *
  91.  * removed!
  92.  * removed!
  93.  * removed!
  94.  *
  95.  * removed!
  96.  * removed!
  97.  * removed!
  98.  *
  99.  * removed!
  100.  * removed!
  101.  * removed!
  102.  *
  103.  *------------------------------------------------------------------------------
  104.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  105.  *============================================================================
  106.  ****************************************************************************/
  107. /**
  108.  * Copyright Notice
  109.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  110.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  111.  *  (It is illegal to remove this copyright notice from this software or any
  112.  *  portion of it)
  113.  */
  114. /**************************************************************
  115.    FILENAME : SmsGuiInterfaceType.h
  116.    PURPOSE     : ???
  117.    REMARKS     : nil
  118.    AUTHOR      : Manu Vikram and Magesh k
  119.    DATE     : ???
  120. **************************************************************/
  121. #ifndef _PIXCOM_SMS_GUI_INTERFACE_TYPE_H
  122. #define _PIXCOM_SMS_GUI_INTERFACE_TYPE_H
  123. #include "PixtelDataTypes.h"
  124. #include "MessagesL4Def.h"
  125. #include "MessagesMiscell.h"
  126. #include "customer_ps_inc.h"
  127. #if defined(__MMI_MESSAGES_TEMPLATE__)
  128. #ifdef MMI_ON_HARDWARE_P
  129. #include "nvram_user_defs.h"
  130. #endif 
  131. #ifndef NVRAM_SMS_TEMPL_RECORD_SIZE
  132. #define NVRAM_SMS_TEMPL_RECORD_SIZE      84
  133. #endif 
  134. #endif /* defined(__MMI_MESSAGES_TEMPLATE__) */ 
  135. #define  MAX_USE_NUMBERS               6
  136. #ifdef __MMI_MESSAGES_USE_URL__
  137. #define     MAX_URL_LEN    (512)
  138. #define TO_LOWER(ch) ( (((ch)>='A') && ((ch)<='Z'))?('a'+((ch)-'A')) :((ch))  )
  139. #endif /* __MMI_MESSAGES_USE_URL__ */ 
  140. #define MAX_WAITING_TYPE_NUM     4
  141. #define MAX_WAITING_LINE_NUM     2
  142. #define MAX_SEND_TO_MANY_ITEMS   10
  143. typedef struct
  144. {
  145.     U8 number[MAX_WAITING_TYPE_NUM];
  146. } msg_waiting_ind_struct;
  147. typedef struct
  148. {
  149.     U8 delivered;
  150.     U8 type;
  151.     U8 number[20];
  152.     U8 timestamp[6];
  153. } msg_deliver_report_struct;
  154. typedef struct
  155. {
  156.     U16 length;
  157.     U8 fo;
  158.     U8 dcs;
  159.     U8 totalseg;
  160.     U8 number[(MAX_DIGITS_SMS + 1) *ENCODING_LENGTH];
  161.     U8 timestamp[6];
  162.     U8 *data;
  163. } msg_class0_msg_struct;
  164. typedef struct
  165. {
  166.     /* send by group */
  167.     U16 TotalSendSmsNumbers;
  168.     U16 *PhbIndex;
  169.     /* send to many */
  170.     U8 CurrSendSmsNumbers;
  171.     S8 PhbNumber[MAX_SEND_TO_MANY_ITEMS][(MAX_DIGITS + 2) *ENCODING_LENGTH];
  172. } msg_send_many_struct;
  173. typedef enum
  174. {
  175.     MSG_NEW_NONE,
  176.     MSG_NEW_VOICEMAIL,
  177.     MSG_NEW_FAX,
  178.     MSG_NEW_EMAIL,
  179.     MSG_NEW_MSG_NORMAL,
  180. #if (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT))
  181.     MSG_NEW_JMMS_MMS,
  182.     MSG_NEW_JMMS_JAVA_MMS,
  183. #endif /* (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT)) */ 
  184. #if (defined (JATAAYU_SUPPORT) && defined(WAP_SUPPORT))
  185.     MSG_NEW_PUSH, 
  186.     MSG_NEW_PROV_SETTING,
  187. #endif /* (defined (JATAAYU_SUPPORT) && defined(WAP_SUPPORT)) */ 
  188. #if defined(__MMI_SMART_MESSAGE_MT__) || ( defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__))
  189.     MSG_NEW_MSG_PICTURE,
  190.     MSG_NEW_MSG_RINGTONE,
  191. #endif /* defined(__MMI_SMART_MESSAGE_MT__) || ( defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)) */ 
  192.     MSG_NEW_MSG_CLASS0,
  193.     MSG_NEW_DELIVERY_REPORT
  194. } msg_new_msg_enum;
  195. typedef enum
  196. {
  197.     SEND_CASE_SEND_ONLY,
  198.     SEND_CASE_SAVE_N_SEND,
  199.     SEND_CASE_SAVE_ONLY,
  200.     SEND_CASE_REPLY,
  201.     SEND_CASE_SEND_TO_MANY,
  202.     SEND_CASE_SEND_BY_GROUP,
  203.     SEND_CASE_SEND_FROM_PHB,
  204.     SEND_CASE_SEND_VCARD,
  205.     SEND_CASE_SEND_CHAT,
  206.     SEND_CASE_SEND_CLUB_CODE,
  207. //KP Jerry add on 2007-4-12 start
  208. #ifdef __MMI_MESSAGES_SENDMSG_QUICKLY__
  209.     SEND_CASE_SEND_GET_CURNUMBER,
  210. #endif
  211. //KP Jerry add on 2007-4-12 end
  212.     SEND_CASE_REPLY_FROM_OTHER_APP
  213. } msg_send_case_enum;
  214. //KP Jerry add on 2007-4-12 start
  215. #ifdef __MMI_MESSAGES_SENDMSG_QUICKLY__
  216. typedef enum
  217. {
  218. CURNUM_NULL,
  219. CURNUM_OVERLONG,
  220. CURNUM_NORMAL
  221. } MSG_GETCURNUMSTATE;
  222. #endif
  223. //KP Jerry add on 2007-4-12 end
  224. typedef enum
  225. {
  226.     SEND_SAVE_NIL = 0,
  227.     SEND_SUCCESS,
  228.     SEND_FAILED,
  229.     SAVE_SUCCESS,
  230.     SAVE_FAILED,
  231.     SEND_SUCESS_SAVE_FILED,
  232.     SEND_FAILED_SAVE_SUCCESS,
  233.     SEND_SAVE_SUCESS,
  234.     SEND_SAVE_FAILED,
  235.     SAVE_ABORT_SENDING_SMS,
  236.     SAVE_WHEN_SC_IS_EMPTY,
  237.     SAVE_WHEN_SC_IS_EMPTY_FAILED,
  238.     SAVE_WHEN_SC_IS_EMPTY_SUCCESS,
  239.     SAVE_AFTER_FDN_CHECK,
  240.     SAVE_AFTER_FDN_CHECK_FAILED,
  241.     SAVE_AFTER_FDN_CHECK_SUCCESS
  242. } msg_send_save_status_enum;
  243. typedef enum
  244. {
  245.     TO_DISPLAY_MESSAGE_LIST_NONE,
  246.     TO_DISPLAY_MESSAGE_LIST_INBOX,
  247.     TO_DISPLAY_MESSAGE_LIST_OUTBOX,
  248. #ifdef __MMI_MESSAGES_DRAFT_BOX__
  249.     TO_DISPLAY_MESSAGE_LIST_DRAFTBOX,
  250. #endif 
  251.     TO_DISPLAY_MESSAGE_LIST_INBOX_AFTER_DELETE_ALL,
  252.     TO_DISPLAY_MESSAGE_LIST_OUTBOX_AFTER_SAVE_MSG,
  253.     TO_DISPLAY_MESSAGE
  254. } msg_display_list_enum;
  255. typedef enum
  256. {
  257.     MSG_STATUS_IDLE,
  258.     MSG_STATUS_INPUT_NUM
  259. } msg_status_enum;
  260. #ifdef __MMI_GPRS_FEATURES__
  261. typedef enum
  262. {
  263.     MMI_SMS_PREFER_GPRS,
  264.     MMI_SMS_PREFER_GSM,
  265.     MMI_SMS_GSM_ONLY
  266. } msg_bearer_enum;
  267. #endif /* __MMI_GPRS_FEATURES__ */ 
  268. //KP Jerry add for third sevice on 2007-03-26 start
  269. #ifdef __KONG_NET_SP__
  270. typedef enum
  271. {
  272. THUMB_WORLD_TYPE_1,
  273. THUMB_WORLD_TYPE_2,
  274. THUMB_WORLD_TYPE_3,
  275. THUMB_WORLD_TYPE_4,
  276. THUMB_WORLD_TYPE_5,
  277. THUMB_WORLD_TYPE_6,
  278. THUMB_WORLD_TYPE_7,
  279. THUMB_WORLD_TYPE_8,
  280. THUMB_WORLD_TYPE_9,
  281. THUMB_WORLD_TYPE_10,
  282. WEATHER_FORECAST_TYPE,
  283. HANDPHONE_PAPER_TYPE,
  284. CITY_FRIEND_TYPE,
  285. NUM_OF_THEMB_WORLD_TYPES
  286. }ThumbWorldType;
  287. typedef enum
  288. {
  289. SECRETROOM_TYPE_1,
  290. SECRETROOM_TYPE_2,
  291. SECRETROOM_TYPE_3,
  292. SECRETROOM_TYPE_4,
  293. SECRETROOM_TYPE_5,
  294. SECRETROOM_TYPE_6,
  295. SECRETROOM_TYPE_7,
  296. SECRETROOM_TYPE_8,
  297. SECRETROOM_TYPE_9,
  298. SECRETROOM_TYPE_10,
  299. NUMBER_OF_SECRETROOM_TYPE
  300. }SecretRoomType;
  301. typedef enum
  302. {
  303. WONDERFUL_TYPE_1,
  304. WONDERFUL_TYPE_2,
  305. WONDERFUL_TYPE_3,
  306. WONDERFUL_TYPE_4,
  307. WONDERFUL_TYPE_5,
  308. WONDERFUL_TYPE_6,
  309. WONDERFUL_TYPE_7,
  310. WONDERFUL_TYPE_8,
  311. WONDERFUL_TYPE_9,
  312. WONDERFUL_TYPE_10,
  313. WONDERFUL_MORE_TYPE_1,
  314. WONDERFUL_MORE_TYPE_2,
  315. WONDERFUL_MORE_TYPE_3,
  316. WONDERFUL_MORE_TYPE_4,
  317. WONDERFUL_MORE_TYPE_5,
  318. WONDERFUL_MORE_TYPE_6,
  319. WONDERFUL_MORE_TYPE_7,
  320. WONDERFUL_MORE_TYPE_8,
  321. WONDERFUL_MORE_TYPE_9,
  322. WONDERFUL_MORE_TYPE_10,
  323. PIC_MELODY_DWD_TYPE_1,
  324. PIC_MELODY_DWD_TYPE_2,
  325. PIC_MELODY_DWD_TYPE_3,
  326. PIC_MELODY_DWD_TYPE_4,
  327. PIC_MELODY_DWD_TYPE_5,
  328. PIC_MELODY_DWD_TYPE_6,
  329. PIC_MELODY_DWD_TYPE_7,
  330. PIC_MELODY_DWD_TYPE_8,
  331. PIC_MELODY_DWD_TYPE_9,
  332. PIC_MELODY_DWD_TYPE_10,
  333. FASHION_LIVE_TYPE_1,
  334. FASHION_LIVE_TYPE_2,
  335. FASHION_LIVE_TYPE_3,
  336. FASHION_LIVE_TYPE_4,
  337. FASHION_LIVE_TYPE_5,
  338. FASHION_LIVE_TYPE_6,
  339. FASHION_LIVE_TYPE_7,
  340. FASHION_LIVE_TYPE_8,
  341. NUM_OF_WONDERFUL_TYPES
  342. }WonderfulType;
  343. typedef enum
  344. {
  345. ENTERTAINMENT_TYPE_CM_1,
  346. ENTERTAINMENT_TYPE_CM_2,
  347. ENTERTAINMENT_TYPE_CM_3,
  348. ENTERTAINMENT_TYPE_CM_4,
  349. ENTERTAINMENT_TYPE_CM_5,
  350. ENTERTAINMENT_TYPE_CM_6,
  351. ENTERTAINMENT_TYPE_CM_7,
  352. ENTERTAINMENT_TYPE_CM_8,
  353. ENTERTAINMENT_TYPE_CM_9,
  354. ENTERTAINMENT_TYPE_CM_10,
  355. ENTERTAINMENT_MORE_TYPE_CM_1,
  356. ENTERTAINMENT_MORE_TYPE_CM_2,
  357. ENTERTAINMENT_MORE_TYPE_CM_3,
  358. ENTERTAINMENT_MORE_TYPE_CM_4,
  359. ENTERTAINMENT_MORE_TYPE_CM_5,
  360. ENTERTAINMENT_MORE_TYPE_CM_6,
  361. ENTERTAINMENT_MORE_TYPE_CM_7,
  362. ENTERTAINMENT_MORE_TYPE_CM_8,
  363. ENTERTAINMENT_MORE_TYPE_CM_9,
  364. ENTERTAINMENT_MORE_TYPE_CM_10,
  365. /*
  366. ENTERTAINMENT_TYPE_CM_6_MORE_1,
  367. ENTERTAINMENT_TYPE_CM_6_MORE_2,
  368. ENTERTAINMENT_TYPE_CM_7_MORE_1,
  369. ENTERTAINMENT_TYPE_CM_7_MORE_2,
  370. ENTERTAINMENT_TYPE_CM_7_MORE_3,
  371. ENTERTAINMENT_TYPE_CM_7_MORE_4,
  372. ENTERTAINMENT_TYPE_CM_8_MORE_1,
  373. ENTERTAINMENT_TYPE_CM_8_MORE_2,
  374. ENTERTAINMENT_TYPE_CM_8_MORE_3,
  375. ENTERTAINMENT_TYPE_CM_8_MORE_4,
  376. ENTERTAINMENT_TYPE_CM_9_MORE_1,
  377. ENTERTAINMENT_TYPE_CM_9_MORE_2,
  378. ENTERTAINMENT_TYPE_CM_9_MORE_3,
  379. ENTERTAINMENT_TYPE_CM_9_MORE_4,
  380. ENTERTAINMENT_TYPE_CM_9_MORE_5,
  381. */
  382. /*********************************/
  383. ENTERTAINMENT_TYPE_CU_1,
  384. ENTERTAINMENT_TYPE_CU_2,
  385. ENTERTAINMENT_TYPE_CU_3,
  386. ENTERTAINMENT_TYPE_CU_4,
  387. ENTERTAINMENT_TYPE_CU_5,
  388. ENTERTAINMENT_TYPE_CU_6_MORE_1,
  389. ENTERTAINMENT_TYPE_CU_6_MORE_2,
  390. ENTERTAINMENT_TYPE_CU_6_MORE_3,
  391. ENTERTAINMENT_TYPE_CU_6_MORE_4,
  392. ENTERTAINMENT_TYPE_CU_7_MORE_1,
  393. ENTERTAINMENT_TYPE_CU_7_MORE_2,
  394. ENTERTAINMENT_TYPE_CU_7_MORE_3,
  395. ENTERTAINMENT_TYPE_CU_7_MORE_4,
  396. ENTERTAINMENT_TYPE_CU_7_MORE_5,
  397. ENTERTAINMENT_TYPE_CU_7_MORE_6,
  398. ENTERTAINMENT_TYPE_CU_8_MORE_1,
  399. ENTERTAINMENT_TYPE_CU_8_MORE_2,
  400. ENTERTAINMENT_TYPE_CU_9_MORE_1,
  401. ENTERTAINMENT_TYPE_CU_9_MORE_2,
  402. ENTERTAINMENT_TYPE_CU_9_MORE_3,
  403. ENTERTAINMENT_TYPE_CU_9_MORE_4,
  404. ENTERTAINMENT_TYPE_CU_9_MORE_5,
  405. ENTERTAINMENT_TYPE_CU_10_MORE_1,
  406. ENTERTAINMENT_TYPE_CU_10_MORE_2,
  407. ENTERTAINMENT_TYPE_CU_10_MORE_3,
  408. ENTERTAINMENT_TYPE_CU_10_MORE_4,
  409. ENTERTAINMENT_TYPE_CU_10_MORE_5,
  410. ENTERTAINMENT_TYPE_CU_10_MORE_6,
  411. ENTERTAINMENT_TYPE_CU_10_MORE_7,
  412. NUM_OF_ENTERTAINMENT_TYPES
  413. }EntertainmentType;
  414. #endif
  415. //KP Jerry add for third sevice on 2007-03-26 end
  416. #if defined(__MMI_SMART_MESSAGE_MT__) || (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__))
  417. typedef enum
  418. {
  419.     MMI_NSM_PIC_SUCCESS,
  420.     MMI_NSM_PIC_FORMAT_ERROR,
  421.     MMI_NSM_PIC_MEMORY_ERROR
  422. } pmsg_error_enum;
  423. #endif /* defined(__MMI_SMART_MESSAGE_MT__) || (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)) */ 
  424. #ifdef __MMI_UNIFIED_MESSAGE__
  425. typedef enum
  426. {
  427.     MMI_SMS_PS_ACTION_DEFAULT,
  428.     MMI_SMS_PS_ACTION_SEND_SUCCESS_REMOVE_MSG,
  429.     MMI_SMS_PS_ACTION_MOVE_MSG,
  430.     MMI_SMS_PS_ACTION_TYPE_NUM
  431. } mmi_msg_post_send_action_type_enum;
  432. #endif /* __MMI_UNIFIED_MESSAGE__ */ 
  433. #ifdef __MMI_MESSAGES_USE_URL__
  434. #define IS_GSM_SPECIAL_CHAR(c)   (( (c)==0x000C || (c)==0x005B || (c)==0x005C || (c)==0x005D || (c)==0x005E || (c)==0x007B || (c)==0x007C || (c)==0x007A || (c)==0x007E))
  435. #define IS_GSM_CHAR(c)  (((c)<=0x007f || IS_GSM_SPECIAL_CHAR((c)))?1:0)
  436. #endif /* __MMI_MESSAGES_USE_URL__ */ 
  437. typedef struct
  438. {
  439.     S32 currHiliteIndex;
  440.     S32 currBoxIndex;
  441.     U16 MessagesScrnIdToDelHistoryNodes;
  442.     U16 MessagesScrnIdDelUptoHistoryNodes;
  443.     U16 msg_ind_index;
  444.     U16 msg_ind_chat_index;
  445.     U8 msg_ind_in_idle;
  446.     U8 msg_ind_after_call;
  447.     U8 msg_class0_ind;
  448.     U8 msg_full_ind;
  449.     U8 msg_exceed_ind;
  450.     U8 msg_exceed_type;
  451.     U8 msg_deliver_ind;
  452.     U8 msg_waiting_ind;
  453.     U8 msg_waiting_line_number;
  454.     U8 msg_init;        /* init to be false */
  455.     U8 number_from_phb; /* init to be 0 */
  456. //KP Jerry add for third sevice on 2007-03-26 start
  457. #ifdef __KONG_NET_SP__  
  458.        S8   dfmsg[50];
  459. #endif
  460. //KP Jerry add for third sevice on 2007-03-26 end
  461.     S8 smsPhoneNumber[(MAX_DIGITS + 1) *ENCODING_LENGTH];
  462. #ifdef __MMI_MESSAGES_TEMPLATE__
  463.     S8 *templates[NUM_TEMPLATES];
  464.     S8 scratchTemplRec[NVRAM_SMS_TEMPL_RECORD_SIZE + ENCODING_LENGTH];
  465. #endif /* __MMI_MESSAGES_TEMPLATE__ */ 
  466. #ifdef __MMI_UNIFIED_MESSAGE__
  467.     U8 is_background_process;
  468.     U8 post_send_action;
  469. #endif /* __MMI_UNIFIED_MESSAGE__ */ 
  470.     S8 *numbersList[MAX_USE_NUMBERS];
  471. #ifdef __MMI_MESSAGES_USE_URL__
  472.     S8 *URLlist[MAX_USE_NUMBERS];
  473.     U16 URLCount;
  474. #endif /* __MMI_MESSAGES_USE_URL__ */ 
  475.     U8 PhbSmsInterfaceState;                    /* MMI_PHB_SMS_INTERFACE */
  476.     msg_display_list_enum toDisplayMessageList; /* init to be TO_DISPLAY_MESSAGE_LIST_NONE */
  477.     msg_send_case_enum sendMessageCase;
  478.     msg_send_save_status_enum sendSaveStatus;
  479.     msg_status_enum msg_status;                 /* store the status in number editing screen */
  480.     msg_waiting_ind_struct msg_waiting_info[MAX_WAITING_LINE_NUM];      /* init to zero */
  481.     msg_class0_msg_struct *msg_class0_p;    /* init to NULL */
  482.     msg_deliver_report_struct *msg_deliver_report[MAX_STATUS_REPORT_NUM];       /* init to NULL */
  483.     msg_send_many_struct msg_send_info;
  484. #if defined(__MMI_SMART_MESSAGE_MT__) || (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__))
  485.     U16 dest_port;
  486. #endif 
  487. } msg_context_struct;
  488. extern msg_context_struct g_msg_cntx;
  489. #if defined(__MMI_SMART_MESSAGE_MT__) || (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__))
  490. #define MAX_BMP_SEG     (3)
  491. #define MAX_PICMSG_TEXT_SEGMENT     (((MMI_SMS_MAX_MSG_SEG-MAX_BMP_SEG)>5)?(5):(MMI_SMS_MAX_MSG_SEG-MAX_BMP_SEG))
  492. #define  DEFAULT_DCS_ALLOCATED_LENGTH  (MMI_SMS_MAX_MSG_SEG*153)
  493. #define UCS2_DCS_ALLOCATED_LENGTH      (MMI_SMS_MAX_MSG_SEG*67)
  494. #define MAX_PICMSG_DEFAULT_DCS_TEXT_LEN   (MAX_PICMSG_TEXT_SEGMENT*120)
  495. #define MAX_PICMSG_UCS2_DCS_TEXT_LEN   (MAX_PICMSG_TEXT_SEGMENT*60)
  496. #endif /* defined(__MMI_SMART_MESSAGE_MT__) || (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)) */ 
  497. #if (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__))
  498. //#define NSM2_GSM7_CHARACTER_LIMIT     612
  499. //#define NSM2_GSM8_CHARACTER_LIMIT   120               /* */
  500. #define PIC_BUFF_MAX_SIZE     (640)
  501. typedef struct
  502. {
  503.     S32 textlength;
  504.     S32 max_textlength;
  505.     S32 picbuffer_length;
  506.     S32 pic_height;
  507.     S32 pic_width;
  508.     S32 UCS2_count;
  509.     S32 remaining_length;
  510.     S32 cursor_pos_after_template;  /* Only use when template inserted */
  511.     U8 textbuffer[(DEFAULT_DCS_ALLOCATED_LENGTH *ENCODING_LENGTH) + (ENCODING_LENGTH *2)];
  512.     U8 picbuffer[PIC_BUFF_MAX_SIZE];
  513.     void (*header_fptr) (U32, S32, S32, S32, S32, S32);
  514.     U8 dcs;
  515.     BOOL is_picmsg;
  516.     BOOL is_template_insert;    /* Only when template inserted */
  517. } nsm_msg_struct;
  518. extern void mmi_nsm2_init_nsm_msg_struct(nsm_msg_struct *);
  519. extern void mmi_nsm2_add_text_in_pEMS(nsm_msg_struct *nsm_msg_context);
  520. #endif /* (defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)) */ 
  521. #endif /* _PIXCOM_SMS_GUI_INTERFACE_TYPE_H */