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

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  * MessagesMiscell.H
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for MMI SMS APP.
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * removed!
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * removed!
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * removed!
  66.  *
  67.  * removed!
  68.  * removed!
  69.  * removed!
  70.  *
  71.  * removed!
  72.  * removed!
  73.  * removed!
  74.  *
  75.  * removed!
  76.  * removed!
  77.  * removed!
  78.  *
  79.  * removed!
  80.  * removed!
  81.  * removed!
  82.  *
  83.  *------------------------------------------------------------------------------
  84.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  85.  *============================================================================
  86.  ****************************************************************************/
  87. /**
  88.  * Copyright Notice
  89.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  90.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  91.  *  (It is illegal to remove this copyright notice from this software or any
  92.  *  portion of it)
  93.  */
  94. /**************************************************************
  95.    FILENAME : MessagesMiscell.h
  96.    PURPOSE     : ---
  97.    REMARKS     : ---
  98.    AUTHOR      : Hiran and Magesh k
  99.    DATE     : ---
  100. **************************************************************/
  101. #ifndef _PIXCOM_MESSAGES_MISCELL_H
  102. #define _PIXCOM_MESSAGES_MISCELL_H
  103. //
  104. //
  105. #include  "PixtelDataTypes.h"
  106. #include "MessagesL4Def.h"
  107. #ifdef __MMI_UNIFIED_MESSAGE__
  108. #include "UnifiedMessageGProt.h"
  109. #endif 
  110. #define     USE_NUM_MIN_LENGTH            3
  111. #define        IS_NUM(c)  (((c)>='0') && ((c)<='9'))
  112. #define MAX_DIGITS               41     /* Maximum number of digits in phone number */
  113. #define MAX_DIGITS_SMS           21     /* Maximum number of digits in sms source/destination */
  114. #define MAX_TIMESTAMP_SIZE    12
  115. #define MAX_PROFILE_EDIT_ITEMS   4
  116. #define MAX_PROFILE_NAME_LEN     30     /* check with ps */
  117. #define MAX_STATUS_REPORT_NUM 10
  118. /* check with l4 value.. */
  119. #define  MESSAGES_POPUP_TIME_OUT             UI_POPUP_NOTIFYDURATION_TIME_2000
  120. #define  MESSAGES_SUBLCD_TIME_OUT            1000*10
  121. #define  MESSAGES_LMS_TIME_OUT            1000*10
  122. #define  MESSAGES_INPROGRESS_TIME_OUT        1000*50
  123. #define MAX_LFOUR_PROFILES                4
  124. #define MAX_LFOUR_VP                   7
  125. #define MAX_LFOUR_MSG_TYPE             4
  126. #define MAX_MAILBOX_PS_SUPPORT            2
  127. typedef void (*FuncPtr) (void);
  128. #define EMS_ESCAPE_CHARACTER  (27)
  129. #define EMS_SPACE_CHARACTER      (32)
  130. #define EMS_CR_CHARACTER      (13)
  131. #define EMS_EURO_CHARACTER_UCS2     (0x20AC)
  132. #define EMS_EURO_CHARACTER       (0xA2)
  133. typedef enum
  134. {
  135.     SMS_OK,
  136.     SMS_ERROR
  137. } msg_result_enum;
  138. typedef enum
  139. {
  140.     POST_PARAMS_FO,
  141.     POST_PARAMS_PROFILE_NAME,
  142.     POST_PARAMS_ALL_LANGUAGES,
  143.     POST_PARAMS_ALL_LANGUAGES_DEFAULT_FACTORY,
  144.     POST_PARAMS_REST    /* PID, DCS, VP */
  145. } msg_post_params_enum;
  146. typedef struct
  147. {
  148.     //PMT START SWEDISH 20050916
  149.     // For some langauges the translation is more than 12 charcaters so we need to make it 14
  150.     U8 totalInboxStr[20 *ENCODING_LENGTH];
  151.     U8 totalOutboxStr[20 *ENCODING_LENGTH];
  152. #ifdef __MMI_MESSAGES_DRAFT_BOX__
  153.     U8 totalDraftboxStr[20 *ENCODING_LENGTH];
  154.     /* PMT END SWEDISH 20050916 */
  155. #endif /* __MMI_MESSAGES_DRAFT_BOX__ */ 
  156. } msg_in_out_struct;
  157. /*  */
  158. typedef struct
  159. {
  160.     S32 vpIndex;
  161.     S32 msgTypeIndex;
  162.     U8 profileName[(MAX_PROFILE_NAME_LEN *ENCODING_LENGTH) + ENCODING_LENGTH];
  163.     U8 profileNameDcs;
  164.     U8 profileIndex;
  165.     U8 scAddress[(MAX_CC_ADDR_LEN *ENCODING_LENGTH) + ENCODING_LENGTH];
  166. } msg_profile_edit_struct;
  167. typedef struct
  168. {
  169.     U8 mailboxName[(MAX_PROFILE_NAME_LEN *ENCODING_LENGTH) + ENCODING_LENGTH];
  170.     U8 mailboxNameDcs;
  171.     U8 malboxNameLength;
  172.     U8 mailboxIndex;
  173.     U8 mailboxAddress[(MAX_CC_ADDR_LEN *ENCODING_LENGTH) + ENCODING_LENGTH];
  174. } msg_mailbox_edit_struct;
  175. //
  176. //
  177. #if defined(__MMI_MESSAGES_PREFER_STORAGE_MEMORY_STATUS__)
  178. typedef struct
  179. {
  180.     U16 simUsed;
  181.     U16 simTotal;
  182.     U16 meUsed;
  183.     U16 meTotal;
  184.     U8 prefStorage;
  185. } msg_mem_status_struct;
  186. typedef enum
  187. {
  188.     DISP_NONE,
  189.     DISP_MEM_STATUS,
  190.     DISP_PREF_STORAGE,
  191.     UPDATE_MEM_STATUS,
  192.     UPDATE_PREF_STORAGE
  193. } msg_mem_status_enum;
  194. #endif /* defined(__MMI_MESSAGES_PREFER_STORAGE_MEMORY_STATUS__) */ 
  195. /*  */
  196. typedef struct
  197. {
  198.     U8 currReqProfileNo;
  199.     U8 currMaxPsProfiles;
  200.     U8 profileNameLength;
  201.     U8 profileName[MAX_LFOUR_PROFILES][(MAX_PROFILE_NAME_LEN *ENCODING_LENGTH) + ENCODING_LENGTH];
  202. } msg_profile_list_struct;
  203. typedef struct
  204. {
  205.     l4c_number_struct scAddr;
  206.     U8 profile; /* SMS_DEST_NO_ENUM */
  207.     U8 para;    /* MMI_PARA_ENUM */
  208.     U8 vp;      /* smsal_vp_enum */
  209.     U8 pid;     /* smsal_pid_enum */
  210.     U8 dcs;     /* smsal_dcs_enum */
  211. } msg_active_profile_struct;
  212. typedef struct
  213. {
  214.     unsigned short totalinbox;
  215.     unsigned short totaloutbox;
  216.     unsigned short totaldraftbox;
  217. } msg_msgbox_info_struct;
  218. #if defined(__MMI_MESSAGES_TEMPLATE__)
  219. #define     NUM_TEMPLATES              10
  220. #define     MAX_TEMPLATE_LENGTH        40
  221. typedef enum
  222. {
  223.     MSG_TEMPLATE_LANG_ENGLISH,
  224.     MSG_TEMPLATE_LANG_SIMCHINESE,
  225.     MSG_TEMPLATE_LANG_TRACHINESE
  226. } msg_template_lang_enum;
  227. extern U8 InitTemplates(void);
  228. extern void DeInitTemplates(void);
  229. extern void LoadTemplatesInDisplayList(void);
  230. extern void GetTemplatesToEdit(S8 *buffer, U32 index);
  231. extern U8 DeleteTemplate(U32 index);
  232. extern U8 StoreTemplate(U32 index);
  233. extern U16 CalTemplateBase(void);
  234. #endif /* defined(__MMI_MESSAGES_TEMPLATE__) */ 
  235. extern void GetCurrEndKeyDownHandler(void);
  236. extern void ExecCurrEndKeyDownHandler(void);
  237. /*  */
  238. extern void SetMessagesScrnIdToDelHistoryNodes(U16 ScrnId);
  239. extern void SetMessagesScrnIdDelUpToHistoryNodes(U16 StartScrnId);
  240. extern void DeleteMessagesHistoryNodes(void);
  241. /*  */
  242. extern void Messages2GoBackHistory(void);
  243. extern void Messages4GoBackHistory(void);
  244. /*  */
  245. extern U16 GetMessagesCurrScrnID(void);
  246. extern void SetMessagesCurrScrnID(U16 scrnID);
  247. /*  */
  248. extern U16 IsMMIInIdleState(void);
  249. extern U8 IsKeyPadLockState(void);
  250. extern void PlayMessageArrivalTone(void);
  251. extern void RestoreMessagesSettings(void);
  252. extern U8 IsMessagesReEntering(void);
  253. extern U16 ObtainNumbersFromMessageText(char *phNumber, U8 *smsText, U16 textLength, U8 startindex);
  254. extern S8 *GetPhoneNumber(S8 *number);
  255. #ifdef __MMI_MESSAGES_CHAT__
  256. extern pBOOL SmsChatCompareFunction(char *number, U8 len, U8 type, U16 index);
  257. #endif 
  258. /*  */
  259. extern void mmi_msg_highlight_class0_opt_use_number(void);
  260. #ifdef __MMI_UNIFIED_MESSAGE__
  261. extern void mmi_msg_um_entry_msg(UmMsgBoxType msg_box_type, kal_uint16 msg_index);
  262. extern void mmi_msg_um_entry_write(void);
  263. extern void mmi_msg_um_entry_template(void);
  264. extern void mmi_msg_um_entry_setting(void);
  265. extern void mmi_msg_set_background_process(kal_bool flag);
  266. extern kal_bool mmi_msg_check_background_process(void);
  267. extern U8 mmi_msg_get_post_send_action_type(void);
  268. extern void mmi_msg_set_post_send_action_type(U8 action);
  269. extern kal_bool mmi_msg_get_msg_num(
  270.                     kal_uint16 *inbox_msg_number,
  271.                     kal_uint16 *inbox_unread_msg_number,
  272.                     kal_uint16 *unsent_msg_number,
  273.                     kal_uint16 *sent_msg_number,
  274.                     kal_uint16 *draft_msg_number);
  275. extern kal_bool mmi_msg_get_list_info(
  276.                     UmMsgBoxType msg_box_type,
  277.                     kal_uint16 start_entry,
  278.                     kal_uint16 max_msg_number,
  279.                     kal_uint16 *msg_number,
  280.                     mmi_um_list_info_struct *list_info,
  281.                     kal_bool *more);
  282. extern kal_bool mmi_msg_get_msg_info(
  283.                     UmMsgBoxType msg_box_type,
  284.                     kal_uint16 start_entry,
  285.                     kal_uint16 req_msg_number,
  286.                     kal_uint16 *rsp_msg_number,
  287.                     mmi_um_msg_info_struct *msg_info);
  288. extern void mmi_msg_get_address(
  289.                 kal_uint8 msg_type,
  290.                 kal_uint16 msg_index,
  291.                 kal_wchar *address,
  292.                 kal_uint8 max_address_len);
  293. extern kal_uint16 mmi_msg_get_icon(kal_uint8 msg_type, kal_uint16 msg_index);
  294. extern void mmi_msg_handle_delete_folder_by_um(UmMsgBoxType msg_box_type);
  295. extern void mmi_msg_delete_folder_by_um_callback(void *dummy, module_type mod, U16 result);
  296. #endif /* __MMI_UNIFIED_MESSAGE__ */ 
  297. #endif /* _PIXCOM_MESSAGES_MISCELL_H */