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

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.  * Filename:
  37.  * ---------
  38.  * PhoneBookHandlerJava.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *   This file is intends for providing phonebook interface for java package
  47.  *
  48.  * Author:
  49.  * -------
  50.  * -------
  51.  *
  52.  *==============================================================================
  53.  *             HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  * removed!
  67.  * removed!
  68.  * removed!
  69.  *
  70.  * removed!
  71.  * removed!
  72.  * removed!
  73.  *
  74.  * removed!
  75.  * removed!
  76.  * removed!
  77.  *
  78.  * removed!
  79.  * removed!
  80.  * removed!
  81.  *
  82.  *------------------------------------------------------------------------------
  83.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  84.  *==============================================================================
  85.  *******************************************************************************/
  86. #ifndef _MMI_PHONEBOOKJAVAHANDLER_H
  87. #define _MMI_PHONEBOOKJAVAHANDLER_H
  88. #include "App_datetime.h"
  89. /* if some header should be include before this one */
  90. //#ifndef _PREINC_H
  91. //#error "preinc.h should be included before header.h"
  92. //#endif
  93. /* 
  94.  * Define
  95.  */
  96. #define MMI_PHB_JAVA_SEARCH_LENGTH ((MAX_PB_EMAIL_LENGTH+1)*ENCODING_LENGTH)
  97. /* 
  98.  * Typedef 
  99.  */
  100. typedef enum
  101. {
  102.     MMI_PHB_NO_SORT,
  103.     MMI_PHB_BY_NAME,
  104.     MMI_PHB_BY_EMAIL,
  105.     MMI_PHB_BY_NUMBER
  106. } mmi_phb_sort_type_enum;
  107. typedef enum
  108. {
  109.     MMI_PHB_JAVA_ERROR,
  110.     MMI_PHB_JAVA_SUCCESS,
  111.     MMI_PHB_JAVA_NOT_READY,
  112.     MMI_PHB_JAVA_NOT_SUPPORT,
  113.     MMI_PHB_JAVA_NOT_FOUND,
  114.     MMI_PHB_JAVA_STORAGE_FULL,
  115.     MMI_PHB_JAVA_NUMBER_TOO_LONG,
  116.     MMI_PHB_JAVA_FDN_ON,
  117.     MMI_PHB_JAVA_OUT_OF_INDEX,
  118.     MMI_PHB_JAVA_EMAIL_FULL,
  119.     MMI_PHB_JAVA_ANR_FULL,
  120.     MMI_PHB_JAVA_BIRTHDAY_ERROR,
  121.     MMI_PHB_JAVA_NO_SIM_CARD
  122. } mmi_phb_java_error_enum;
  123. typedef struct
  124. {
  125.     U16  sort_index; /* sort index or the no. of group member */
  126.     U16  store_index;
  127.     S8 name[(MAX_PB_NAME_LENGTH + 1) *ENCODING_LENGTH];
  128.     S8 number[(MAX_PB_NUMBER_LENGTH + 1 + 1) *ENCODING_LENGTH];
  129.     S8 homeNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) *ENCODING_LENGTH];
  130.     S8 officeNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) *ENCODING_LENGTH];
  131.     S8 faxNumber[(MAX_PB_NUMBER_LENGTH + 1 + 1) *ENCODING_LENGTH];
  132.     S8 emailAddress[(MAX_PB_EMAIL_LENGTH + 1) *ENCODING_LENGTH];
  133.     S8 companyName[(MAX_PB_COMPANY_LENGTH + 1) *ENCODING_LENGTH];
  134.     applib_time_struct bDay;
  135.     U8 group_id;  /* 1-based. 0 is no group. 1~MAX_PB_CALLER_GROUPS in NVRAM; MAX_PB_CALLER_GROUPS~ in USIM. */
  136. } mmi_phb_handler_entry_struct;
  137. typedef struct 
  138. {
  139.     U8 group_name[(MAX_PB_NAME_LENGTH+1)*ENCODING_LENGTH];
  140.     U8 group_id;
  141.     U8 padding; /* reserved 2 bytes alignment*/
  142. } mmi_phb_handler_group_struct;
  143. /*
  144.     Add:
  145.        sort_type : sort by which type, the result will return in response msg
  146.        index:      0xFFFF
  147.        return ---  index : sort by sort_type, store_index: phsical index
  148.     update:
  149.        sort_type : sort type
  150.        index:      store_index
  151.        return ---  index/store_index: no use
  152.     delete:
  153.        sort_type  : sort type
  154.        index:      store_index
  155.        return ---  index/store_index: no use
  156. */
  157. typedef struct
  158. {
  159.     LOCAL_PARA_HDR
  160. //    U8 sort_type;
  161.     U8 storage;
  162.     U16 index; /* physical store_index (0~MAX_PB_ENTRIES-1) for update and delete command */
  163.     mmi_phb_handler_entry_struct *entry_ptr; /* NULL for delete command */
  164. } mmi_phb_handler_set_entry_req_struct;
  165. typedef struct
  166. {
  167.     LOCAL_PARA_HDR 
  168.     U8 result;
  169. //    U16 index;  /* sort index, not physical store index */
  170.     U16 store_index; /* physical store index */
  171. } mmi_phb_handler_set_entry_rsp_struct;
  172. typedef struct
  173. {
  174.     LOCAL_PARA_HDR 
  175.     U8 sort_type;
  176.     U8 storage;
  177.     U8 group;
  178.     U16 index; /* sort index */
  179.     U16 count; /* if count is 0, return the total count */
  180.     mmi_phb_handler_entry_struct *entry_ptr;
  181. } mmi_phb_handler_get_entry_req_struct;
  182. typedef struct
  183. {
  184.     LOCAL_PARA_HDR
  185.     U8 result;
  186.     U16 count;
  187. } mmi_phb_handler_get_entry_rsp_struct;
  188. typedef struct
  189. {
  190.     LOCAL_PARA_HDR
  191.     S8 pattern[MMI_PHB_JAVA_SEARCH_LENGTH];
  192.     U8 sort_type;
  193.     U8 storage;
  194.     U8 search_type;
  195.     U8 group;
  196.     U16 start_index;  /* 0-based, 0 means the first sorted item, 1 means 2nd sorted item */
  197.     mmi_phb_handler_entry_struct *entry_ptr;
  198. } mmi_phb_handler_search_entry_req_struct;
  199. typedef struct
  200. {
  201.     LOCAL_PARA_HDR
  202.     U8 result;
  203.     U16 index; /* sort index if succeess */
  204. } mmi_phb_handler_search_entry_rsp_struct;
  205. typedef struct
  206. {
  207.     LOCAL_PARA_HDR
  208.     U8 max_group;
  209.     U8 storage;
  210.     mmi_phb_handler_group_struct* group_ptr;
  211. } mmi_phb_handler_get_group_info_req_struct;
  212. typedef struct
  213. {
  214.     LOCAL_PARA_HDR
  215.     U8 result;
  216.     U8 count;
  217. } mmi_phb_handler_get_group_info_rsp_struct;
  218. typedef struct
  219. {
  220.     LOCAL_PARA_HDR
  221.     U8 group_id; /* 0-based */
  222.     mmi_phb_handler_group_struct* group_ptr;
  223. } mmi_phb_handler_set_group_info_req_struct;
  224. typedef struct
  225. {
  226.     LOCAL_PARA_HDR
  227.     U8 result;
  228. } mmi_phb_handler_set_group_info_rsp_struct;
  229. /* 
  230.  * Extern Global Variable
  231.  */
  232. /* 
  233.  * Extern Global Function
  234.  */
  235. extern void mmi_phb_java_handler_init(void);
  236. extern void mmi_phb_java_write_req(void *info);
  237. extern void mmi_phb_java_write_rsp(U16 result, U16 store_index);
  238. extern void mmi_phb_java_read_req(void *info);
  239. extern void mmi_phb_java_read_rsp(U16 result, U16 count);
  240. extern void mmi_phb_java_search_req(void *info);
  241. extern void mmi_phb_java_search_rsp(U16 result, U16 store_index);
  242. extern void mmi_phb_java_get_group_info_req(void *info);
  243. extern void mmi_phb_java_get_group_info_rsp(U16 result, U16 count);
  244. extern void mmi_phb_java_set_group_info_req(void *info);
  245. extern void mmi_phb_java_set_group_info_rsp(U16 result);
  246. extern void mmi_phb_java_util_get_record_index_by_id(
  247.                 U8 sort_type,
  248.                 U8 storage,
  249.                 U16 index,
  250.                 U16 *record_index,
  251.                 U8 *record_storage);
  252. extern U16 mmi_phb_java_util_get_index_by_store_index(U8 sort_type, U8 storage, U16 in_store_index);
  253. extern U16 mmi_phb_java_util_get_store_index_by_sort_index(U8 sort_type, U8 storage, U16 in_sort_index);
  254. extern void mmi_phb_java_util_copy_entry_from_phb(U16 store_index, mmi_phb_handler_entry_struct *entry);
  255. extern void mmi_phb_java_util_rebuild_email_sorting(void);
  256. extern void mmi_phb_java_entry_processing_email(void);
  257. extern void mmi_phb_java_exit_processing_email(void);
  258. #ifdef __MMI_PHB_BIRTHDAY_FIELD__
  259. extern void mmi_phb_java_set_bday(applib_time_struct* b_day, S8* pb_Year, S8* pb_Mon, S8* pb_Day);
  260. extern void mmi_phb_java_get_bday(U16 store_index, applib_time_struct *b_day);
  261. extern MMI_BOOL mmi_phb_java_check_bday_is_valid(applib_time_struct *t);
  262. #else /* defined(__MMI_PHB_BIRTHDAY_FIELD__) */
  263. extern void mmi_phb_java_util_clear_bday(applib_time_struct* b_day);
  264. #endif /* defined(__MMI_PHB_BIRTHDAY_FIELD__) */
  265. #endif /* _MMI_PHONEBOOKJAVAHANDLER_H */