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

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. *  Copyright Statement: *  -------------------- *  This software is protected by 
  37. Copyright and the information contained *  herein is confidential. The software 
  38. may not be copied and the information *  contained herein may not be used or 
  39. disclosed except with the written *  permission of MediaTek Inc. (C) 2002 * 
  40. *******************************************************************************/
  41. /*******************************************************************************
  42.  * Filename:
  43.  * ---------
  44.  * EmailAppProt.h
  45.  *
  46.  * Project:
  47.  * --------
  48.  * MAUI
  49.  *
  50.  * Description:
  51.  * ------------
  52.  * This file defines local enum, constant and prototypes for Email application
  53.  *
  54.  * Author:
  55.  * -------
  56.  * -------
  57.  *
  58.  *==============================================================================
  59.  *             HISTORY
  60.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  61.  *------------------------------------------------------------------------------
  62.  * removed!
  63.  *
  64.  * removed!
  65.  * removed!
  66.  * removed!
  67.  *
  68.  * removed!
  69.  * removed!
  70.  * removed!
  71.  *
  72.  * removed!
  73.  * removed!
  74.  * removed!
  75.  *
  76.  * removed!
  77.  * removed!
  78.  * removed!
  79.  *
  80.  * removed!
  81.  * removed!
  82.  * removed!
  83.  *
  84.  * removed!
  85.  * removed!
  86.  * removed!
  87.  *
  88.  * removed!
  89.  * removed!
  90.  * removed!
  91.  *
  92.  * removed!
  93.  * removed!
  94.  * removed!
  95.  *
  96.  * removed!
  97.  * removed!
  98.  * removed!
  99.  *
  100.  * removed!
  101.  * removed!
  102.  * removed!
  103.  *
  104.  * removed!
  105.  * removed!
  106.  * removed!
  107.  *
  108.  * removed!
  109.  * removed!
  110.  * removed!
  111.  *
  112.  * removed!
  113.  * removed!
  114.  * removed!
  115.  *
  116.  * removed!
  117.  * removed!
  118.  * removed!
  119.  *
  120.  *------------------------------------------------------------------------------
  121.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  122.  *==============================================================================
  123.  *******************************************************************************/
  124. /**
  125.  * Copyright Notice
  126.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  127.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  128.  *  (It is illegal to remove this copyright notice from this software or any
  129.  *  portion of it)
  130.  */
  131. /**************************************************************
  132.    FILENAME : EmailAppProt.h
  133.    PURPOSE     : nil
  134.    REMARKS     : nil
  135.    AUTHOR      : Magesh k
  136.    DATE     : 30-01-2004
  137. **************************************************************/
  138. #ifndef _MMI_EMAILAPPPROT_H
  139. #define _MMI_EMAILAPPPROT_H
  140. /*---------------------------------------------------------------------------*/
  141. /* Header files */
  142. /*---------------------------------------------------------------------------*/
  143. #include "email_mmi.h"
  144. #include "wgui_ems.h"
  145. #include "wgui_categories.h"
  146. #include "FrameworkStruct.h"
  147. #include "wgui_asyncdynamic_menuitems.h"
  148. #include "MemPoolContainerProt.h"
  149. #include "customer_ps_inc.h"
  150. /* micha1230 */
  151. #include "custom_nvram_editor_data_item.h"
  152. #include "custom_data_account.h"
  153. #include "DataAccountGProt.h"
  154. #include "EmailAppGprot.h"
  155. /* need to include FileMgr.h */
  156. /*---------------------------------------------------------------------------*/
  157. /* Definition */
  158. /*---------------------------------------------------------------------------*/
  159. #ifdef MMI_ON_WIN32
  160. #define MOD_EMAIL MOD_L4C
  161. #endif /* def MMI_ON_WIN32 */
  162. /* Path Constants */
  163. #ifndef MMI_ON_WIN32
  164. #define EMAIL_WORKING_PATH                         MMI_EMAIL_PATH       // "c:\email\" /* Path of current directory */
  165. #else 
  166. #define EMAIL_WORKING_PATH                         "c:\email\"        /* Path of current directory */
  167. #endif 
  168. #define EMAIL_TEMP_FOLDER_NAME                     "EmailTmp\"
  169. #define EMAIL_READ_TMP_FILE_NAME                   "readattch"
  170. #define EMAIL_COMP_TMP_FILE_NAME                   "compattch"
  171. /* charset Constants */
  172. #define EMAIL_UTF8_ENCODING_LENGTH                 3    /* as some of the chinese char's takes 3 bytes for single char */
  173. #define EMAIL_CHSET_BUFF_LEN                       2048
  174. /* Dynamic List Constants */
  175. #define EMAIL_TOTAL_POOL                           ((MAX_ASYNCDYNAMIC_ITEMS_BUFF + MMI_EMAIL_MAX_MSG_PER_PAGE -1)/MMI_EMAIL_MAX_MSG_PER_PAGE)
  176. #define EMAIL_TOTAL_MSG_BUFF                       ((EMAIL_TOTAL_POOL+1)*MMI_EMAIL_MAX_MSG_PER_PAGE)
  177. /* Send N Recv Constants */
  178. #define EMAIL_MAX_SNR_RESULT_LEN                   50
  179. /* Folder Constants */
  180. #define EMAIL_MAX_JUMP_PAGE_INPUT_LEN              4
  181. #define EMAIL_MAX_FLDR_CAP_LEN                     24   /* "Draft [50/50]" */
  182. #define EMAIL_MAX_DATE_TIME_STR_LEN                20   /* "2004/01/01 12:12:12" 20 characters + 1 NULL terminate */
  183. #define EMAIL_MAX_SUBJ_DISPLAY_STR_LEN          (MMI_EMAIL_MAX_LEN_SHORT_SUBJECT/EMAIL_UTF8_ENCODING_LENGTH)    /* maximal length of subject to be displayed in folder list */
  184. /* Write Email Constants */
  185. #define EMAIL_MAX_PRIORITY_ITEM                    3
  186. #define EMAIL_LEFT_OPER_LEN                        2    /* < */
  187. #define EMAIL_RIGHT_OPER_LEN                       2    /* > */
  188. #define EMAIL_THREE_DOTS_LEN                       4    /* ... */
  189. #define EMAIL_ADDR_INLINE_BUFF_LEN                 (EMAIL_LEFT_OPER_LEN+EMAIL_RIGHT_OPER_LEN+EMAIL_PROF_DISP_NAME_LEN+MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS)
  190. #define EMAIL_MAX_CONT_LEN                         600
  191. #define EMAIL_COMP_SUBJ_LEN                        (MMI_EMAIL_MAX_LEN_SUBJECT/EMAIL_UTF8_ENCODING_LENGTH)
  192. /* Profile Constants */
  193. /* micha1230 */
  194. #define EMAIL_MAX_DATA_ACCT_LIMIT                  (MAX_DATA_ACCOUNT_GSM_LIMIT + MAX_DATA_ACCOUNT_GPRS_LIMIT)
  195. #define EMAIL_MAX_DWNL_LEN                         15
  196. #define EMAIL_MAX_PROF_PORT_LEN                    5
  197. #ifdef __MMI_EMAIL_COPY_ON_SERVER__
  198. #define EMAIL_PROF_SERVER_COPY_STATUS_ITEM         2
  199. #endif
  200. #define EMAIL_PROF_SIG_STATUS_ITEM                 2
  201. #define EMAIL_PROF_SIG_IMG_ITEM                    2
  202. #define EMAIL_MAX_PROT_ITEM                        2
  203. #define EMAIL_MAX_CHK_INTERVAL_ITEM                5
  204. #define EMAIL_DEFAULT_SMTP_PORT                    25
  205. #define EMAIL_DEFAULT_POP3_PORT                    110
  206. #define EMAIL_DEFAULT_IMAP4_PORT                   143
  207. #define EMAIL_MIN_PORT                             1
  208. #define EMAIL_MAX_PORT                             65535
  209. #define EMAIL_PROF_DISP_NAME_LEN                   (MMI_EMAIL_DISP_NAME_LEN/EMAIL_UTF8_ENCODING_LENGTH)
  210. #define EMAIL_MAX_FLDR_NAME_LEN                    (MMI_EMAIL_MAX_FOLDER_NAME/EMAIL_UTF8_ENCODING_LENGTH)
  211. #define EMAIL_MAX_SIG_LEN                          (MMI_EMAIL_MAX_SIG_TEXT/EMAIL_UTF8_ENCODING_LENGTH)
  212. #define EMAIL_MAX_ACCT_NAME                        (MMI_EMAIL_ACCT_NAME_LEN/ENCODING_LENGTH)
  213. /*---------------------------------------------------------------------------*/
  214. /* Enum */
  215. /*---------------------------------------------------------------------------*/
  216. typedef enum
  217. {
  218.     EMAIL_NOT_READY = 0x00,
  219.     EMAIL_PS_INIT_DONE = 0x01,
  220.     EMAIL_CLEAR_BUFF_DONE = 0x02,
  221.     EMAIL_READY = 0x03
  222. } email_ready_state_enum;
  223. typedef enum
  224. {
  225.     EMAIL_STOP = 0,
  226.     EMAIL_START
  227. } email_start_state_enum;
  228. typedef enum
  229. {
  230.     EMAIL_FROM_MSG = 0, /* enter email from Message menu */
  231.     EMAIL_FROM_IDLE,    /* enter email from Idle screen */
  232.     EMAIL_FROM_APP      /* enter email from other applications */
  233. } email_entry_source_enum;
  234. typedef enum
  235. {
  236.     EMAIL_SEND_AND_RECEIVE_ENUM = 0,
  237.     EMAIL_WRITE_EMAIL_ENUM,
  238.     EMAIL_INBOX_ENUM,
  239.     EMAIL_UNSENT_ENUM,
  240.     EMAIL_SENT_ENUM,
  241.     EMAIL_DRAFT_ENUM,
  242.     EMAIL_DELETE_ALL_ENUM,
  243.     EMAIL_EMAIL_PROFILE_ENUM,
  244. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  245.     EMAIL_REFRESH_ENUM,
  246. #endif 
  247.     EMAIL_MAIN_MENU_TOTAL
  248. } email_main_menu_enum;
  249. /* email_folder_names_enum */
  250. typedef enum
  251. {
  252.     MMI_EMAIL_INBOX = EMAIL_INBOX,      /* Inbox Folder */
  253.     MMI_EMAIL_UNSENT = EMAIL_OUTBOX,    /* Outbox Folder */
  254.     MMI_EMAIL_SENT = EMAIL_SENT,        /* Sent Folder */
  255.     MMI_EMAIL_DRAFT = EMAIL_DRAFT,      /* Draft Folder */
  256.     MMI_EMAIL_SNR,
  257.     MMI_EMAIL_COMP,
  258.     MMI_EMAIL_DEL_ALL,
  259.     MMI_EMAIL_PROF,
  260.     MMI_EMAIL_REFRESH,
  261.     MMI_EMAIL_NONE
  262. } email_ps_menu_enum;
  263. typedef enum
  264. {
  265.     EMAIL_FLDR_INBOX = 0,
  266.     EMAIL_FLDR_UNSENT,
  267.     EMAIL_FLDR_SENT,
  268.     EMAIL_FLDR_DRAFT,
  269.     EMAIL_FLDR_TOTAL
  270. } email_fldr_enum;
  271. typedef enum
  272. {
  273.     EMAIL_COMP_TO = 0,
  274.     EMAIL_COMP_CC,
  275.     EMAIL_COMP_SUBJ,
  276.     EMAIL_COMP_ATTCH,
  277.     EMAIL_COMP_PRIOTRIY,
  278.     EMAIL_COMP_CONT,
  279.     EMAIL_COMP_TOTAL
  280. } email_comp_inline_enum;
  281. typedef enum
  282. {
  283.     EMAIL_ADDR_TO = 0,
  284.     EMAIL_ADDR_CC,
  285.     EMAIL_ADDR_FROM,
  286.     EMAIL_ADDR_NONE
  287. } email_addr_type_enum;
  288. typedef enum
  289. {
  290.     EMAIL_READ_FROM = 0,
  291.     EMAIL_READ_TO,
  292.     EMAIL_READ_CC,
  293.     EMAIL_READ_SUBJ,
  294.     EMAIL_READ_ATTCH,
  295.     EMAIL_READ_CONT,
  296.     EMAIL_READ_TOTAL
  297. } email_read_inline_item;
  298. typedef enum
  299. {
  300.     EMAIL_DEL_ALL_INBOX_ENUM = 0,
  301.     EMAIL_DEL_ALL_UNSENT_ENUM,
  302.     EMAIL_DEL_ALL_SENT_ENUM,
  303.     EMAIL_DEL_ALL_DRAFT_ENUM,
  304.     EMAIL_DEL_ALL_FOLDER_ENUM,
  305.     EMAIL_DELETE_ALL_OPTION_TOTAL
  306. } email_del_all_item_enum;
  307. typedef enum
  308. {
  309.     EMAIL_RESET_ALL_FLDR = 0,
  310.     EAMIL_RESET_EXCEPT_UNSENT
  311. } email_reset_fldr_enum;
  312. typedef enum
  313. {
  314.     EMAIL_LIST_FLDR_NORMAL = 0,
  315.     EMAIL_LIST_FLDR_REFRESH,
  316.     EMAIL_LIST_FLDR_DEL_ALL,
  317.     EMAIL_LIST_FLDR_BACK_MAIN,  /* list folder because of back to main menu */
  318.     EMAIL_LIST_FLDR_NONE        /* can be removed because not required */
  319. } email_list_fldr_req_cause_enum;
  320. typedef enum
  321. {
  322.     EMAIL_LIST_FLDR_REQUIRED = 0,   /* require, update */
  323.     EMAIL_LIST_FLDR_NOT_REQUIRED,   /* not require, update */
  324.     EMAIL_LIST_FLDR_DONE,           /* done, update */
  325.     EMAIL_LIST_FLDR_NOT_DONE        /* not done, update */
  326. } email_fldr_update_state_enum;
  327. typedef enum
  328. {
  329.     EMAIL_SAVE_ATTACH_NO_ERR = 0,
  330.     EMAIL_SAVE_ATTACH_DUP_NAME,     /* duplicated file name */
  331.     EMAIL_SAVE_ATTACH_EMPTY_NAME,   /* empty file name */
  332.     EMAIL_SAVE_ATTACH_NAME_TOO_LONG /* file name too long */
  333. } email_save_attch_state_enum;
  334. typedef enum
  335. {
  336.     EMAIL_SNR_IDLE = 0,     /* send and receive is in Idle(Finished) state */
  337.     EMAIL_SNR_CONN_SMTP,    /* connecting SMTP server */
  338.     EMAIL_SNR_SENDING,      /* sending mail */
  339.     EMAIL_SNR_CONN_POP3,    /* connecting POP3 server */
  340.     EMAIL_SNR_AUTH,         /* authorization */
  341.     EMAIL_SNR_RECVING,      /* receiving mail */
  342.     EMAIL_SNR_ABORTING,
  343.     EMAIL_SNR_ABORTED       /* send and receive is ABORTED state */
  344. } email_snr_state_enum;
  345. typedef enum
  346. {
  347.     EMAIL_REPORT_SENT_CAP = 0,
  348.     EMAIL_REPORT_SENT,
  349.     EMAIL_REPORT_RECV_CAP,
  350.     EMAIL_REPORT_RECV,
  351.     EMAIL_REPORT_TOTAL_ITEM
  352. } email_snr_report_item_enum;
  353. typedef enum
  354. {
  355.     EMAIL_FILE_ADD_ATTCH = 0,
  356.     EMAIL_FILE_ADD_SIG,
  357.     EMAIL_FILE_FROM_APP
  358. } email_file_cpy_enum;
  359. typedef enum
  360. {
  361.     EMAIL_JUMP_PAGE_CAP = 0,
  362.     EMAIL_JUMP_PAGE,
  363.     EMAIL_JUMP_PAGE_TOTAL_ITEM
  364. } email_jump_page_item_enum;
  365. #define PROF_ENUM_DEF
  366. typedef enum
  367. {
  368.     EMAIL_PROF_SETTING = 0,
  369.     EMAIL_PROF_SMTP,
  370.     EMAIL_PROF_POP3_IMAP4,
  371.     EMAIL_PROF_SIG,
  372.     EMAIL_PROF_TOTAL
  373. } email_prof_scr_enum;
  374. typedef enum
  375. {
  376.     EMAIL_SETTING_NAME_CAP = 0,
  377.     EMAIL_SETTING_NAME,
  378.     EMAIL_SETTING_DATA_ACCT_CAP,
  379.     EMAIL_SETTING_DATA_ACCT,
  380. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  381.     EMAIL_SETTING_PROTOCOL_CAP,
  382.     EMAIL_SETTING_PROTOCOL,
  383. #endif /* !defined(__MMI_SLIM_EMAIL_NO_IMAP4__) */ 
  384. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  385.     EMAIL_SETTING_CHK_INT_CAP,
  386.     EMAIL_SETTING_CHK_INT,
  387. #endif /* !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__) */ 
  388.     EMAIL_SETTING_DWNL_TYPE_CAP,
  389.     EMAIL_SETTING_DWNL_TYPE,
  390.     EMAIL_SETTING_TOTAL_ITEM
  391. } email_prof_setting_item_enum;
  392. typedef enum
  393. {
  394.     EMAIL_SMTP_OUT_SERVER_CAP = 0,
  395.     EMAIL_SMTP_OUT_SERVER,
  396.     EMAIL_SMTP_OUT_PORT_CAP,
  397.     EMAIL_SMTP_OUT_PORT,
  398.     EMAIL_SMTP_DISP_NAME_CAP,
  399.     EMAIL_SMTP_DISP_NAME,
  400.     EMAIL_SMTP_ADDR_CAP,
  401.     EMAIL_SMTP_ADDR,
  402.     EMAIL_SMTP_USERNAME_CAP,
  403.     EMAIL_SMTP_USERNAME,
  404.     EMAIL_SMTP_PASSWD_CAP,
  405.     EMAIL_SMTP_PASSWD,
  406.     EMAIL_SMTP_TOTAL_ITEM
  407. } email_prof_smtp_item_enum;
  408. typedef enum
  409. {
  410.     EMAIL_POP3_IN_SERVER_CAP = 0,
  411.     EMAIL_POP3_IN_SERVER,
  412.     EMAIL_POP3_IN_PORT_CAP,
  413.     EMAIL_POP3_IN_PORT,
  414.     EMAIL_POP3_USERNAME_CAP,
  415.     EMAIL_POP3_USERNAME,
  416.     EMAIL_POP3_PASSWD_CAP,
  417.     EMAIL_POP3_PASSWD,
  418. #ifdef __MMI_EMAIL_COPY_ON_SERVER__
  419.     EMAIL_POP3_SERVER_COPY_CAP,
  420.     EMAIL_POP3_SERVER_COPY,
  421. #endif /* __MMI_EMAIL_COPY_ON_SERVER__ */
  422. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  423.     EMAIL_POP3_DRAFT_NAME_CAP,
  424.     EMAIL_POP3_DRAFT_NAME,
  425.     EMAIL_POP3_SENT_NAME_CAP,
  426.     EMAIL_POP3_SENT_NAME,
  427. #endif /* !defined(__MMI_SLIM_EMAIL_NO_IMAP4__) */ 
  428.     EMAIL_POP3_TOTAL_ITEM
  429. } email_prof_pop_imap_item_enum;
  430. typedef enum
  431. {
  432.     EMAIL_SIG_STATUS_CAP = 0,
  433.     EMAIL_SIG_STATUS,
  434.     EMAIL_SIG_IMAGE_CAP,
  435.     EMAIL_SIG_IMAGE,
  436.     EMAIL_SIG_TEXT_CAP,
  437.     EMAIL_SIG_TEXT,
  438.     EMAIL_SIG_TOTAL_ITEM
  439. } email_prof_sig_item_enum;
  440. typedef enum
  441. {
  442.     EMAIL_PROT_POP3 = 0,
  443.     EMAIL_PROT_IMAP4
  444. } email_in_prot_enum;
  445. typedef enum
  446. {
  447.     EMAIL_DATA_ACCT_GSM = 0,
  448.     EMAIL_DATA_ACCT_GPRS
  449. } email_data_acct_type_enum;
  450. /*--------------------------------------------------------------------------*/
  451. /* Struct */
  452. /*---------------------------------------------------------------------------*/
  453. /* structure descripbes mapping between error cause and string id */
  454. typedef struct
  455. {
  456.     S32 err_no;
  457.     U16 str_id;
  458. } mmi_email_err_string_struct;
  459. typedef struct
  460. {
  461.     U8 *strBody1;
  462.     U8 *strBody2;
  463.     FuncPtr lskFuncPtr;
  464.     FuncPtr rskFuncPtr;
  465.     FuncPtr endFuncPtr;
  466.     U16 strCaption;
  467.     U16 imgCaption;
  468.     U16 strLsk;
  469.     U16 imgLsk;
  470.     U16 strRsk;
  471.     U16 imgRsk;
  472.     U16 imgBody;
  473.     S8 leftAlign;
  474. } mmi_email_progress_scr_struct;
  475. #define MAIN_STRUCT_EMAIL
  476. typedef struct
  477. {
  478.     U16 unread_mails;
  479.     email_ready_state_enum ready_state; /* if email application ready */
  480.     email_stop_cause_enum stop_cause;
  481.     email_entry_source_enum entry_src;  /* entry source of Email application */
  482.     email_ps_menu_enum curr_menu;       /* current selected menu, according to PS order */
  483.     BOOL is_mem_full;
  484.     U8 main_indx;                       /* highlight index in main menu according to menu order */
  485. } mmi_email_main_info_struct;
  486. #define SNR_STRUCT_EMAIL
  487. typedef struct
  488. {
  489.     U32 num_recv;   /* number of received mails */
  490.     U32 num_sent;
  491.     U32 num_to_be_sent;
  492.     U32 num_to_be_recv;
  493.     U16 sent_err_str;
  494.     U16 recv_err_str;
  495. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  496.     U16 auto_chk_scr;
  497. #endif 
  498.     UI_character_type recv_buff[EMAIL_MAX_SNR_RESULT_LEN];
  499.     UI_character_type sent_buff[EMAIL_MAX_SNR_RESULT_LEN];
  500.     email_snr_state_enum snr_state;
  501. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  502.     BOOL is_auto_chk;
  503.     U8 new_mail_ind;
  504. #endif /* !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__) */ 
  505. } mmi_email_snr_info_struct;
  506. typedef struct
  507. {
  508.     UI_character_type to_cc_mail[MMI_EMAIL_MAX_LEN_ADDR_LIST][(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  509.     UI_character_type to_cc_name[MMI_EMAIL_MAX_LEN_ADDR_LIST][EMAIL_PROF_DISP_NAME_LEN + 1];
  510.     S8 num_addr;
  511. } mmi_email_to_cc_struct;
  512. typedef struct
  513. {
  514.     UI_character_type from_addr[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  515.     UI_character_type from_name[EMAIL_PROF_DISP_NAME_LEN + 1];
  516. } mmi_email_from_struct;
  517. typedef struct
  518. {
  519.     UI_character_type file_name[(FMGR_MAX_FILE_LEN + 1)];
  520.     UI_character_type file_path[(FMGR_MAX_PATH_LEN + 1)];
  521.     email_charset_enum ch_set;
  522.     U8 attch_type;
  523.     U8 attch_subtype;
  524.     BOOL attch_present;
  525. } mmi_email_attch_info_struct;
  526. typedef struct
  527. {
  528.     S32 priority_indx;
  529.     mmi_email_to_cc_struct addr_list[2];
  530.     mmi_email_attch_info_struct attch_list[MMI_EMAIL_MAX_NUM_ATTACH];
  531.     wgui_inline_images_detail attch_icon[MMI_EMAIL_MAX_NUM_ATTACH];
  532.     UI_character_type subj_buff[EMAIL_COMP_SUBJ_LEN + 1];
  533.     UI_character_type cont_buff[EMAIL_MAX_CONT_LEN + 1];
  534.     UI_character_type addr_input_buff[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  535.     UI_character_type addr_disp_buff[2][EMAIL_ADDR_INLINE_BUFF_LEN + 1];
  536.     UI_character_type from_addr[EMAIL_ADDR_INLINE_BUFF_LEN + 1];
  537.     UI_character_type phb_addr[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  538.     UI_character_type phb_name[EMAIL_PROF_DISP_NAME_LEN + 1];
  539.     email_addr_type_enum curr_addr_type;    /* current input address */
  540.     U8 curr_inline_item;
  541.     BOOL done_flag;
  542.     BOOL cont_exceed;                       /* shall be merge into 1 */
  543.     BOOL attch_exceed;                      /* shall be merge into 1 */
  544.     BOOL new_addr;                          /* edit or add */
  545.     U32 total_attch_size;                    /* total attachment size */
  546.     U8 total_attch;
  547.     U8 load_addr_done;                      /* finish loading address from phonebook */
  548. } mmi_email_comp_info_struct;
  549. typedef struct
  550. {
  551.     mmi_email_comp_info_struct read_info;   /* variable to store information in Read Email screen */
  552.     mmi_email_from_struct from_info;
  553.     S8 *attch_dest_path;                    /* destination file path info when saving attach */
  554.     U16 read_err_msg;                       /* error string index for read email */
  555. } mmi_email_inbox_info_struct;
  556. #define PROF_STRUCT_EMAIL
  557. /* Setting information */
  558. typedef struct
  559. {
  560.     S32 data_acct;                                          /* data account */
  561. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  562.     S32 in_prot;                                            /* incoming protocol */
  563. #endif 
  564. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  565.     S32 chk_interval;                                       /* check interval */
  566. #endif 
  567.     UI_character_type prof_name[(EMAIL_MAX_ACCT_NAME + 1)]; /* profile name buffer */
  568.     UI_character_type dwnl_size[(EMAIL_MAX_DWNL_LEN + 1)];  /* max download size buffer */
  569. } mmi_email_prof_setting_struct;
  570. /* SMTP information */
  571. typedef struct
  572. {
  573.     UI_character_type out_server[(MMI_EMAIL_MAX_SERVER_NAME + 1)];
  574.     UI_character_type out_port[(EMAIL_MAX_PROF_PORT_LEN + 1)];
  575.     UI_character_type disp_name[EMAIL_PROF_DISP_NAME_LEN + 1];
  576.     UI_character_type email_addr[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  577.     UI_character_type user_name[(MMI_EMAIL_USR_MAX_LEN + 1)];
  578.     UI_character_type passwd[(MMI_EMAIL_PASS_MAX_LEN + 1)];
  579. } mmi_email_prof_smtp_struct;
  580. /* POP3/IMAP4 information */
  581. typedef struct
  582. {
  583. #ifdef __MMI_EMAIL_COPY_ON_SERVER__
  584.     S32 copy_on_server;
  585. #endif
  586.     UI_character_type in_server[(MMI_EMAIL_MAX_SERVER_NAME + 1)];
  587.     UI_character_type in_port[(EMAIL_MAX_PROF_PORT_LEN + 1)];
  588.     UI_character_type user_name[(MMI_EMAIL_USR_MAX_LEN + 1)];
  589.     UI_character_type passwd[(MMI_EMAIL_PASS_MAX_LEN + 1)];
  590. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  591.     UI_character_type sent_name[EMAIL_MAX_FLDR_NAME_LEN + 1];
  592.     UI_character_type draft_name[EMAIL_MAX_FLDR_NAME_LEN + 1];
  593. #endif /* !defined(__MMI_SLIM_EMAIL_NO_IMAP4__) */ 
  594. } mmi_email_prof_pop3_imap4_struct;
  595. /* sognature information */
  596. typedef struct
  597. {
  598.     S32 sig_status;
  599.     UI_character_type img_name[(FMGR_MAX_FILE_LEN + 1)];
  600.     UI_character_type sig_buff[(EMAIL_MAX_SIG_LEN + 1)];
  601.     UI_character_type file_name[(FMGR_MAX_FILE_LEN + 1)];
  602.     UI_character_type file_path[(FMGR_MAX_PATH_LEN + 1)];
  603. } mmi_email_prof_sig_struct;
  604. /* misc data for profile */
  605. typedef struct
  606. {
  607.     /* inline selection items */
  608. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  609.     U8 *prot_list[EMAIL_MAX_PROT_ITEM];
  610. #endif 
  611. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  612.     U8 *chk_interval[EMAIL_MAX_CHK_INTERVAL_ITEM];
  613. #endif
  614. #ifdef __MMI_EMAIL_COPY_ON_SERVER__
  615.     U8 *copy_on_server[EMAIL_PROF_SERVER_COPY_STATUS_ITEM];
  616. #endif
  617.     U8 *sig_status_list[EMAIL_PROF_SIG_STATUS_ITEM];
  618.     U8 *sig_img_list[EMAIL_PROF_SIG_IMG_ITEM];
  619.     S32 curr_hilite_indx;   /* for SMTP to set highlight after warning */
  620. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  621.     S32 curr_prot;
  622. #endif 
  623.     S32 curr_data_acct;
  624.     S32 sig_img_indx;
  625.     U16 curr_scr;           /* screen index of current profile setting screen -- Setting/SMTP/POP3/SIG */
  626.     UI_character_type acct_names[MMI_EMAIL_MAX_ACCTS][(EMAIL_MAX_ACCT_NAME + 1)];
  627.     UI_character_type data_acct_name[(MAX_DATA_ACCOUNT_NAME_LEN)];
  628.     U8 data_acct_type;      /* type of data account */
  629.     U8 curr_sel_prof;       /* current selected profile index */
  630.     U8 is_sig_changed;
  631. } mmi_email_prof_misc_struct;
  632. typedef struct
  633. {
  634.     mmi_email_prof_setting_struct setting_info;
  635.     mmi_email_prof_smtp_struct smtp_info;
  636.     mmi_email_prof_pop3_imap4_struct pop_imap_info;
  637.     mmi_email_prof_sig_struct sig_info;
  638. } mmi_email_prof_struct;
  639. typedef struct
  640. {
  641.     UI_character_type sig_img[(FMGR_MAX_FILE_LEN + 1)];
  642.     UI_character_type sig_buff[(EMAIL_MAX_SIG_LEN + 1)];
  643.     UI_character_type email_addr[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  644. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  645.     UI_character_type sent_name[(EMAIL_MAX_FLDR_NAME_LEN + 1)];
  646.     UI_character_type draft_name[(EMAIL_MAX_FLDR_NAME_LEN + 1)];
  647.     U8 in_prot;
  648. #endif /* !defined(__MMI_SLIM_EMAIL_NO_IMAP4__) */ 
  649.     U8 act_indx;
  650.     U8 sig_status;
  651. } mmi_email_act_prof_struct;
  652. typedef struct
  653. {
  654.     /* Profile */
  655.     mmi_email_act_prof_struct act_prof;
  656.     mmi_email_prof_misc_struct prof_misc;
  657.     mmi_email_prof_struct editing_prof; /* profile information of email */
  658. } mmi_email_prof_info_struct;
  659. /* This Structure Lists the accounts for list request */
  660. typedef struct
  661. {
  662.     U32 mail_uid;                                           /* Message number */
  663.     UI_character_type addr_buff[(MMI_EMAIL_MAX_LEN_EMAIL_ADDRESS + 1)];
  664.     UI_character_type subject[EMAIL_MAX_SUBJ_DISPLAY_STR_LEN + 1];      /* Subject */
  665.     UI_character_type dt_buff[EMAIL_MAX_DATE_TIME_STR_LEN]; /* Date and Time */
  666.     U8 attch_num;                                           /* total number of attachment present */
  667.     U8 attch_type[MMI_EMAIL_MAX_NUM_ATTACH];                /* each attachment type */
  668.     U8 attch_subtype[MMI_EMAIL_MAX_NUM_ATTACH];             /* can be removec , each attachment type */
  669.     BOOL is_read;                                           /* Read Flag for  messages */
  670.     U8 priority;
  671. } mmi_email_mail_info_struct;
  672. typedef struct
  673. {
  674.     mmi_email_progress_scr_struct progress_info;    /* information for a progress screen */
  675.     U8 *priority_list[EMAIL_MAX_PRIORITY_ITEM];
  676.     UI_character_type folder_cap_buff[EMAIL_MAX_FLDR_CAP_LEN];
  677.     UI_character_type subj_inline_buff[EMAIL_COMP_SUBJ_LEN + 1];
  678.     S8 cont_inline_buff[(EMAIL_MAX_CONT_LEN + 1) *EMAIL_UTF8_ENCODING_LENGTH];
  679.     email_file_cpy_enum file_copy_state;            /* to indicate the source of attachment file */
  680.     U8 curr_hilite_attch;                           /* to, cc, attachment list hilite index for Read/Write email screen */
  681.     BOOL insert_hist;
  682. } mmi_email_misc_info_struct;
  683. /* structure for other applications */
  684. typedef struct
  685. {
  686.     S8 *fmgr_path;  /* file path from file manager to send an email */
  687.     S8 *phb_name;   /* display name from phonebook to send an email */
  688.     S8 *phb_email;  /* mail address from phonebook to send an email */
  689. } mmi_email_other_app_struct;
  690. #define FOLDER_STRUCT_EMAIL
  691. typedef struct
  692. {
  693.     S32 num_msgs;
  694.     mmi_email_mail_info_struct mail_list[EMAIL_TOTAL_MSG_BUFF];
  695. } mmi_email_fldr_list_info_struct;
  696. typedef struct
  697. {
  698.     mmi_email_fldr_list_info_struct fldr_list;
  699.     email_folder_info_struct fldr_data[EMAIL_FLDR_TOTAL];
  700.     U32 curr_mail_uid;  // id of current mail */
  701.     S32 curr_mail_indx;                             /* current highlighting index of a mail */
  702.     U32 total_page;
  703.     U32 curr_page;
  704.     UI_character_type jump_page_buff[EMAIL_MAX_JUMP_PAGE_INPUT_LEN + 1];
  705.     email_fldr_update_state_enum fldr_update_state; /* if update folder list request is required */
  706.     email_list_fldr_req_cause_enum list_fldr_cause; /* cause to send list folder request */
  707.     BOOL need_fldr_sel;                             /* if folder select request is required */
  708.     BOOL is_list_updated;                           /* if the list is already updated, use for empty case of IMAP4 */
  709.     BOOL is_list_displayed;                         /* is list is already displayed */
  710. } mmi_email_fldr_info_struct;
  711. typedef struct
  712. {
  713.     mem_pool_container_struct mem_container;
  714.     S32 start_indx;
  715.     S32 end_indx;
  716.     S16 not_avail_pool; /* current pool index which data is not available */
  717. } mmi_email_mem_pool_info_struct;
  718. #define DEL_STRUCT_EMAIL
  719. typedef struct
  720. {
  721.     /* Delete All */
  722.     email_fldr_enum curr_del_fldr;  /* index of current deleting folder */
  723.     BOOL del_all_fldr;              /* Delete All apply to all folders or single folder */
  724. } mmi_email_del_info_struct;
  725. typedef struct
  726. {
  727.     mmi_email_main_info_struct main_info;   /* main information */
  728.     mmi_email_snr_info_struct snr_info; /* Send and Receive */
  729.     mmi_email_prof_info_struct prof_info;   /* Profile */
  730.     mmi_email_comp_info_struct comp_info;   /* Write Email */
  731.     mmi_email_inbox_info_struct inbox_info; /* Inbox */
  732.     mmi_email_fldr_info_struct fldr_info;   /* folder common data */
  733.     mmi_email_del_info_struct del_info; /* Delete All */
  734.     mmi_email_misc_info_struct misc_info;   /* Misc data */
  735.     mmi_email_other_app_struct other_app_info;  /* Data about other entey application */
  736.     mmi_email_mem_pool_info_struct mem_pool_info;   /* Memory pool */
  737.     UI_character_type comm_buff[FMGR_MAX_PATH_LEN + 1]; /* common string shared buffer */
  738.     UI_character_type filename_buff[FMGR_MAX_FILE_LEN + 1]; /* common filename shared buffer */
  739.     UI_character_type fileext_buff[(FMGR_MAX_EXT_LEN + 1)]; /* common filename extension shared buffer */
  740. } mmi_email_context_struct;
  741. /*---------------------------------------------------------------------------*/
  742. /* Variables */
  743. /*---------------------------------------------------------------------------*/
  744. extern mmi_email_context_struct *email_p;
  745. extern const U8 g_email_subj_left_op[];
  746. extern const U8 g_email_subj_right_op[];
  747. extern const U8 g_email_3dots[];
  748. /* macro of email context */
  749. #define EMAIL_PROF_ACT(x)        email_p->prof_info.act_prof.x
  750. #define EMAIL_PROF_MISC(x)       email_p->prof_info.prof_misc.x
  751. #define EMAIL_PROF_OUT(x)        email_p->prof_info.editing_prof.smtp_info.x
  752. #define EMAIL_PROF_IN(x)         email_p->prof_info.editing_prof.pop_imap_info.x
  753. #define EMAIL_PROF_SET(x)        email_p->prof_info.editing_prof.setting_info.x
  754. #define EMAIL_PROF_SIG(x)        email_p->prof_info.editing_prof.sig_info.x
  755. /*---------------------------------------------------------------------------*/
  756. /* Prototypes */
  757. /*---------------------------------------------------------------------------*/
  758. extern void mmi_email_init_hilite_hdlr(void);
  759. extern void mmi_email_init_protocol_hdlr(void);
  760. #define HILITE_EMAIL_DEF
  761. extern void mmi_email_hilite_snr(void);
  762. extern void mmi_email_hilite_comp(void);
  763. extern void mmi_email_hilite_inbox(void);
  764. extern void mmi_email_hilite_sent(void);
  765. extern void mmi_email_hilite_unsent(void);
  766. extern void mmi_email_hilite_draft(void);
  767. extern void mmi_email_hilite_del_all(void);
  768. extern void mmi_email_hilite_prof(void);
  769. extern void mmi_email_hilite_refresh(void);
  770. #define MAIN_MENU_EMAIL_DEF
  771. extern void mmi_email_main_pre_entry(void);
  772. extern void mmi_email_main_back_from_history(void);
  773. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  774. extern void mmi_email_main_imap4_confirm_yes(void);
  775. #endif 
  776. extern void mmi_email_main_no_list_fldr(void);
  777. extern void mmi_email_main_start(void);
  778. extern void mmi_email_entry_main(void);
  779. extern void mmi_email_exit_main_menu(void);
  780. extern U8 mmi_email_main_del_callback(void *param);
  781. extern void mmi_email_main_get_menu_detail(U8 **strList, U16 *iconList, U8 **hintList);
  782. extern void mmi_email_hilite_main_menu_item(S32 index);
  783. extern void mmi_email_main_quit_email(void);
  784. extern void mmi_email_main_exec_lsk(void);
  785. extern void mmi_email_main_update_hint(S8 fldr_name);
  786. extern void mmi_email_main_quit_to_app(void);
  787. #define SEND_N_RECV_DEF
  788. extern void mmi_email_entry_snr_detail(void);
  789. extern void mmi_email_exit_snr_detail(void);
  790. extern void mmi_email_snr_back_from_result(void);
  791. extern void mmi_email_snr_display_result(FuncPtr entryFuncPtrGoBackTo);
  792. extern void mmi_email_snr_prepare_result_data(void);
  793. extern void mmi_email_snr_fill_inline_struct(void);
  794. extern void mmi_email_snr_back_to_main(void);
  795. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  796. extern void mmi_email_entry_new_mail_ind(void);
  797. extern void mmi_email_list_inbox_from_idle(void);
  798. extern void mmi_email_go_back_to_idle(void);
  799. extern void mmi_email_auto_chk_update_scr(void);
  800. extern void mmi_email_pre_entry_new_mail_ind(void);
  801. extern void mmi_email_auto_chk_go_back(void);
  802. #endif /* !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__) */ 
  803. #define WRITER_EMAIL
  804. extern void mmi_email_hilite_comp_addr_add(void);
  805. extern void mmi_email_hilite_comp_addr_edit(void);
  806. extern void mmi_email_hilite_comp_addr_del(void);
  807. extern void mmi_email_hilite_comp_addr_del_all(void);
  808. extern void mmi_email_hilite_comp_addr_done(void);
  809. extern void mmi_email_hilite_comp_addr_input_meth(void);
  810. extern void mmi_email_hilite_comp_subj_done(void);
  811. extern void mmi_email_hilite_comp_subj_input_meth(void);
  812. extern void mmi_email_hilite_comp_attach_edit(void);
  813. extern void mmi_email_hilite_comp_attach_view(void);
  814. extern void mmi_email_hilite_comp_attach_del(void);
  815. extern void mmi_email_hilite_comp_send(void);
  816. extern void mmi_email_hilite_comp_save_n_send(void);
  817. extern void mmi_email_hilite_comp_save_to_draft(void);
  818. extern void mmi_email_hilite_comp_quit(void);
  819. extern BOOL mmi_email_comp_get_done_status(void);
  820. extern void mmi_email_comp_pre_entry(void);
  821. extern void mmi_email_entry_comp(void);
  822. extern void mmi_email_exit_comp(void);
  823. extern BOOL mmi_email_comp_add_sig(void);
  824. extern void mmi_email_comp_reset_member(void);
  825. extern void mmi_email_comp_fill_inline_struct(void);
  826. extern void mmi_email_comp_back_to_hist(void);
  827. extern void mmi_email_comp_change_rsk(void);
  828. extern void mmi_email_comp_fill_attach(void);
  829. extern void mmi_email_entry_comp_subj_opt(void);
  830. extern void mmi_email_comp_subj_cont_done(void);
  831. extern void mmi_email_comp_attach_lsk_func(PU8 image, UI_string_type str);
  832. extern void mmi_email_comp_attach_rsk_func(PU8 image, UI_string_type str);
  833. extern void mmi_email_hilite_comp_inline_item(S32 index);
  834. extern void mmi_email_entry_comp_opt(void);
  835. extern void mmi_email_comp_pre_entry_addr(void);
  836. extern U16 mmi_email_comp_get_addr_opt_menu(void);
  837. extern void mmi_email_entry_comp_addr(void);
  838. extern void mmi_email_exit_comp_addr(void);
  839. extern U16 mmi_email_comp_get_addr_info(U8 **nStrMainItemList, U8 **nStrPopupItemList);
  840. extern void mmi_email_entry_comp_addr_opt(void);
  841. extern void mmi_email_comp_addr_pre_edit(void);
  842. extern void mmi_email_comp_addr_pre_add(void);
  843. extern void mmi_email_entry_comp_addr_input(void);
  844. extern void mmi_email_comp_addr_empty_lsk_hdlr(void);
  845. extern void mmi_email_comp_addr_no_empty_lsk_hdlr(void);
  846. extern void mmi_email_entry_comp_addr_input_opt(void);
  847. extern void mmi_email_comp_addr_input_done(void);
  848. extern void mmi_email_comp_addr_del(void);
  849. extern void mmi_email_comp_addr_del_no(void);
  850. extern void mmi_email_comp_addr_del_yes(void);
  851. extern void mmi_email_comp_addr_hist_del(void);
  852. extern void mmi_email_comp_addr_del_all(void);
  853. extern void mmi_email_comp_addr_del_all_no(void);
  854. extern void mmi_email_comp_addr_del_all_yes(void);
  855. extern void mmi_email_comp_update_addr_buff(void);
  856. extern void mmi_email_comp_add_attach(void);
  857. extern void mmi_email_comp_add_attach_callback(void *info, int is_short);
  858. extern void mmi_email_comp_attach_copy_callback(void *info);
  859. extern void mmi_email_entry_comp_attch(void);
  860. extern void mmi_email_hilite_comp_attch(S32 index);
  861. extern void mmi_email_entry_comp_attch_opt(void);
  862. extern void mmi_email_comp_attch_del(void);
  863. extern void mmi_email_comp_attch_del_done(void);
  864. extern void mmi_email_comp_pre_entry_view_attach(void);
  865. extern void mmi_email_entry_comp_view_image(void);
  866. extern void mmi_email_entry_comp_cont(void);
  867. extern void mmi_email_entry_comp_subj(void);
  868. extern void mmi_email_comp_opt_quit(void);
  869. extern void mmi_email_comp_opt_quit_yes(void);
  870. extern S8 mmi_email_comp_is_addr_present(void);
  871. #define INBOX_EMAIL_DEF
  872. extern void mmi_email_hilite_read_addr_send(void);
  873. extern void mmi_email_hilite_read_addr_save_phb(void);
  874. extern void mmi_email_hilite_read_attach_view(void);
  875. extern void mmi_email_hilite_read_attach_save(void);
  876. extern void mmi_email_hilite_read_attach_save_done(void);
  877. extern void mmi_email_hilite_read_attach_save_input_meth(void);
  878. extern void mmi_email_hilite_read_reply(void);
  879. extern void mmi_email_hilite_read_reply_without(void);
  880. extern void mmi_email_hilite_read_reply_all(void);
  881. extern void mmi_email_hilite_read_reply_all_without(void);
  882. extern void mmi_email_hilite_read_forward(void);
  883. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  884. extern void mmi_email_hilite_inbox_read(void);
  885. #endif 
  886. extern void mmi_email_inbox_pre_entry(void);
  887. extern void mmi_email_entry_inbox(void);
  888. extern void mmi_email_exit_inbox(void);
  889. extern void mmi_email_inbox_lsk_hdlr(void);
  890. extern void mmi_email_inbox_rsk_hdlr(void);
  891. extern void mmi_email_inbox_update_mail_state(S32 index);
  892. extern U16 mmi_email_inbox_get_status_icon(U8 priority, BOOL is_read);
  893. extern void mmi_email_inbox_get_attch_icon(U8 attch_num, U8 *attch_type, U16 *attachImageList);
  894. extern void mmi_email_hilite_inbox_item(S32 index);
  895. extern S32 mmi_email_inbox_get_async_items(S32 start_indx, gui_iconlist_menu_item *menuData, S32 dataSize);
  896. extern void mmi_email_entry_read(void);
  897. extern void mmi_email_exit_read(void);
  898. extern void mmi_email_read_fill_inline_struct(void);
  899. extern void mmi_email_read_fill_attch_icon(void);
  900. extern void mmi_email_read_attch_lsk(PU8 image, UI_string_type str);
  901. extern void mmi_email_read_attch_rsk(PU8 image, UI_string_type str);
  902. extern void mmi_email_hilite_read_item(S32 index);
  903. extern void mmi_email_entry_read_attch(void);
  904. extern void mmi_email_exit_read_attch(void);
  905. extern void mmi_email_hilite_read_attch(S32 index);
  906. extern void mmi_email_hilite_read_attch_item(S32 index);
  907. extern void mmi_email_entry_read_attch_opt(void);
  908. extern void mmi_email_entry_read_attch_view(void);
  909. extern void mmi_email_read_pre_entry_save_attch(void);
  910. extern void mmi_email_entry_read_attch_save(void);
  911. extern void mmi_email_entry_read_save_attch_opt(void);
  912. extern void mmi_email_read_save_attch(void);
  913. extern S8 mmi_email_read_copy_attch(S8 fileNo, S8 *attchName);
  914. extern void mmi_email_read_goto_addr(void);
  915. extern void mmi_email_entry_read_addr_opt(void);
  916. extern void mmi_email_entry_read_addr(void);
  917. extern void mmi_email_exit_read_addr(void);
  918. extern U16 mmi_email_read_get_addr_list(U8 **nStrMainItemList, U8 **nStrPopupItemList);
  919. extern void mmi_email_entry_read_opt(void);
  920. extern void mmi_email_read_reply(void);
  921. extern void mmi_email_read_reply_without(void);
  922. extern void mmi_email_read_reply_all(void);
  923. extern void mmi_email_read_reply_all_without(void);
  924. extern void mmi_email_read_forward(void);
  925. extern void mmi_email_read_addr_send(void);
  926. extern void mmi_email_read_addr_save(void);
  927. extern void mmi_email_read_attach_save(void);
  928. extern void mmi_email_read_attch_sel_path_callback(void *filePath, int is_short);
  929. extern void mmi_email_read_attch_copy_callback(void *info);
  930. extern void mmi_email_entry_inbox_opt(void);
  931. /* sent list */
  932. #define SENT_EMAIL_DEF
  933. extern void mmi_email_entry_sent(void);
  934. extern void mmi_email_exit_sent(void);
  935. extern void mmi_email_hilite_sent_item(S32 index);
  936. extern void mmi_email_entry_sent_opt(void);
  937. extern void mmi_email_fldr_prepare_forward(void);
  938. extern void mmi_email_hilite_sent_forward(void);
  939. /* unsent list */
  940. #define UNSENT_EMAIL_DEF
  941. extern void mmi_email_entry_unsent(void);
  942. extern void mmi_email_exit_unsent(void);
  943. extern void mmi_email_hilite_unsent_item(S32 index);
  944. extern void mmi_email_entry_unsent_opt(void);
  945. extern void mmi_email_unsent_send(void);
  946. extern void mmi_email_unsent_save_n_send(void);
  947. extern void mmi_email_fldr_prepare_edit(void);
  948. extern void mmi_email_hilite_unsent_send(void);
  949. extern void mmi_email_hilite_unsent_save_n_send(void);
  950. extern void mmi_email_hilite_unsent_edit(void);
  951. extern void mmi_email_hilite_unsent_move(void);
  952. #define DRAFT_EMAIL_DEF
  953. extern void mmi_email_entry_draft(void);
  954. extern void mmi_email_exit_draft(void);
  955. extern void mmi_email_hilite_draft_item(S32 index);
  956. extern S32 mmi_email_draft_get_async_hints(S32 start_indx, UI_string_type *hintArray);
  957. extern void mmi_email_entry_draft_opt(void);
  958. extern void mmi_email_hilite_draft_edit(void);
  959. #define FOLDER_EMAIL_DEF
  960. extern void mmi_email_fldr_update_page_num(void);
  961. extern S32 mmi_email_fldr_get_async_items(S32 start_indx, gui_iconlist_menu_item *menuData, S32 num_item);
  962. #if !defined(__MMI_SLIM_EMAIL_NO_IMAP4__)
  963. extern void mmi_email_hilite_fldr_next_page(void);
  964. extern void mmi_email_hilite_fldr_prev_page(void);
  965. extern void mmi_email_hilite_fldr_jump_to_page(void);
  966. extern void mmi_email_fldr_jump_page_req(void);
  967. extern void mmi_email_fldr_next_page_req(void);
  968. extern void mmi_email_fldr_prev_page_req(void);
  969. extern void mmi_email_fldr_fill_jump_inline_struct(void);
  970. extern void mmi_email_fldr_pre_entry_jump_page(void);
  971. extern void mmi_email_entry_jump_page(void);
  972. extern void mmi_email_exit_jump_page(void);
  973. #endif /* !defined(__MMI_SLIM_EMAIL_NO_IMAP4__) */ 
  974. extern void mmi_email_entry_fldr_progress(void);
  975. extern void mmi_email_exit_fldr_progress(void);
  976. extern U16 mmi_email_fldr_get_status_icon(U8 priority, U8 attch_num);
  977. extern BOOL mmi_email_fldr_is_list_ready(void);
  978. extern void mmi_email_hilite_fldr_msg_del(void);
  979. extern U16 mmi_email_fldr_get_start_scr(void);
  980. extern void mmi_email_fldr_reset_list_info(void);
  981. extern S32 mmi_email_fldr_get_num_mails(void);
  982. extern void mmi_email_fldr_pre_entry(void);
  983. extern void mmi_email_fldr_exec_entry(void);
  984. extern void mmi_email_fldr_back_from_history(void);
  985. extern void mmi_email_fldr_pre_folder_select_req(void);
  986. extern void mmi_email_fldr_get_msg_rsp_data(mmi_email_folder_msg_select_rsp_struct *msgRsp);
  987. extern void mmi_email_fldr_get_msg_struct(email_msg_info_struct *emailMsg);
  988. extern void mmi_email_fldr_get_msg_cont(U8 totalTextMsg, mmi_email_msg *textMsgList);
  989. extern void mmi_email_fldr_get_msg_subj(U8 *out_buff, U8 *in_buff, U8 len, email_charset_enum charSet, BOOL truncate);
  990. extern void mmi_email_fldr_get_msg_from(email_address_list *senderAddr);
  991. extern void mmi_email_fldr_get_msg_addr(U8 total, email_address_list *toAddr, U8 type);
  992. extern void mmi_email_fldr_get_msg_prot(U8 priority);
  993. extern void mmi_email_fldr_get_msg_attch(U8 totalAttach, email_attach_struct *attachList);
  994. extern S8 mmi_email_fldr_read_cont(S8 fileNo, S32 in_len, email_charset_enum ch_set, U8 **out_buff, U16 *out_len);
  995. extern void mmi_email_fldr_exec_curr_rsp(U16 progrScrnId, FuncPtr entryFuncPtr, FuncPtr exitFuncPtr);
  996. extern void mmi_email_fldr_sel_rsp_hdlr(mmi_email_folder_select_rsp_struct *msgRsp);
  997. extern void mmi_email_fldr_enter_curr_list(void);
  998. extern void mmi_email_fldr_reset_cntx(email_reset_fldr_enum resetFolderInfo);
  999. extern void mmi_email_fldr_fill_addr_buff(U8 *appMailAddr, email_address_list *psMailAddrInfoStruct);
  1000. #define DELETE_EMAIL_DEF
  1001. extern void mmi_email_del_single_msg(void);
  1002. extern void mmi_email_del_single_msg_done(void);
  1003. extern void mmi_email_entry_del_all(void);
  1004. extern void mmi_email_exit_del_all(void);
  1005. extern void mmi_email_hilite_del_all_fldr(S32 index);
  1006. extern void mmi_email_del_all_get_menu_detail(U8 **nStrItemList, U16 *itemIcons, U8 **popUpList);
  1007. extern void mmi_email_del_all_folders(void);
  1008. extern void mmi_email_del_all_confirm(void);
  1009. #define PROF_EMAIL_DEF
  1010. /* main */
  1011. extern void mmi_email_entry_comm_full_edit_opt(void);
  1012. extern void mmi_email_entry_prof(void);
  1013. extern void mmi_email_entry_prof_opt(void);
  1014. extern void mmi_email_entry_prof_edit(void);
  1015. extern void mmi_email_prof_activate(void);
  1016. extern void mmi_email_prof_get_data(void);
  1017. extern void mmi_email_prof_save_confirm(void);
  1018. extern void mmi_email_hilite_prof_full_edit(void);
  1019. extern void mmi_email_hilite_prof_full_edit_ext(void);
  1020. extern void mmi_email_prof_go_back_to_edit_menu(void);
  1021. extern void mmi_email_prof_update_act_info(void);
  1022. extern void mmi_email_prof_fill_data(mmi_list_acct_struct *msgRsp);
  1023. /* highlight handlers */
  1024. extern void mmi_email_hilite_prof_activate(void);
  1025. extern void mmi_email_hilite_prof_edit(void);
  1026. extern void mmi_email_hilite_prof_setting(void);
  1027. extern void mmi_email_hilite_prof_smtp(void);
  1028. extern void mmi_email_hilite_prof_pop3_impa4(void);
  1029. extern void mmi_email_hilite_prof_sig(void);
  1030. extern void mmi_email_hilite_prof_gprs(void);
  1031. extern void mmi_email_hilite_prof_csd(void);
  1032. extern void mmi_email_hilite_prof_done(void);
  1033. extern void mmi_email_hilite_prof_input_meth(void);
  1034. /* profile setting */
  1035. extern void mmi_email_entry_prof_setting(void);
  1036. extern void mmi_email_exit_prof_setting(void);
  1037. extern void mmi_email_prof_fill_setting_inline_struct(void);
  1038. extern void mmi_email_prof_save_setting(void);
  1039. extern void mmi_email_prof_data_acct_callback(U16 index);
  1040. extern void mmi_email_entry_prof_data_acct(void);
  1041. extern void mmi_email_entry_prof_csd_data_acct(void);
  1042. extern void mmi_email_entry_prof_gprs_data_acct(void);
  1043. extern void mmi_email_prof_list_data_acct(void);
  1044. extern void mmi_email_hilite_prof_data_acct(S32);
  1045. extern void mmi_email_prof_save_data_acct(void);
  1046. /* smtp */
  1047. extern void mmi_email_entry_prof_smtp(void);
  1048. extern void mmi_email_exit_prof_smtp(void);
  1049. extern void mmi_email_prof_fill_smtp_inline_struct(void);
  1050. extern void mmi_email_prof_save_smtp(void);
  1051. /* pop3/imap4 */
  1052. extern void mmi_email_entry_prof_pop3_imap4(void);
  1053. extern void mmi_email_exit_prof_pop3_imap4(void);
  1054. extern void mmi_email_prof_fill_pop3_imap4_inline_struct(void);
  1055. extern void mmi_email_prof_save_pop3_imap4(void);
  1056. /* signature */
  1057. extern void mmi_email_prof_pre_entry_sig(void);
  1058. extern void mmi_email_entry_prof_sig(void);
  1059. extern void mmi_email_exit_prof_sig(void);
  1060. extern void mmi_email_prof_fill_sig_inline_struct(void);
  1061. extern void mmi_email_hilite_prof_sig_inline_sel(S32);
  1062. extern void mmi_email_prof_save_sig(void);
  1063. extern void mmi_email_prof_sig_save_file_callback(void *info);
  1064. extern void mmi_email_hilite_prof_sig_inline_item(S32 index);
  1065. extern void mmi_email_hilite_prof_sig_view(void);
  1066. extern void mmi_email_hilite_prof_sig_select(void);
  1067. extern void mmi_email_hilite_prof_sig_del(void);
  1068. extern void mmi_email_entry_prof_sig_sel_file(void);
  1069. extern void mmi_email_entry_prof_sig_view_attach(void);
  1070. extern void mmi_email_prof_sig_sel_attach(void);
  1071. extern void mmi_email_prof_sig_sel_attach_callback(void *filePath, int is_short);
  1072. extern void mmi_email_prof_sig_del_attach(void);
  1073. extern void mmi_email_prof_update_hint(void);
  1074. extern U8 mmi_email_prof_is_activated(void);
  1075. /* protocol part */
  1076. extern void mmi_email_prof_get_acct_data(mmi_acct_profile_struct *);
  1077. extern void mmi_email_prof_fill_act_info(mmi_acct_profile_struct *LocalData);
  1078. extern void mmi_email_hilite_prof_list(S32 index);
  1079. extern void mmi_email_prof_set_acct_data(mmi_email_set_acct_profile_req_struct *);
  1080. #define PS_EMAIL_DEF
  1081. /* general */
  1082. extern void mmi_email_ps_init_req(void);
  1083. extern void mmi_email_ps_init_rsp(void *inMsg);
  1084. extern void mmi_email_ps_deinit_req(void);
  1085. extern void mmi_email_ps_deinit_rsp(void *inMsg);
  1086. extern void mmi_email_ps_start_req(void);
  1087. extern void mmi_email_ps_start_rsp(void *inMsg);
  1088. extern void mmi_email_ps_stop_req(void);
  1089. extern void mmi_email_ps_stop_rsp(void *inMsg);
  1090. extern void mmi_email_ps_abort_req(void);
  1091. extern void mmi_email_ps_abort_rsp(void *inMsg);
  1092. /* profile */
  1093. extern void mmi_email_ps_list_acct_profile_req(void);
  1094. extern void mmi_email_ps_list_acct_profile_rsp(void *inMsg);
  1095. extern void mmi_email_ps_dt_acct_callback(void);
  1096. extern void mmi_email_ps_set_acct_profile_req(void);
  1097. extern void mmi_email_ps_set_acct_profile_rsp(void *inMsg);
  1098. extern void mmi_email_ps_get_acct_profile_req(U8);
  1099. extern void mmi_email_ps_get_acct_profile_rsp(void *inMsg);
  1100. extern void mmi_email_ps_activate_acct_req(U8);
  1101. extern void mmi_email_ps_activate_acct_rsp(void *inMsg);
  1102. extern void mmi_email_ps_list_folders_req(void);
  1103. extern void mmi_email_ps_list_folders_rsp(void *inMsg);
  1104. extern void mmi_email_ps_get_csd_data_acct_req(U8);
  1105. extern void mmi_email_ps_get_csd_data_acct_rsp(void *);
  1106. #ifdef __MMI_GPRS_FEATURES__
  1107. extern void mmi_email_ps_get_gprs_data_acct_req(U8);
  1108. extern void mmi_email_ps_get_gprs_data_acct_rsp(void *);
  1109. #endif /* __MMI_GPRS_FEATURES__ */ 
  1110. extern void mmi_email_ps_snr_req(void);
  1111. extern void mmi_email_ps_snr_rsp(void *inMsg);
  1112. extern void mmi_email_ps_msg_available_ind(void *inMsg);
  1113. extern void mmi_email_ps_msg_full_ind(void *inMsg);
  1114. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  1115. extern void mmi_email_ps_auto_chk_ind(void *inMsg);
  1116. #endif 
  1117. extern void mmi_email_ps_server_conn_ind(void *inMsg);
  1118. extern void mmi_email_ps_msg_sent_ind(void *inMsg);
  1119. extern void mmi_email_ps_num_msgs_sent_ind(void *inMsg);
  1120. extern void mmi_email_ps_num_msgs_sent_ind(void *inMsg);
  1121. extern void mmi_email_ps_authverify_ind(void *inMsg);
  1122. extern void mmi_email_ps_recv_msgs_ind(void *inMsg);
  1123. extern void mmi_email_ps_new_msgs_ind(void *inMsg);
  1124. /* send/save */
  1125. extern void mmi_email_ps_send_only_req(void);
  1126. extern void mmi_email_ps_send_only_rsp(void *inMsg);
  1127. extern void mmi_email_ps_save_and_send_req(void);
  1128. extern void mmi_email_ps_save_and_send_rsp(void *inMsg);
  1129. extern void mmi_email_ps_save_to_draft_req(void);
  1130. extern void mmi_email_ps_save_to_draft_rsp(void *inMsg);
  1131. extern void mmi_email_ps_move_to_draft_req(void);
  1132. extern void mmi_email_ps_move_to_draft_rsp(void *inMsg);
  1133. extern void mmi_email_ps_send_from_mailbox_req(BOOL needSave);
  1134. extern void mmi_email_ps_send_from_mailbox_rsp(void *inMsg);
  1135. extern void mmi_email_ps_folder_select_req(void);
  1136. extern void mmi_email_ps_folder_select_rsp(void *inMsg);
  1137. extern void mmi_email_ps_folder_msg_select_req(void);
  1138. extern void mmi_email_ps_folder_msg_select_rsp(void *inMsg);
  1139. extern void mmi_email_ps_folder_msg_del_req(void);
  1140. extern void mmi_email_ps_folder_msg_del_rsp(void *inMsg);
  1141. extern S32 mmi_email_util_fill_msg_struct(email_msg_info_struct *emailMsg);
  1142. extern void mmi_email_util_fill_priority(U8 *priority);
  1143. extern void mmi_email_util_fill_subj(U8 *subjectDataLen, U8 *subjectDataPtr, email_charset_enum *ch_set);
  1144. extern void mmi_email_util_fill_addr(U8 *total, email_address_list *toAddr, email_addr_type_enum type);
  1145. extern S32 mmi_email_util_fill_cont(U8 *totalTextMsg, mmi_email_msg *textMsgList);
  1146. extern S32 mmi_email_util_fill_attach(U8 *totalAttach, email_attach_struct *attachList);
  1147. #define FMGR_EMAIL
  1148. extern S8 *mmi_email_get_file_ext(S8 *pFileName);
  1149. extern void mmi_email_fmgr_exec_send(void);
  1150. extern void mmi_email_fs_del_all_tmp_file_rsp(void *info);
  1151. extern void mmi_email_fs_del_all_tmp_file_req(void);
  1152. extern void mmi_email_send_from_phb(S8 *name, S8 *email);
  1153. extern void mmi_email_send_from_phb_done(void);
  1154. extern void mmi_email_entry_fldr_corrupt_mail(void);
  1155. extern void mmi_email_exit_fldr_corrupt_mail(void);
  1156. extern void mmi_email_pre_entry_progressing(
  1157.                 U16 strCaption,
  1158.                 U16 imgCaption,
  1159.                 U16 strLsk,
  1160.                 U16 imgLsk,
  1161.                 U16 strRsk,
  1162.                 U16 imgRsk,
  1163.                 U8 *strBody1,
  1164.                 U8 *strBody2,
  1165.                 U16 imgBody,
  1166.                 FuncPtr lskFuncPtr,
  1167.                 FuncPtr rskFuncPtr,
  1168.                 FuncPtr endFuncPtr,
  1169.                 S8 leftAlign);
  1170. extern void mmi_email_display_confirm(U16 strId, FuncPtr lskFuncs, FuncPtr rskFuns);
  1171. extern void mmi_email_entry_progressing(void);
  1172. extern void mmi_email_exit_progressing(void);
  1173. #define UTILITY_EMAIL_DEF
  1174. extern U8 *mmi_email_util_get_fldr_hint_value(U16 index, U8 folderSelectState);
  1175. extern U8 *mmi_email_util_get_hint_value_all_fldr(U16 index);
  1176. extern void mmi_email_util_free_container_pool(void);
  1177. extern U16 mmi_email_util_get_err_string(S32 error);
  1178. extern void mmi_email_util_clear_end_key_hdlr(void);
  1179. extern void mmi_email_util_set_insert_history_flag(BOOL insert_hist);
  1180. extern void mmi_email_util_create_working_dir(void);
  1181. extern U16 mmi_email_util_get_fldr_scr_id(void);
  1182. extern U16 mmi_email_util_get_err_code(S32 minor, signed char major);
  1183. extern FuncPtr mmi_email_util_get_abort_func(void);
  1184. /* mine type */
  1185. extern void mmi_email_util_get_mine_type(S8 *filename, U8 *mime_type, U8 *mime_subtype);
  1186. extern U16 mmi_email_util_get_attch_icon(S8 *filepath);
  1187. /* display/screen */
  1188. extern void mmi_email_util_add_n_history(U16 scrnId, FuncPtr entryFuncPtr);
  1189. extern void mmi_email_util_add_history(U16 scrnId, FuncPtr entryFuncPtr);
  1190. extern void mmi_email_util_display_err_popup(S32 minor, signed char major, U16 startDelScrnId, U16 endDelScrnId);
  1191. extern void mmi_email_util_del_between_scr(U16 start_scr, U16 end_scr);
  1192. extern void mmi_email_util_del_upto_scr(U16 end_scr);
  1193. extern void mmi_email_util_go_back_2_hist(void);
  1194. extern U8 mmi_email_util_is_call_interrupt_allow(void);
  1195. extern U8 *mmi_email_util_folder_select_cap_str(U16 strCaptionId);
  1196. extern void mmi_email_util_change_title(U16 strId);
  1197. extern U16 mmi_email_util_abort_str(void);
  1198. extern U16 mmi_email_util_abort_img(void);
  1199. /* string */
  1200. extern U8 mmi_email_util_get_chset(U8 src_chset);
  1201. extern U8 *mmi_email_util_chset_to_ucs2(U8 *data, U16 len, U8 format, U16 *outLen);
  1202. extern U8 *mmi_email_util_ucs2_to_chset(U8 *data, U16 len, U8 format, U16 *outLen);
  1203. extern S8 *mmi_email_util_ascii_2_ucs2_str(S8 *str);
  1204. extern S8 *mmi_email_util_num_2_ucs2_str(S8 num);
  1205. extern S32 mmi_email_util_get_num_len(U32 number);
  1206. extern BOOL mmi_email_util_chk_addr(U8 *mailAddr);
  1207. extern void mmi_email_util_get_cont_name(S8 fileNo, S8 *path_buff);
  1208. extern void mmi_email_util_get_attch_name(S8 fileNo, S8 *path_buff);
  1209. extern void mmi_email_util_get_sig_name(S8 fileNo, S8 *path_buff);
  1210. extern void mmi_email_util_dt_to_str(S8 *appDateTime, email_date_time_struct *psDateTime);
  1211. extern BOOL mmi_email_util_is_username_vaild(S8 *username);
  1212. extern S8 mmi_email_uti_strnicmp(S8 *src, S8 *dest, S32 maxlen);
  1213. /* idle screen */
  1214. #if !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__)
  1215. extern U8 mmi_email_util_is_idle(void); // #ifdef
  1216. extern U8 mmi_email_util_is_key_locked(void);
  1217. #endif /* !defined(__MMI_SLIM_EMAIL_NO_AUTO_CHECK__) */ 
  1218. extern void mmi_email_util_update_status_icon(void);
  1219. /* file */
  1220. extern S32 mmi_email_util_get_file_size(S8 *filePathPtr, S32 *fileSizePtr);
  1221. extern S32 mmi_email_util_check_file_exist(S8 *filePathPtr);
  1222. extern S32 mmi_email_util_rename_attch(S8 fileNo, S8 *srcFilePathPtr);
  1223. extern void mmi_email_util_get_cont_size(U8 totalTextMsg, S32 *outContentDataSize);
  1224. extern void mmi_email_util_rename_default_to_read(void);
  1225. extern void mmi_email_util_rename_default_to_comp(void);
  1226. extern void mmi_email_util_rename_read_to_comp(void);
  1227. extern void mmi_email_util_rename_after_abort(S8 fileNo, S8 *DestFilePathPtr);
  1228. #endif /* _MMI_EMAILAPPPROT_H */ // #ifndef _MMI_EMAILAPPPROT_H