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

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.  * UnifiedComposerProt.h
  45.  *
  46.  * Project:
  47.  * --------
  48.  * MAUI
  49.  *
  50.  * Description:
  51.  * ------------
  52.  * This file defines local enum, constant and prototypes for Unified Composer
  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.  *------------------------------------------------------------------------------
  101.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  102.  *==============================================================================
  103.  *******************************************************************************/
  104. #ifndef _MMI_UNIFIED_COMPOSER_PROT_H
  105. #define _MMI_UNIFIED_COMPOSER_PROT_H
  106. #ifndef _FILE_MGR_H_
  107. #error "Please include FileMgr.h first"
  108. #endif 
  109. #ifndef _KAL_RELEASE_H
  110. #error "Please include kal_release.h first"
  111. #endif 
  112. #ifndef _WAPADP_H
  113. #error "Please include wapadp.h first"
  114. #endif 
  115. #ifndef _MMI_UNIFIED_COMPOSER_GPROT_H
  116. #error "Please include UnifiedComposerGProt.h first"
  117. #endif 
  118. #define MMI_UC_MAX_ATTACHMENT_NUM (MMA_MAX_ATTACHMENT_NO)
  119. #define MMI_UC_MAX_ADDRESS_NUM (MMA_MAX_RECIPIENT_NO)
  120. #define MMI_UC_MAX_MMS_SLIDE_NUM (MMA_MAX_SLIDE_NO)
  121. #define MMI_UC_MAX_SLIDE_TIMING_DIGIT (2)
  122. #define MMI_UC_MAX_SLIDE_NUM_DIGIT (5)
  123. //#define MMI_UC_MAX_SLIDE_TIMING (60)
  124. #define MMI_UC_POPUP_TIME_OUT             (UI_POPUP_NOTIFYDURATION_TIME_2000)
  125. #define MMI_UC_INPROGRESS_TIME_OUT        (1000 * 50)
  126. #define MMI_UC_MSG_TYPE_CHECK_TIME        (1)
  127. #define MMI_UC_MAX_SMS_PAGE_DIGIT (3) /* Support up to 999 SMS segments */
  128. #define MMI_UC_MAX_RECIPIENT_DIGIT (4) /* Support up to 9999 recipients */
  129. #define MMI_UC_MAX_TOTAL_MSG_DIGIT (6) /* Support up to 999999 SMS segments */
  130. #define MMI_UC_MAX_SIZE_DIGIT (10) /* Support up to 9999999 kB */
  131. #define MMI_UC_MAX_ATTACHMENT_DIGIT (MAX_SUBMENU_CHARACTERS)
  132. #define MMI_UC_MAX_ATTACHMENT_FILE_NAME_DIGIT (30)
  133. /* (999999 kB)  */
  134. #define MMI_UC_MAX_ATTACHMENT_SIZE_DIGIT (MAX_SUBMENU_CHARACTERS - MMI_UC_MAX_ATTACHMENT_FILE_NAME_DIGIT)
  135. #define MMI_UC_DEFAULT_BG_COLOR (MMA_DEFAULT_SMIL_BG_COLOR)
  136. #define MMI_UC_DEFAULT_FG_COLOR (MMA_DEFAULT_SMIL_FG_COLOR)
  137. #define MMI_UC_INVALID_VALUE (0xFF)
  138. #define MMI_UC_INVALID_INDEX (0xFFFF)
  139. #define MMI_UC_FOLDER_DRV MMI_PUBLIC_DRV
  140. #define MMI_UC_FOLDER_NAME "_UC"
  141. #define MMI_UC_TEXT_FILENAME "T"
  142. #define MMI_UC_TEXT_FILEEXT "txt"
  143. #define MMI_UC_IMAGE_FILENAME "I"
  144. #define MMI_UC_IMAGE_FILEEXT "jpg"
  145. #define MMI_UC_MAX_TEMP_FILE_LEN ((20 + 1) * ENCODING_LENGTH)
  146. #define MMI_UC_XML_FILENAME "X"
  147. #define MMI_UC_XML_FILEEXT "xml"
  148. #define MMI_UC_XML_TEMP_STR_LEN (1024)
  149. #define MMI_UC_MAX_XML_SIZE_IN_PEER_BUFFER (2000)
  150. #define MMI_UC_MAKE_FOLDER_PATH(x)      
  151.    kal_wsprintf( (kal_uint16 *)x, "%c:\%s", 
  152.       MMI_UC_FOLDER_DRV, MMI_UC_FOLDER_NAME);
  153. #define MMI_UC_MAKE_TEXT_FILE_PATH(x, d)   
  154.    kal_wsprintf( (kal_uint16 *)x, "%c:\%s\%s%03d.%s",
  155.       MMI_UC_FOLDER_DRV, MMI_UC_FOLDER_NAME, MMI_UC_TEXT_FILENAME, d, MMI_UC_TEXT_FILEEXT ); 
  156. #define MMI_UC_MAKE_IMAGE_FILE_PATH(x, d)   
  157.    kal_wsprintf( (kal_uint16 *)x, "%c:\%s\%s%03d.%s",
  158.       MMI_UC_FOLDER_DRV, MMI_UC_FOLDER_NAME, MMI_UC_IMAGE_FILENAME, d, MMI_UC_IMAGE_FILEEXT ); 
  159. #define MMI_UC_MAKE_MMS_XML_FILE_PATH(x, d)   
  160.    kal_wsprintf( (kal_uint16 *)x, "%c:\%s\%s%03d.%s",
  161.       MMI_UC_FOLDER_DRV, MMI_UC_FOLDER_NAME, MMI_UC_XML_FILENAME, d, MMI_UC_XML_FILEEXT );
  162. #define MMI_UC_XML_ELEMENT_MMS "mms"
  163. #define MMI_UC_XML_ELEMENT_HEADER "header"
  164. #define MMI_UC_XML_ELEMENT_TO "to"
  165. #define MMI_UC_XML_ELEMENT_CC "cc"
  166. #define MMI_UC_XML_ELEMENT_BCC "bcc"
  167. #define MMI_UC_XML_ELEMENT_FROM "from"
  168. #define MMI_UC_XML_ATTR_TYPE "type"
  169. #define MMI_UC_XML_ATTR_POHNE_NUMBER "P"
  170. #define MMI_UC_XML_ATTR_EMAIL_ADDR "E"
  171. #define MMI_UC_XML_ELEMENT_SUBJECT "subject"
  172. #define MMI_UC_XML_ELEMENT_READ_REPORT "rr"
  173. #define MMI_UC_XML_ELEMENT_DELIVERY_REPORT "dr"
  174. #define MMI_UC_XML_ELEMENT_PRIORITY "prio"
  175. #define MMI_UC_XML_ELEMENT_EXPIRY "expiry"
  176. #define MMI_UC_XML_ELEMENT_DELIVERY_TIME "delivery"
  177. #define MMI_UC_XML_ELEMENT_VISIBLE "visible"
  178. #define MMI_UC_XML_ELEMENT_BODY "body"
  179. #define MMI_UC_XML_ATTR_BGCOLOR "bgColor"
  180. #define MMI_UC_XML_ATTR_FGCOLOR "fgColor"
  181. #define MMI_UC_XML_ATTR_SLIDE_NUM "slideNum"
  182. #define MMI_UC_XML_ATTR_OBJ_NUM "objNum"
  183. #define MMI_UC_XML_ATTR_LAYOUT "layout"
  184. #define MMI_UC_XML_ELEMENT_SLIDE "slide"
  185. #define MMI_UC_XML_ATTR_INDEX "index"
  186. #define MMI_UC_XML_ATTR_DURATION "dur"
  187. #define MMI_UC_XML_ATTR_ID "id"
  188. #define MMI_UC_XML_ATTR_BEGIN "begin"
  189. #define MMI_UC_XML_ATTR_END "end"
  190. #define MMI_UC_XML_ELEMENT_TEXT "text"
  191. #define MMI_UC_XML_ELEMENT_IMAGE "img"
  192. #define MMI_UC_XML_ELEMENT_AUDIO "audio"
  193. #define MMI_UC_XML_ELEMENT_VIDEO "video"
  194. #define MMI_UC_XML_ATTR_ATTACH "attach"
  195. #define MMI_UC_XML_ATTR_VIRTUAL_FILE "vf"
  196. #define MMI_UC_XML_ATTR_DRM "drm"
  197. #define MMI_UC_XML_ATTR_SIZE "size"
  198. #define MMI_UC_XML_ATTR_OFFSET "offset"
  199. #define MMI_UC_XML_ELEMENT_OBJECT "obj"
  200. #define MMI_UC_XML_ELEMENT_NAME "name"
  201. #define MMI_UC_XML_ELEMENT_FILE_PATH "filepath"
  202. /*
  203.  * Image Resizing
  204.  */
  205. #define MMI_UC_RESIZING_SUCCEED                                         (1)
  206. #define MMI_UC_RESIZING_SUCCEED_WITH_UNCHANGED                          (0)
  207. #define MMI_UC_RESIZING_FAILED_IN_GDI_FAILED                            (-1)
  208. #define MMI_UC_RESIZING_FAILED_IN_GDI_ENCODER_ERR_DISK_FULL             (-5)
  209. #define MMI_UC_RESIZING_FAILED_IN_GDI_ENCODER_ERR_WRITE_PROTECTION      (-6)
  210. #define MMI_UC_RESIZING_FAILED_IN_GDI_ENCODER_ERR_NO_DISK               (-7)
  211. #define MMI_UC_RESIZING_FAILED_IN_NO_QUOTA                              (-10)
  212. #define MMI_UC_RESIZING_FAILED_IN_UNKNOWN_DIMENSION                     (-11)
  213. #define MMI_UC_RESIZING_FAILED_IN_INSUFFICIENT_DRAWING_BUF              (-12)
  214. typedef enum
  215. {
  216.     MMI_UC_DONE_TO_CAPTION,
  217.     MMI_UC_DONE_TO,
  218.     MMI_UC_DONE_CC_CAPTION,
  219.     MMI_UC_DONE_CC,
  220.     MMI_UC_DONE_BCC_CAPTION,
  221.     MMI_UC_DONE_BCC,
  222.     MMI_UC_DONE_SUBJECT_CAPTION,
  223.     MMI_UC_DONE_SUBJECT,
  224.     MMI_UC_DONE_MSG_DETAIL_CAPTION,
  225.     
  226.     MMI_UC_DONE_TOTAL_NUM    
  227. } mmi_uc_done_enum;
  228. typedef enum
  229. {
  230.     MMI_UC_DONE_SMS_ONLY_TO_CAPTION = MMI_UC_DONE_TO_CAPTION, 
  231.     MMI_UC_DONE_SMS_ONLY_TO,
  232.     MMI_UC_DONE_SMS_ONLY_MSG_DETAIL_CAPTION,
  233.     
  234.     MMI_UC_DONE_SMS_ONLY_TOTAL_NUM    
  235. } mmi_uc_done_sms_onlyenum;
  236. typedef enum
  237. {
  238.     MMI_UC_SEND_OPT_VALIDITY_PERIOD_CAPTION,
  239.     MMI_UC_SEND_OPT_VALIDITY_PERIOD,
  240.     MMI_UC_SEND_OPT_DELIVERY_REPORT_CAPTION,
  241.     MMI_UC_SEND_OPT_DELIVERY_REPORT,
  242.     MMI_UC_SEND_OPT_READ_REPORT_CAPTION,
  243.     MMI_UC_SEND_OPT_READ_REPORT,
  244.     MMI_UC_SEND_OPT_PRIORITY_CAPTION,
  245.     MMI_UC_SEND_OPT_PRIORITY,
  246.     MMI_UC_SEND_OPT_DELIVERY_TIME_CAPTION,
  247.     MMI_UC_SEND_OPT_DELIVERY_TIME,    
  248.     
  249.     MMI_UC_SEND_OPT_TOTAL_NUM    
  250. } mmi_uc_send_opt_enum;
  251. typedef enum
  252. {
  253.     MMI_UC_DONE_STATE_ADD_NUMBER,
  254.     MMI_UC_DONE_STATE_ADD_EMAIL,
  255.     MMI_UC_DONE_STATE_EDIT_NUMBER,
  256.     MMI_UC_DONE_STATE_EDIT_EMAIL,
  257.     MMI_UC_DONE_STATE_ADD_NUMBER_GROUP,
  258.     MMI_UC_DONE_STATE_ADD_EMAIL_GROUP,
  259.     
  260.     MMI_UC_DONE_STATE_TOTAL_NUM    
  261. } mmi_uc_done_state_enum;
  262. typedef enum
  263. {
  264.     MMI_UC_OK,
  265.     MMI_UC_SIZE_EXCEEDS,
  266.     MMI_UC_PROHIBIT_BY_CREATION_MODE,
  267.     MMI_UC_PROHIBIT_BY_DRM,
  268.     MMI_UC_NO_SPACE,
  269.     MMI_UC_STORAGE_FULL,
  270.     MMI_UC_ERROR,
  271.     MMI_UC_XML_ERROR,
  272.     MMI_UC_NOT_SUPPORT,
  273.     
  274.     MMI_UC_RESULT_TOTAL_NUM
  275. } mmi_uc_result;
  276. typedef enum
  277. {
  278.     MMI_UC_ACTION_IDLE,
  279.     MMI_UC_ACTION_SEND,
  280.     MMI_UC_ACTION_SEND_AND_SAVE,    
  281.     MMI_UC_ACTION_SAVE,
  282.     MMI_UC_ACTION_DELETE,
  283.     MMI_UC_ACTION_PREVIEW,
  284.     MMI_UC_ACTION_SAVE_IN_BACKGROUND,
  285.     
  286.     MMI_UC_ACTION_TOTAL_NUM
  287. } mmi_uc_action_type_enum;
  288. typedef enum
  289. {
  290.     MMI_UC_ABORT_NONE,
  291.     MMI_UC_ABORT_BY_END_KEY,
  292.     MMI_UC_ABORT_NORMAL,
  293.     
  294.     MMI_UC_ABORT_TOTAL_NUM
  295. } mmi_uc_abort_type_enum;
  296. typedef struct
  297. {    
  298.     KAL_ADM_ID mem_pool_id; /* ADM pool ID */
  299.     U8 text_buffer[MMI_UC_TEXT_BUFFER_SIZE];
  300.     U8 slide_timing[(MMI_UC_MAX_SLIDE_TIMING_DIGIT + 1) * ENCODING_LENGTH];
  301.     U8 slide_number[(MMI_UC_MAX_SLIDE_NUM_DIGIT + 1) * ENCODING_LENGTH];
  302.     S32 file_handle;
  303.     U8* file_path;
  304.     U32 image_no;
  305.     S32 current_text_file_save_result;
  306.     U16 object_index;
  307.     mmi_uc_object_type highlighted_object_type;
  308.     mmi_uc_state_enum state;
  309.     uc_func_ptr callback;
  310.     void* callback_para;
  311.     
  312. } mmi_uc_main_struct;
  313. typedef struct
  314. {
  315.     mmi_uc_msg_type_enum curr_msg_type; /* only SMS_PREFER and MMS_PREFER */
  316.     mmi_uc_msg_type_enum setting_msg_type; /* only SMS_PREFER and MMS_PREFER */
  317.     mmi_uc_msg_type_enum caller_specific_msg_type;    
  318.     mmi_uc_msg_type_enum backup_msg_type;
  319. } mmi_uc_msg_type_struct;
  320. typedef struct
  321. {
  322.     UI_string_type read_report_str[2];    
  323.     S32 read_report;
  324.     UI_string_type delivery_report_str[2];
  325.     S32 delivery_report;
  326.     UI_string_type priority_str[3];
  327.     S32 priority;
  328.     UI_string_type validity_period_str[5];
  329.     S32 validity_period;
  330.     UI_string_type delivery_time_str[4];
  331.     S32 delivery_time;
  332.     UI_string_type sender_visibility_str[2];
  333.     S32 sender_visibility;
  334. } mmi_uc_send_opt_struct;
  335. typedef struct
  336. {
  337.     U16* text_file;
  338.     U16* img_file;
  339.     U16* audio_file;
  340.     U16* video_file;
  341.     BOOL enable;          
  342. } mmi_uc_mms_signature_struct;
  343. typedef struct
  344. {
  345.     mmi_uc_mms_signature_struct signature;
  346.     mma_image_resizing_struct  image_resize;
  347.     mma_setting_struct  sliding_time;
  348.     U32 max_mms_size;
  349.     mma_creation_mode_enum creation_mode;
  350.     mma_priority_enum priority;
  351.     mma_expiry_time_enum validity_period; 
  352.     mma_delivery_time_enum delivery_time; 
  353.     BOOL delivery_report;
  354.     BOOL read_report;
  355.     BOOL sender_visibility;
  356.     
  357.     U8 duration;            
  358. } mmi_uc_mms_info_struct;
  359. typedef struct
  360. {
  361.     U16 max_gsm7bit_char_num;
  362.     U16 max_ucs2_char_num;
  363. } mmi_uc_sms_info_struct;
  364. typedef struct
  365. {
  366.     S16 caption_str_id;
  367.     S16 body_str_id;
  368.     U16 animation_image_id;
  369.     U16 RSK_str_id;
  370. } mmi_uc_processing_info_struct;
  371. typedef struct
  372. {
  373.     U8 to[(MMI_UC_MAX_ADDR_LEN + 1) * ENCODING_LENGTH];
  374.     U8 cc[(MMI_UC_MAX_ADDR_LEN + 1) * ENCODING_LENGTH];
  375.     U8 bcc[(MMI_UC_MAX_ADDR_LEN + 1) * ENCODING_LENGTH];
  376.     //U8 subject[(MMI_UC_MAX_SUBJECT_LEN + 1) * ENCODING_LENGTH];
  377.     U16 current_addr_index;
  378.     mmi_uc_address_group_type_enum current_addr_type;
  379.     mmi_uc_msg_type_enum pre_msg_type;
  380.     mmi_uc_done_state_enum state;
  381. } mmi_uc_done_struct;
  382. typedef struct
  383. {
  384.     U32 send_result;
  385.     U32 save_result;
  386.     U32 delete_result;
  387.     U32 request_id; 
  388.     U32 buffer_index;
  389.     U32 xml_file_size;
  390.     U8* fail_cause;
  391.     FS_HANDLE fs;
  392.     U16 curr_send_number;
  393.     U16 new_msg_id;
  394.     U16 existed_msg_id;
  395.     U16 percent;
  396.     mmi_uc_msg_type_enum existed_msg_type;
  397.     mmi_uc_action_type_enum action;
  398.     mmi_uc_abort_type_enum abort;
  399. } mmi_uc_send_info_struct;
  400. typedef struct
  401. {
  402.     XML_PARSER_STRUCT* xml_parser;
  403.     mmi_uc_slide_struct* slide;
  404.     mmi_uc_object_struct* object;
  405.     mmi_uc_address_type_enum addr_type;
  406.     
  407. } mmi_uc_xml_struct;
  408. typedef struct
  409. {
  410.     mmi_uc_main_struct main;
  411.     mmi_uc_msg_type_struct msg_type;
  412.     mmi_uc_mms_info_struct mms_info;
  413.     mmi_uc_sms_info_struct sms_info;    
  414.     mmi_uc_msg_struct msg;
  415.     mmi_uc_done_struct done;
  416.     mmi_uc_processing_info_struct processing;
  417.     mmi_uc_send_opt_struct send_opt;
  418.     mmi_uc_send_info_struct send_info;
  419.     mmi_uc_xml_struct xml;
  420. } mmi_uc_context_struct;
  421. extern mmi_uc_context_struct g_uc_cntx; /* global context of uc */
  422. extern mmi_uc_context_struct *g_uc_p;
  423. extern void mmi_uc_init_context(void);
  424. extern void mmi_uc_set_protocol_event_handler(void);
  425. extern void mmi_uc_create_adm_mem(void);
  426. extern void mmi_uc_entry_option(void);
  427. extern void mmi_uc_set_highlight_handler(void);
  428. extern void mmi_uc_highlight_opt_done(void);
  429. extern void mmi_uc_highlight_opt_insert(void);
  430. extern void mmi_uc_highlight_opt_remove(void);
  431. extern void mmi_uc_highlight_opt_replace(void);
  432. extern void mmi_uc_highlight_opt_preview(void);
  433. extern void mmi_uc_highlight_opt_slide_opt(void);
  434. extern void mmi_uc_highlight_opt_send_opt(void);
  435. extern void mmi_uc_highlight_opt_msg_detail(void);
  436. extern void mmi_uc_highlight_opt_input_method(void);
  437. extern void mmi_uc_entry_done(void);
  438. extern void mmi_uc_exit_done(void);
  439. extern void mmi_uc_done_fill_inline_struct(U16* image_list);
  440. extern void mmi_uc_done_highlight_hdlr(S32 index);
  441. extern void mmi_uc_inline_generic_custom_function(void);
  442. extern void mmi_msg_entry_done_option(void);
  443. extern void mmi_uc_entry_addr_option(void);
  444. extern void mmi_uc_entry_addr_list(void);
  445. extern void mmi_uc_set_addr_index(S32 nIndex);
  446. extern pBOOL mmi_uc_addr_list_get_item(S32 item_index, UI_string_type str_buff, PU8 *img_buff_p, U8 str_img_mask);
  447. extern void mmi_uc_highlight_addr_opt_done(void);
  448. extern void mmi_uc_highlight_addr_opt_add_number(void);
  449. extern void mmi_uc_highlight_addr_opt_add_email(void);
  450. extern void mmi_uc_highlight_addr_opt_edit(void);
  451. extern void mmi_uc_highlight_addr_opt_delete(void);
  452. extern void mmi_uc_highlight_addr_opt_delete_all(void);
  453. extern void mmi_uc_highlight_addr_opt_add_number_group(void);
  454. extern void mmi_uc_highlight_addr_opt_add_email_group(void);
  455. extern void mmi_uc_entry_add_number(void);
  456. extern void mmi_uc_add_number_not_empty(void);
  457. extern void mmi_uc_add_number_empty(void);
  458. extern void mmi_uc_search_phb_number(void);
  459. extern void mmi_uc_entry_done_option(void);
  460. extern void mmi_uc_addr_add_number_done(void);
  461. extern BOOL mmi_uc_add_address(U8* addr, mmi_uc_address_type_enum type, mmi_uc_address_group_type_enum group);
  462. extern mmi_uc_addr_struct* mmi_uc_check_duplicate_address(U8* ucs2_addr, mmi_uc_address_type_enum type, mmi_uc_address_group_type_enum group);
  463. extern BOOL mmi_uc_change_msg_type_if_needed(void);
  464. extern void mmi_uc_update_msg_size(void);
  465. extern mmi_uc_msg_type_enum mmi_uc_determine_msg_type_by_content(void);
  466. extern void mmi_uc_go_back_to_done(void);
  467. extern void mmi_uc_entry_add_email(void);
  468. extern void mmi_uc_add_email_empty(void);
  469. extern void mmi_uc_add_email_not_empty(void);
  470. extern void mmi_uc_search_phb_email(void);
  471. extern void mmi_uc_addr_add_email_done(void);
  472. extern void mmi_uc_entry_edit_addr(void);
  473. extern mmi_uc_addr_struct* mmi_uc_get_highlighted_addr(void);
  474. extern void mmi_uc_entry_delete_addr(void);
  475. extern void mmi_uc_process_delete_addr(void);
  476. extern void mmi_uc_delete_addr(mmi_uc_addr_struct* addr);
  477. extern void mmi_uc_free_addr_memory(mmi_uc_addr_struct* addr);
  478. extern void mmi_uc_entry_delete_all_addr(void);
  479. extern void mmi_uc_process_delete_all_addr(void);
  480. extern void mmi_uc_delete_all_addr(mmi_uc_address_group_type_enum group);
  481. extern void mmi_uc_entry_msg_detail(void);
  482. extern void mmi_uc_msg_detail_fill_info(U8* info);
  483. extern void mmi_uc_copy_with_dot(S8 *dest, S8 *source, S32 max_len);
  484. extern void mmi_uc_highlight_done_opt_send(void);
  485. extern void mmi_uc_highlight_done_opt_send_and_save(void);
  486. extern void mmi_uc_highlight_done_opt_save(void);
  487. extern void mmi_uc_highlight_done_opt_back_to_edit(void);
  488. extern void mmi_uc_highlight_done_opt_send_opt(void);
  489. extern void mmi_uc_highlight_done_opt_exit(void);
  490. extern void mmi_uc_entry_insert(void);
  491. extern void mmi_uc_highlight_insert_image(void);
  492. extern void mmi_uc_highlight_insert_audio(void);
  493. extern void mmi_uc_highlight_insert_video(void);
  494. extern void mmi_uc_highlight_insert_text_template(void);
  495. extern void mmi_uc_highlight_insert_attachment(void);
  496. extern void mmi_uc_highlight_insert_phb_number(void);
  497. extern void mmi_uc_highlight_insert_phb_name(void);
  498. extern void mmi_uc_highlight_insert_bookmark(void);
  499. extern void mmi_uc_highlight_remove_image(void);
  500. extern void mmi_uc_highlight_remove_audio(void);
  501. extern void mmi_uc_highlight_remove_video(void);
  502. extern void mmi_uc_highlight_remove_attachment(void);
  503. extern void mmi_uc_highlight_replace_image(void);
  504. extern void mmi_uc_highlight_replace_audio(void);
  505. extern void mmi_uc_highlight_replace_video(void);
  506. extern void mmi_uc_highlight_replace_attachment(void);
  507. extern void mmi_uc_entry_insert_phb_name(void);
  508. extern void mmi_uc_entry_insert_phb_number(void);
  509. extern void mmi_uc_insert_number_from_phb(S8* name, S8* number);
  510. extern void mmi_uc_insert_name_from_phb(S8* name, S8* number);
  511. extern void mmi_uc_entry_insert_bookmark(void);
  512. extern void mmi_uc_handle_select_bookmark_rsp(void *inMsg);
  513. extern void mmi_uc_select_fmgr_object(void);
  514. extern void mmi_uc_set_file_mgr_filter(FMGR_FILTER* filter, const char *mime_types);
  515. extern void mmi_uc_select_object_from_fm_to_insert(PU16 filePath, S32 is_short);
  516. extern void mmi_uc_select_object_from_fm_to_replace(PU16 filePath, S32 is_short);
  517. extern mmi_uc_object_struct* mmi_uc_insert_object(S8* filePath, mmi_uc_object_type object_type);
  518. extern U32 mmi_uc_convert_to_mms_insert_type(mmi_uc_object_type object_type);
  519. extern mmi_uc_result mmi_uc_convert_mms_check_result(mma_insert_check_struct* check_result);
  520. extern void mmi_uc_display_popup(mmi_uc_result result);
  521. extern mmi_uc_slide_struct* mmi_uc_insert_slide(mmi_uc_slide_struct* cur_slide);
  522. extern mmi_uc_object_struct* mmi_uc_check_duplicate_object(U16* filePath);
  523. extern BOOL mmi_uc_check_if_exceed_MMS_size_limitation(U32 size);
  524. extern void mmi_uc_insert_object_to_slide(mmi_uc_object_struct* object, mmi_uc_slide_struct* slide, mmi_uc_object_type object_type);
  525. extern wgui_uce_text_change_result_enum mmi_uc_text_change_callback(wgui_uce_text_info_struct *new_text_info);
  526. extern U32 mmi_uc_get_message_size_callback (wgui_uce_text_info_struct *current_text_info);
  527. extern void mmi_uc_editor_initialize(void);
  528. extern void mmi_uc_editor_add_object(mmi_uc_object_struct* object, mmi_uc_object_type object_type);
  529. extern U32 mmi_uc_convert_to_editor_object_type(mmi_uc_object_type object_type);
  530. extern U32 mmi_uc_convert_to_editor_layout_type(mmi_uc_layout_enum layout_type);
  531. extern U32 mmi_uc_convert_to_mms_layout_type(mmi_uc_layout_enum layout_type);
  532. extern U32 mmi_uc_convert_mms_layout_type_to_uc(U8 layout_type);
  533. extern void mmi_uc_insert_object_to_attachment(mmi_uc_object_struct*  object, mmi_uc_attachment_info_struct* attachment);
  534. extern U16* mmi_uc_get_file_name(U16* filePath);
  535. extern void mmi_uc_entry_remove(void);
  536. extern void mmi_uc_remove_object(void);
  537. extern void mmi_uc_entry_attachment_list(void);
  538. extern void mmi_uc_set_index(S32 hilited_index);
  539. extern void mmi_uc_delete_object_from_list(mmi_uc_object_struct* object);
  540. extern mmi_uc_attachment_info_struct* mmi_uc_get_attachment_by_index(U16 index);
  541. extern void mmi_uc_delete_attachment_from_list(mmi_uc_attachment_info_struct* att);
  542. extern void mmi_uc_entry_replace(void);
  543. extern mmi_uc_attachment_info_struct* mmi_uc_insert_attachment(void);
  544. extern mmi_uc_object_struct* mmi_uc_get_object_in_slide(mmi_uc_slide_struct* slide, mmi_uc_object_type object_type);  
  545. extern void mmi_uc_entry_slide_opt(void);
  546. extern void mmi_uc_highlight_slide_opt_insert(void);
  547. extern void mmi_uc_highlight_slide_opt_delete(void);
  548. extern void mmi_uc_highlight_slide_opt_previous(void);
  549. extern void mmi_uc_highlight_slide_opt_next(void);
  550. extern void mmi_uc_highlight_slide_opt_timing(void);
  551. extern void mmi_uc_entry_insert_slide(void);
  552. extern void mmi_uc_reset_text_buffer(void);
  553. extern void mmi_uc_entry_delete_slide(void);
  554. extern void mmi_uc_init_uc_folder(void);
  555. extern S32 mmi_uc_save_buffer_to_file(U8* file_path, U8* buffer, U16 char_num);
  556. extern void mmi_uc_set_editor_info(mmi_uc_slide_struct* slide);
  557. extern void mmi_uc_delete_slide(mmi_uc_slide_struct* slide);
  558. extern void mmi_uc_switch_slide(mmi_uc_slide_struct* slide);
  559. extern void mmi_uc_read_file_to_text_buffer(U8* file_path);
  560. extern void mmi_uc_set_text_info_to_slide(mmi_uc_slide_struct* slide, wgui_uce_text_info_struct* text_info);
  561. extern void mmi_uc_set_text_info_from_slide(mmi_uc_slide_struct* slide, wgui_uce_text_info_struct* text_info);
  562. extern void mmi_uc_entry_previous_slide(void);
  563. extern void mmi_uc_entry_next_slide(void);
  564. extern void mmi_uc_entry_slide_timing(void);
  565. extern void mmi_uc_entry_slide_timing_done(void);
  566. extern void mmi_uc_entry_goto_slide(void);
  567. extern void mmi_uc_entry_send_opt(void);
  568. extern void mmi_uc_entry_input_method_done(void);
  569. extern void mmi_uc_exit_send_opt(void);
  570. extern void mmi_uc_send_opt_fill_inline_struct(U16* image_list);
  571. extern void mmi_uc_send_opt_done_hdlr(void);
  572. extern void mmi_uc_get_mms_setting_req(void);
  573. extern void mmi_uc_get_mms_setting_rsp(void *inMsg);
  574. extern void mmi_uc_create_mms_req(void);
  575. extern void mmi_uc_create_mms_rsp(void *inMsg);
  576. extern BOOL mmi_uc_insert_signature(void);
  577. extern void mmi_uc_delete_slide_with_object(mmi_uc_slide_struct* slide);
  578. extern BOOL mmi_uc_insert_signature_file(U16* file_path, mmi_uc_slide_struct* slide, mmi_uc_object_type type);
  579. extern void mmi_uc_get_sms_setting(void);
  580. extern void mmi_uc_process_entry_write_msg(void);
  581. extern void mmi_uc_discard_msg_before_enter_write_msg(void);
  582. extern void mmi_uc_reset_msg(void);
  583. extern mmi_uc_msg_type_enum mmi_uc_get_setting_msg_type(void);
  584. extern void mmi_uc_go_back_from_write_msg(void);
  585. extern void mmi_uc_discard_msg_before_exit_write_msg(void);
  586. extern void mmi_uc_save_msg_before_exit_write_msg(void);
  587. extern void mmi_uc_highlight_preferred_type(void);
  588. extern void mmi_uc_entry_preferred_type(void);
  589. extern void mmi_uc_save_preferred_type(void);
  590. extern void mmi_uc_init_setting(void);
  591. extern void mmi_uc_process_exit(void);
  592. extern void mmi_uc_process_back_to_edit(void);
  593. extern void mmi_uc_process_send(void);
  594. extern void mmi_uc_send_sms_req(void);
  595. extern void mmi_uc_send_sms_rsp(void *number, module_type mod, U16 result);
  596. extern void mmi_uc_action_fsm(mmi_uc_action_type_enum action, U32 result);
  597. extern void mmi_uc_create_mms(void);
  598. extern void mmi_uc_send_mms(void);
  599. extern void mmi_uc_save_mms(void);
  600. extern void mmi_uc_send_mms_req(BOOL send_and_save, U16 msg_box_to_save);
  601. extern void mmi_uc_send_mms_rsp(void *inMsg);
  602. extern void mmi_uc_clear_msg_bearer(mmi_uc_msg_type_enum msg_type);
  603. extern void mmi_uc_delete_sms_frm_screen(void);
  604. extern mmi_uc_addr_struct* mmi_uc_get_addr(mmi_uc_address_group_type_enum addr_type, U16 index);
  605. extern void mmi_uc_save_sms_after_send(U8 status, void *number);
  606. extern void mmi_uc_save_sms_rsp(void *status, module_type mod, U16 result);
  607. extern void mmi_uc_process_send_and_save(void);
  608. extern void mmi_uc_process_save(void);
  609. extern void mmi_uc_save_sms_req(void);
  610. extern S32 mmi_uc_create_mms_xml_description_file(void);
  611. extern S32 mmi_uc_create_xml_element_start(FS_HANDLE fh, U8* element_name, U8** attr_list);
  612. extern S32 mmi_uc_create_xml_element_end(FS_HANDLE fh, U8* element_name);
  613. extern S32 mmi_uc_create_xml_element_single(FS_HANDLE fh, U8* element_name, U8** attr_list);
  614. extern S32 mmi_uc_create_xml_data(FS_HANDLE fh, U8* data);
  615. extern S32 mmi_uc_create_xml_new_line(FS_HANDLE fh);
  616. extern S32 mmi_uc_create_xml_addr(FS_HANDLE fh, mmi_uc_address_group_type_enum type);
  617. extern S32 mmi_uc_create_xml_data_usc2_to_utf8(FS_HANDLE fh, U8* data);
  618. extern S32 mmi_uc_create_xml_data_numeric_to_char(FS_HANDLE fh, U32 value);
  619. extern S32 mmi_uc_create_xml_slide_object(FS_HANDLE fh, mmi_uc_slide_struct* slide, mmi_uc_object_type obj_type);
  620. extern S32 mmi_uc_create_xml_object(FS_HANDLE fh, mmi_uc_object_struct* obj);
  621. extern S32 mmi_uc_parse_mms_xml_description_file(U16* file_path);
  622. extern void mmi_uc_update_object_id(void);
  623. extern void mmi_uc_entry_sending_sms(void);
  624. extern void mmi_uc_abort_send_sms_by_end_key(void);
  625. extern void mmi_uc_abort_send_sms(void);
  626. extern void mmi_uc_entry_sending_mms(void);
  627. extern void mmi_uc_update_sending_mms_percent(U16 percent);
  628. extern void mmi_uc_abort_send_mms_by_end_key(void);
  629. extern void mmi_uc_abort_send_mms(void);
  630. extern void mmi_uc_delete_mms_req(U16 msg_id);
  631. extern void mmi_uc_delete_mms_rsp(void *in_msg);
  632. extern void mmi_uc_save_mms_req(U16 msg_id, U16 msg_box);
  633. extern void mmi_uc_save_mms_rsp(void *in_msg);
  634. extern void mmi_uc_abort_send_mms_req(U16 msg_id);
  635. extern void mmi_uc_abort_send_mms_rsp(void *in_msg);
  636. extern void mmi_uc_send_sms(void);
  637. extern void mmi_uc_save_sms(void);
  638. extern void mmi_uc_send_and_save_mms(void);
  639. extern void mmi_uc_delete_sms_callback(void *dummy, module_type mod, U16 result);
  640. extern void mmi_uc_start_req(void *inMsg);
  641. extern void mmi_uc_start_rsp(U16 result, U32 msg_id, U16 app_mode);
  642. extern U16 mmi_uc_convert_mms_app_mode_to_uc_state(U16 app_mode);
  643. extern U16 mmi_uc_convert_uc_state_to_mms_app_mode(U16 uc_state);
  644. extern void mmi_uc_get_mms_content_req(void);
  645. extern void mmi_uc_get_mms_content_rsp(void* in_msg);
  646. extern void mmi_uc_xml_start_element_hdlr(void *data, const char *el, const char **attr);
  647. extern void mmi_uc_xml_end_element_hdlr(void *data, const char *el);
  648. extern void mmi_uc_xml_data_hdlr(void *data, const char *el, const char *value, int len);
  649. extern void mmi_uc_xml_data_address_hdlr(U8* utf8_addr,
  650.                                          S32 addr_len,
  651.                                          mmi_uc_address_type_enum addr_type, 
  652.                                          mmi_uc_address_group_type_enum addr_group_type);
  653. extern U32 mmi_uc_convert_ascii_hex_to_dec(U8* character);
  654. extern mmi_uc_slide_struct* mmi_uc_insert_slide_by_number(U8 slide_number);
  655. extern mmi_uc_object_struct* mmi_uc_insert_object_to_list_tail(void);
  656. extern S32 mmi_uc_match_object_id(void);
  657. extern mmi_uc_object_struct* mmi_uc_get_object_by_id(U32 object_id);
  658. extern BOOL mmi_uc_check_only_attachment (void);
  659. extern U16* mmi_uc_get_file_extension(U16* filePath);
  660. extern S32 mmi_uc_resize_image(U8 *file, U8 *dest_file, U32 resize_w, U32 resize_h);
  661. extern U32 mmi_uc_calc_file_size_in_utf8(U8* file_path);
  662. extern void mmi_uc_entry_preview(void);
  663. extern U8 mmi_uc_editor_delete_history_hdlr(void *in_param);
  664. extern void mmi_uc_preview_mms(void);
  665. extern void mmi_uc_preview_mms_req(void);
  666. extern void mmi_uc_preview_mms_rsp(void *in_msg);
  667. extern U8 mmi_uc_preview_delete_history_hdlr(void *in_param);
  668. extern void mmi_uc_pre_entry_option(void);
  669. extern void mmi_uc_entry_write_msg(void);
  670. extern BOOL mmi_uc_is_pending_content(void);
  671. extern U8 mmi_uc_write_msg_delete_history_hdlr(void *in_param);
  672. extern U8 mmi_uc_get_sms_segment_number(void);
  673. extern void mmi_uc_set_processing_screen(U16 captionStrId, U16 bodyStrId, U16 animationImageId, U16 rskStrId);
  674. extern void mmi_uc_entry_processing_generic(void);
  675. extern U32 mmi_uc_convert_to_editor_msg_type(mmi_uc_msg_type_enum msg_type);
  676. extern void mmi_uc_exit_generic(void);
  677. extern void mmi_uc_reset_layout_if_needed(void);
  678. extern S32 mmi_uc_create_xml_slide(FS_HANDLE fh, mmi_uc_slide_struct* slide);
  679. extern void mmi_uc_send_mms_ind_hdlr(void *inMsg);
  680. extern void mmi_uc_send_message(
  681.         module_type MOD_SRC,
  682.         module_type MOD_DEST,
  683.         U8 MSG_SAP,
  684.         const U16 MSG_ID,
  685.         void *LOCAL,
  686.         void *PEER);
  687. extern mmi_uc_object_type mmi_uc_convert_mms_insert_type_to_uc(U32 object_type);
  688. extern BOOL mmi_uc_reset_history_guibuffer(U16 screen_id);
  689. extern S32 mmi_uc_handle_text_in_current_slide(void);
  690. extern void mmi_uc_highlight_opt_msg_type(void);
  691. extern BOOL mmi_uc_is_email_addr_valid(U8* email_addr);
  692. extern void mmi_uc_pre_entry_edit_addr(void);
  693. extern void mmi_uc_handle_msg_type_check(void);
  694. extern void mmi_uc_disply_msg_type_change(void);
  695. extern void mmi_uc_entry_add_addr_group(void);
  696. extern void mmi_uc_entry_exit_option(void);
  697. extern void mmi_uc_highlight_exit_opt_save(void);
  698. extern void mmi_uc_highlight_exit_opt_exit(void);
  699. extern void mmi_uc_highlight_slide_opt_goto(void);
  700. extern void mmi_uc_entry_goto_slide_done(void);
  701. extern void mmi_uc_reset_mms_signature(void);
  702. extern void mmi_uc_insert_signature_check(void);
  703. extern void mmi_uc_replace_duplicate_object_file_name(void);
  704. extern BOOL mmi_uc_compare_string_ignore_case(U16* addr_1, U16* addr_2);
  705. extern U8 mmi_uc_done_delete_history_hdlr(void *in_param);
  706. extern void mmi_uc_delete_existed_mms(void);
  707. extern void mmi_uc_update_text_object_path( mmi_uc_slide_struct* update_slide);
  708. extern mmi_uc_slide_struct* mmi_uc_get_end_slide(void);
  709. extern BOOL mmi_uc_delete_between_screens(U16 start_screen_id, U16 end_screen_id);
  710. extern void mmi_uc_exit_write_msg(void);
  711. extern void mmi_uc_display_mma_result_popup(mma_result_enum result);
  712. extern void mmi_uc_display_mma_send_result_popup(mma_result_enum result);
  713. extern void mmi_uc_display_resize_result_popup(U16 result);
  714. extern pBOOL ComparePhoneNum(PU8 src, PU8 dst);
  715. extern kal_uint32 wap_mma_uc_calc_msg_size(const mmi_uc_msg_struct *mms);
  716. extern kal_uint32 wap_mma_uc_calc_header_size(const mmi_uc_msg_struct *mms);
  717. #endif /* _MMI_UNIFIED_COMPOSER_PROT_H */