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

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.  * UnifiedMessageProt.h
  45.  *
  46.  * Project:
  47.  * --------
  48.  * MAUI
  49.  *
  50.  * Description:
  51.  * ------------
  52.  * This file defines local enum, constant and prototypes for Unified Message
  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.  * removed!
  88.  *
  89.  *------------------------------------------------------------------------------
  90.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  91.  *==============================================================================
  92.  *******************************************************************************/
  93. #ifndef _MMI_UNIFIED_MESSAGE_PROT_H
  94. #define _MMI_UNIFIED_MESSAGE_PROT_H
  95. #include "MemPoolContainerProt.h"
  96. #include "customer_ps_inc.h"
  97. #include "custom_wap_config.h"
  98. #include "wgui_asyncdynamic_menuitems.h"
  99. #define MMI_UM_MAX_SUPPORT_MSG_TYPE    (8)
  100. #define MMI_UM_INPROGRESS_TIME_OUT        (1000*50)
  101. #define MMI_UM_MAX_GET_STRING_LEN   (16)
  102. #define MMI_UM_MAX_MSG_NUM ((CM_SMS_MAX_MSG_NUM)  + (WAP_CUSTOM_CFG_MAX_NBR_MMS_MSG-1) + (WAP_CUSTOM_CFG_PUSH_MAX_NO_OF_MSG) )
  103. #define MMI_UM_MAX_MSG_PER_PAGE          (5)    /* Max number of messages */
  104. #define MMI_UM_TOTAL_POOL           ((MAX_ASYNCDYNAMIC_ITEMS_BUFF + MMI_UM_MAX_MSG_PER_PAGE -1)/MMI_UM_MAX_MSG_PER_PAGE)
  105. #define MMI_UM_MAX_MSG_DETAIL_NUM   ((MMI_UM_TOTAL_POOL+1)*MMI_UM_MAX_MSG_PER_PAGE)
  106. #define MMI_UM_MAX_LEN_TIME_STR  (15 + 1 + 10 + 1) /* Date string + 1 space + Time string + NULL terminator*/
  107. typedef enum
  108. {
  109.     UM_ACTION_GET_MSG_NUM,
  110.     UM_ACTION_GET_LIST_INFO,
  111.     UM_ACTION_GET_MSG_INFO,
  112.     UM_ACTION_DELETE_FOLDER,
  113.     UM_ACTION_TOTAL_NUMBER
  114. } um_action_type_enum;
  115. typedef struct
  116. {
  117.     S32 main_index;
  118.     UmMsgType support_type;     /* bitwise OR by UmMsgType */
  119.     UmMsgType ready_type;       /* bitwise OR by UmMsgType */
  120.     UmMsgType pending_req_type; /* bitwise OR by UmMsgType */
  121.     um_state_type_enum state;
  122.     um_action_type_enum current_action;
  123.     kal_bool is_skip_write_menu;
  124.     kal_bool is_new_msg;
  125.     kal_bool is_ready_for_new_msg;
  126.     kal_bool is_reset_folder_info;
  127.     kal_bool is_refresh;
  128. } mmi_um_main_info_struct;
  129. typedef struct
  130. {
  131.     S16 caption_str_id;
  132.     S16 body_str_id;
  133.     U16 animation_image_id;
  134.     U16 RSK_str_id;
  135. } mmi_um_processing_info_struct;
  136. typedef struct
  137. {
  138.     U16 inbox_msg_number;
  139.     U16 inbox_unread_msg_number;
  140.     U16 unsent_msg_number;
  141.     U16 sent_msg_number;
  142.     U16 draft_msg_number;
  143. } mmi_um_msg_number_info_struct;
  144. typedef struct
  145. {
  146.     U8 folder_type; /* Used by highlight index */
  147.     U8 folders_to_delete;
  148.     U8 result;
  149. } mmi_um_delete_folder_info_struct;
  150. typedef struct
  151. {
  152.     mem_pool_container_struct mem_container;
  153.     S32 start_index;
  154.     S32 end_index;
  155.     S16 not_avail_pool; /* current pool index which data is not available */
  156. } mmi_um_mem_pool_info_struct;
  157. typedef struct
  158. {
  159.     mmi_um_list_info_struct list_info;
  160.     UmMsgType msg_type;
  161. } mmi_um_msg_box_info_struct;
  162. typedef struct
  163. {
  164.     UmMsgType msg_type;
  165.     mmi_um_msg_info_struct msg_detail;
  166. } mmi_um_msg_detail_struct;
  167. typedef struct
  168. {
  169.     UmMsgType msg_type;
  170.     U16 msg_index;  /* the index, msg type, and msg box type could be able to uniquely identify a message */
  171. } mmi_um_highlight_msg_struct;
  172. typedef struct
  173. {
  174.     mmi_um_msg_box_info_struct msg_list[MMI_UM_MAX_MSG_NUM];
  175.     mmi_um_msg_detail_struct msg_detail_list[MMI_UM_MAX_MSG_DETAIL_NUM];
  176.     UI_character_type msg_time[MMI_UM_MAX_LEN_TIME_STR];    /* buffer for time string */
  177.     U16 current_msg_index;
  178.     UmMsgBoxType current_msg_box;
  179.     U16 msg_number_in_list;
  180.     BOOL is_list_displayed; /* is list is already displayed */
  181.     BOOL is_highlight_change_needed;
  182.     mmi_um_highlight_msg_struct msg_to_highlight;
  183. } mmi_um_folder_info_struct;
  184. typedef struct
  185. {
  186.     U16 start_index_sms;
  187.     U16 start_index_mms;
  188.     U16 start_index_wap_push;
  189.     U16 msg_num_to_get_sms;
  190.     U16 msg_num_to_get_mms;
  191.     U16 msg_num_to_get_wap_push;
  192.     U8 num_in_temp_buffer;
  193.     mmi_um_msg_detail_struct temp_buffer[MMI_UM_MAX_MSG_PER_PAGE];
  194. } mmi_um_get_msg_detail_struct;
  195. typedef struct
  196. {
  197.     mmi_um_main_info_struct main;
  198.     mmi_um_processing_info_struct processing;
  199.     mmi_um_msg_number_info_struct msg_number;
  200.     mmi_um_delete_folder_info_struct delete_folder;
  201.     mmi_um_mem_pool_info_struct mem_pool_info;  /* Memory pool */
  202.     mmi_um_folder_info_struct folder;
  203.     mmi_um_get_msg_detail_struct get_msg_detail;
  204. } mmi_um_context_struct;
  205. extern mmi_um_context_struct g_um_cntx; /* global context of um */
  206. extern mmi_um_context_struct *g_um_p;
  207. extern void mmi_um_init_context(void);
  208. extern void mmi_um_pre_entry_main(void);
  209. extern void mmi_um_set_protocol_event_handler(void);
  210. extern void mmi_um_handle_ready_ind(void *inMsg);
  211. extern void mmi_um_handle_new_msg_ind(void *inMsg);
  212. extern void mmi_um_handle_delete_all_ind(void *inMsg);
  213. extern void mmi_um_handle_highlight_msg_ind(void *inMsg);
  214. extern void mmi_um_handle_refresh_ind(void *inMsg);
  215. extern void mmi_um_change_highlight(void);
  216. extern void mmi_um_get_msg_num_rsp(void *inMsg);
  217. extern kal_bool mmi_um_check_support_type(UmMsgType type);
  218. extern void mmi_um_set_processing_screen(U16 captionStrId, U16 bodyStrId, U16 animationImageId, U16 rskStrId);
  219. extern void mmi_um_exit_processing_generic(void);
  220. extern void mmi_um_time_out_processing_generic(void);
  221. extern void mmi_um_entry_processing_generic(void);
  222. extern void mmi_um_handle_screen_for_ready_ind(void);
  223. extern void mmi_um_get_msg_num_req(void);
  224. extern void mmi_um_set_state(U8 state);
  225. extern void mmi_um_entry_main(void);
  226. extern void mmi_um_exit_generic(void);
  227. extern void mmi_um_exit_folder(void);
  228. extern void mmi_um_set_main_menu_highlight_handler(void);
  229. extern void mmi_um_highlight_write_msg(void);
  230. extern void mmi_um_highlight_inbox(void);
  231. extern void mmi_um_highlight_unsent(void);
  232. extern void mmi_um_highlight_sent(void);
  233. extern void mmi_um_highlight_draft(void);
  234. extern void mmi_um_highlight_delete_folder(void);
  235. extern void mmi_um_highlight_template(void);
  236. extern void mmi_um_highlight_setting(void);
  237. extern void mmi_um_hint_inbox(U16 index);
  238. extern void mmi_um_hint_unsent(U16 index);
  239. extern void mmi_um_hint_sent(U16 index);
  240. extern void mmi_um_hint_draft(U16 index);
  241. extern void mmi_um_entry_write_msg(void);
  242. extern void mmi_um_pre_entry_inbox(void);
  243. extern void mmi_um_pre_entry_unsent(void);
  244. extern void mmi_um_pre_entry_sent(void);
  245. extern void mmi_um_pre_entry_draft(void);
  246. extern void mmi_um_pre_entry_delete_folder(void);
  247. extern void mmi_um_entry_delete_folder(void);
  248. extern void mmi_um_entry_template(void);
  249. extern void mmi_um_entry_setting(void);
  250. extern void mmi_um_highlight_write_msg_sms(void);
  251. extern void mmi_um_highlight_write_msg_mms(void);
  252. extern void mmi_um_highlight_setting_sms(void);
  253. extern void mmi_um_highlight_setting_mms(void);
  254. extern void mmi_um_highlight_template_sms(void);
  255. extern void mmi_um_highlight_template_mms(void);
  256. extern void mmi_um_set_delete_folder_highlight_handler(void);
  257. extern void mmi_um_pre_delete_folder(void);
  258. extern void mmi_um_delete_folder_highlight_handler(S32 index);
  259. extern void mmi_um_main_highlight_handler(S32 index);
  260. extern void mmi_um_delete_folder_req(void);
  261. extern void mmi_um_delete_folder_rsp(void *inMsg);
  262. extern void mmi_um_process_delete_folder(void);
  263. extern void mmi_um_get_list_info_req(void);
  264. extern void mmi_um_insert_list_info(UmMsgType msg_type, kal_uint16 msg_number, mmi_um_list_info_struct *list_info);
  265. extern void mmi_um_entry_folder(void);
  266. extern void mmi_um_reset_folder_info(void);
  267. extern void mmi_um_free_container_pool(void);
  268. extern void mmi_um_hilite_folder_item(S32 index);
  269. extern S32 mmi_um_get_async_items(S32 start_indx, gui_iconlist_menu_item *menuData, S32 num_item);
  270. extern void mmi_um_entry_get_msg_info(void);
  271. extern void mmi_um_get_msg_info_req(void);
  272. extern void mmi_um_get_msg_info_rsp(void *inMsg);
  273. extern void mmi_um_insert_msg_info(
  274.                 UmMsgType UM_MSG_TYPE_SMS,
  275.                 kal_uint16 msg_number,
  276.                 mmi_um_msg_info_struct *temp_list);
  277. extern BOOL mmi_um_is_list_ready(void);
  278. extern void mmi_um_enter_curr_folder(void);
  279. extern void mmi_um_handle_get_msg_num_rsp(void);
  280. extern void mmi_um_handle_get_list_info_rsp(void);
  281. extern void mmi_um_handle_get_msg_info_rsp(void);
  282. extern void mmi_um_entry_msg(void);
  283. extern void mmi_um_exit_new_msg_ind(void);
  284. extern void mmi_um_handle_delete_folder_rsp(UmMsgType type, kal_bool result);
  285. extern void mmi_um_get_list_info_rsp(void *inMsg);
  286. extern void mmi_um_send_message(
  287.                 module_type MOD_SRC,
  288.                 module_type MOD_DEST,
  289.                 U8 MSG_SAP,
  290.                 const U16 MSG_ID,
  291.                 void *LOCAL,
  292.                 void *PEER);
  293. extern void mmi_um_entry_new_msg_ind(kal_bool ready);
  294. extern U8 mmi_frm_sms_get_sms_bitmap(U8 type, U16 index, U8 *l4_index);
  295. extern void mmi_um_go_back_from_new_msg_ind(void);
  296. extern kal_bool mmi_um_reset_folder_history_guibuffer(U16 screen_id);
  297. #endif /* _MMI_UNIFIED_MESSAGE_PROT_H */