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

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.  * MMIThemes.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  * MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  * This file is defines enum values, structures, and function prototypes, for the Theme application
  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.  * removed!
  83.  * removed!
  84.  * removed!
  85.  *
  86.  * removed!
  87.  * removed!
  88.  * removed!
  89.  *
  90.  * removed!
  91.  * removed!
  92.  * removed!
  93.  *
  94.  * removed!
  95.  * removed!
  96.  * removed!
  97.  *
  98.  * removed!
  99.  * removed!
  100.  * removed!
  101.  *
  102.  * removed!
  103.  * removed!
  104.  * removed!
  105.  *
  106.  * removed!
  107.  * removed!
  108.  * removed!
  109.  *
  110.  *------------------------------------------------------------------------------
  111.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  112.  *==============================================================================
  113.  *******************************************************************************/
  114.  /**
  115.  * Copyright Notice
  116.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  117.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  118.  *  (It is illegal to remove this copyright notice from this software or any
  119.  *  portion of it)
  120.  */
  121. /**************************************************************
  122.    FILENAME : MMIThemes.h
  123.    PURPOSE     : Prototypes for the Theme application
  124.    REMARKS     : nil
  125.    AUTHOR      : Restructured by manju
  126.    DATE     : Restructured on May-24-2003
  127. **************************************************************/
  128. #ifndef _MMI_THEME_H
  129. #define _MMI_THEME_H
  130. #include "MMI_features.h"
  131. #ifdef __MMI_THEMES_APPLICATION__
  132. #ifdef __MMI_THEMES_V2_SUPPORT__
  133. #include "ThemeManager.h"
  134. #endif 
  135. #include "custom_mmi_default_value.h"   /* NVRAM_REVISE */
  136. /* 
  137.  * Define
  138.  */
  139. #define THMEM_FREQ_NUM        6
  140. #define NO_OF_ORDERS             4
  141. #define MAX_THEMES               10
  142. #define THEME_IPADDRESS_NUMERIC_LENGTH 4
  143. #define THEME_NUMERIC_BEGIN 48
  144. #define THEME_NUMERIC_END 57
  145. #define THEME_TOTAL_VALID_SCHEME 3
  146. #define THEME_LOWER_CASE_ALPHA_BEGIN 97
  147. #define THEME_LOWER_CASE_ALPHA_END 122
  148. #define THEME_UPPER_CASE_ALPHA_BEGIN 65
  149. #define THEME_UPPER_CASE_ALPHA_END 90
  150. #if (!defined MMI_ON_HARDWARE_P)
  151. #define NVRAM_THEMES_DOWNLOAD_SIZE   1282
  152. #endif 
  153. /* 
  154.  * Typedef 
  155.  */
  156. #ifdef __MMI_THEMES_V2_SUPPORT__
  157. typedef struct
  158. {
  159.     U8 CurrThemeIndex;                      /* current index of theme */
  160.     U32 CurrTheme;                          /* Current id of theme */
  161.     U32 CurrHiliteTheme;                    /* Current highlighted theme */
  162.     U8 TotalTheme;                          /* Total number of themes */
  163.     U8 CurrHiliteItem;                      /* Current selected item */
  164.     U8 CurrUpdatePeriod;                    /* Current update period */
  165.     U8 IsSetFromMenu;                       /* If theme is updated from menu */
  166.     U8 IsOrderChanged;                      /* Is order changed by user *//* shall be optimize later */
  167.     U8 IsInThmApp;                          /* Is current screen in theme application */
  168.     S16 CurrOrderIndex;                     /* Position of current update order */
  169.     PU8 ThemeName[TOTAL_THEMES_COUNT + 1];  /* Name list + "None"  11 */
  170.     S32 TmpOrderList[TOTAL_THEMES_COUNT];   /* Item of set order  4 */
  171.     U32 SetOrderIDList[TOTAL_THEMES_COUNT];
  172. } thm_contex_struct;
  173. #else /* __MMI_THEMES_V2_SUPPORT__ */ 
  174. typedef struct
  175. {
  176.     U8 CurrTheme;                   /* Current index of theme */
  177.     U8 CurrHiliteTheme;             /* Current highlighted theme */
  178.     U8 TotalTheme;                  /* Total number of themes */
  179.     U8 CurrHiliteItem;              /* Current selected item */
  180.     U8 CurrUpdatePeriod;            /* Current update period */
  181.     U8 IsSetFromMenu;               /* If theme is updated from menu */
  182.     U8 IsOrderChanged;              /* Is order changed by user *//* shall be optimize later */
  183.     U8 IsInThmApp;                  /* Is current screen in theme application */
  184.     S16 CurrOrderIndex;             /* Position of current update order */
  185.     U8 CurrOrderList[NO_OF_ORDERS]; /* Order list of theme 4 */
  186.     PU8 ThemeName[MAX_THEMES + 1];  /* Name list + "None"  11 */
  187.     S32 TmpOrderList[NO_OF_ORDERS]; /* Item of set order  4 */
  188. } thm_contex_struct;
  189. #endif /* __MMI_THEMES_V2_SUPPORT__ */ 
  190. #ifdef __MMI_THEMES_V2_SUPPORT__
  191. typedef struct
  192. {
  193.     U16 freq_type;
  194.     S16 set_order_flag;
  195.     U32 themes_order[23];
  196. } thm_nvram_struct;
  197. #else /* __MMI_THEMES_V2_SUPPORT__ */ 
  198. typedef struct
  199. {
  200.     U8 freq_type;
  201.     U8 current_theme_index;
  202.     S16 set_order_flag;
  203.     U8 themes_order[4];
  204. } thm_nvram_struct;
  205. #endif /* __MMI_THEMES_V2_SUPPORT__ */ 
  206. /* 
  207.  * Extern Global Variable
  208.  */
  209. extern thm_contex_struct g_thm_cntx;
  210. /* 
  211.  * Extern Global Function
  212.  */
  213. extern void InitThemes(void);
  214. extern BOOL ATSetTheme(U8 index);
  215. extern void UpdateThemeAlarm(void);
  216. extern void ReadThemesFromNVRAM(void);
  217. /*
  218.  * Local Used Function
  219.  */
  220. extern void EntryThmMenu(void);
  221. extern void ActivateTheme(void);
  222. /* Leo add for DLT */
  223. extern void DeleteTheme(void);  /* ritesh */
  224. /* Leo end */
  225. extern void WriteThemesToNVRAM(void);
  226. extern void HighlightThmMenu(void);
  227. extern void HighlightThmItems(S32 nIndex);
  228. extern void ThmHandleEndKey(void);
  229. extern void ThmHandleRSK(void);
  230. /* PMT NEERAJ START 20050804 */
  231. #ifdef __MMI_UI_TAB_PANE__
  232. extern void ThemeAlarmCallBackUpdateUITheme(void);
  233. #endif 
  234. /* PMT NEERAJ END 20050804 */
  235. #if 1   /* defined(__MMI_THEME_AUTO_UPDATE__) */
  236. extern U8 ThemeAlarmCallBack(U8 index, U16 *period, BOOL power_on);
  237. extern void EntryThmOptions(void);
  238. extern void EntryThmUpdatePeriod(void);
  239. extern void ExitThmUpdatePeriod(void);
  240. extern void EntryThmSetOrder(void);
  241. extern void ExitThmSetOrder(void);
  242. /* Leo add for DLT */
  243. extern void EntryThmDownload(void);
  244. extern void ActivateDefaultTheme(void);
  245. /* Leo end */
  246. extern void UpdateThemeOff(void);
  247. /* PMT DNLD_THEME_FIXES: SHARIQ START BUG# MAUI_00191466 */
  248. extern void AlarmExpireUpdateThemeOff(void);
  249. /* PMT DNLD_THEME_FIXES: SHARIQ END BUG# MAUI_00191466 */
  250. extern void UpdateThemePeriod(void);
  251. extern void SaveOrderThemes(void);
  252. extern void SetStartPositionofCurIndex(void);
  253. extern void FillThemesList(void);
  254. extern void HighlightThmUpdatePeriod(S32 nIndex);
  255. extern void HighlightThmOption(S32 nIndex);
  256. extern void HighlightThmSetOrder(S32 nIndex);
  257. extern void ThemesFCBInit(void);
  258. extern void ThemesExpiryTimeCBH(U8 index, MYTIME *alarmTime, U8 *Freq, U8 *WeekDays, MYTIME* preReminder);
  259. extern void ThemesReInitQueueCBH(void);
  260. #ifdef __MMI_THEMES_V2_SUPPORT__
  261. extern void ShowThemeList(void);
  262. extern void ConstructThemeList(void);
  263. extern void ConstructThemeOrderList(void);
  264. extern void UpdateOrder(U32 thm_del_ID);
  265. extern void SetOrderIDList(U32 IDList[], U8 noofthemes, S16 index);
  266. extern U8 GetIDList(U32 **GetIDList, S16 *index);
  267. extern U8 CheckForCorrectOrder(void);
  268. extern void SetCurrOrderIndex(S16 index);
  269. extern void ThemeDeleteConfirmation(void);
  270. #endif /* __MMI_THEMES_V2_SUPPORT__ */ 
  271. #ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
  272. extern void ThemeDeleteConfirmation(void);
  273. extern void DeleteTheme(void);
  274. extern void UpdateOrder(U32 thm_del_ID);
  275. pBOOL mmi_thm_isValidUrl(S8 *pucURLText);
  276. pBOOL mmi_thm_checkValidScheme (S8 *pucURLText, S32 iSchemeIndex) ;
  277. pBOOL mmi_thm_checkValidPort (S8 *pucURLText, S32 iStartIndex, S32 iEndIndex) ;
  278. pBOOL mmi_thm_checkValidHostname (S8 *pucURLText, S32 iStartIndex, S32 iEndIndex) ;
  279. pBOOL mmi_thm_checkValidIpaddress (S8 *psUrl_value, S32 iStart_index, S32 iEnd_index);
  280. #endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */ 
  281. #endif /* 1 */ // #if defined(__MMI_THEME_AUTO_UPDATE__)
  282. #endif /* __MMI_THEMES_APPLICATION__ */ // #ifdef __MMI_THEMES_APPLICATION__
  283. #endif /* _MMI_THEME_H */