EventsGprot.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.  * EventsGprot.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *   This file is intends for Events gprot.
  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.  *------------------------------------------------------------------------------
  95.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  96.  *==============================================================================
  97.  *******************************************************************************/
  98. #ifndef _EVENTSGPROT_H
  99. #define _EVENTSGPROT_H
  100. #include "Frameworkstruct.h"
  101. #include "Unicodexdcl.h"
  102. #include "GlobalConstants.h"
  103. /***************************************************************************** 
  104. * Define
  105. *****************************************************************************/
  106. #define IsBitSet(Word, bit)      ((Word) & (1<<(bit)))
  107. #define IsBitReset(Word, bit)    (!((Word) & (1<<(bit))))
  108. #define SetBit(Word, bit)        (Word)|=(1<<(bit))
  109. #define ResetBit(Word, bit)      (Word) &= ~(1<<(bit))
  110. #define MMI_INT_EVENT_GROUP_MASK (0x8000)
  111. #define MMI_DEVICE_KEY 0x0001
  112. #define MMI_DEVICE_PEN 0x0002
  113. #define MMI_DEVICE_ALL (MMI_DEVICE_KEY | MMI_DEVICE_PEN)
  114. /***************************************************************************** 
  115. * Typedef 
  116. *****************************************************************************/
  117. /*
  118.  * If we want to add the new interrupt event group,
  119.  * define the new interrupt event group id here.
  120.  */
  121. typedef enum
  122. {
  123.     MMI_SMS_INT_EVENT_GROUP = MMI_INT_EVENT_GROUP_MASK,
  124.     MMI_CARD_PLUG_EVENT_GROUP
  125. } interrtupGroupEventId;
  126. /***************************************************************************** 
  127. * Extern Global Variable
  128. *****************************************************************************/
  129. extern U8 hintData[MAX_SUB_MENUS][MAX_SUB_MENU_HINT_SIZE];
  130. extern U8 subMenuData[MAX_SUB_MENUS][MAX_SUB_MENU_SIZE];
  131. extern PU8 subMenuDataPtrs[MAX_SUB_MENUS];
  132. extern PU8 hintDataPtrs[MAX_SUB_MENUS];
  133. /***************************************************************************** 
  134. * Extern Global Function
  135. *****************************************************************************/
  136. extern void InitEvents(void);                           /* initilize events func */
  137. extern void ExecuteCurrKeyHandler(S16 keyCode, S16 keyType);    /* execute current key func handler */
  138. extern void ExecuteCurrProtocolHandler(U16 eventID, void *MsgStruct, int mod_src, void *peerBuf);       /* execute current protocol func handler */
  139. extern U8 EntryNewScreen(U16 newscrnID, FuncPtr newExitHandler, FuncPtr newEntryHandler, void *peerBuf);        /* execute current entry func handler */
  140. extern U8 EntryNewScreen_Ext(U16 newscrnID, FuncPtr newExitHandler, FuncPtr newEntryHandler, void *peerBuf);    /* execute current entry func handler without clear all keyhandler */
  141. extern void ReplaceNewScreenHandler(U16 scrnID, FuncPtr exitFuncPtr, FuncPtr entryFuncPtr);     /* execute replace current screen screen id, exit and entry func handler */
  142. extern U16 GetActiveScreenId(void);                     /*  Get current active screen ID */
  143. extern void ExecuteCurrHiliteHandler(S32 hiliteid);     /*  execute current hilite handler with arrow key clear */
  144. extern void ExecuteCurrHiliteHandler_Ext(S32 hiliteid); /*  execute current hilite handler without any key clear */
  145. extern void SetKeyHandler(FuncPtr funcPtr, U16 keyCode, U16 keyType);   /* key event handlers */
  146. extern FuncPtr GetKeyHandler(U16 keyCode, U16 keyType);
  147. extern void SetGroupKeyHandler(FuncPtr funcPtr, PU16 keyCodes, U8 len, U16 keyType);    /* helper to register the same key handler for a group of key codes */
  148. extern void ClearKeyHandler(U16 keyCode, U16 keyType);
  149. extern void ClearAllKeyHandler(void);
  150. extern void ClearInputEventHandler(U16 device);
  151. extern void PowerAndEndKeyHandler(void);                /* power key & end key handler */
  152. extern void SetProtocolEventHandler(PsFuncPtr funcPtr, U16 eventID);
  153. extern void ClearProtocolEventHandler(U16 eventID);
  154. extern void ClearAllProtocolEventHandler(void);
  155. extern void SetEntryHandler(U16 scrnID, FuncPtr entryFuncPtr);  /* entry function handler */
  156. extern void ClearEntryHandler(void);
  157. extern U16 GetExitScrnID(void);
  158. extern U16 GetExitScrnID_r(void);
  159. extern void ClearExitHandler(void);
  160. extern void SetHiliteHandler(U16 itemid, FuncPtr hiliteFuncPtr);        /*  set hilite handler & parent id */
  161. extern void ClearHiliteHandler(U16 itemid);
  162. extern void ClearAllHiliteHandler(void);
  163. extern void SetParentHandler(U16 parentid);
  164. /* MTK Brian added for AT+CVIB, 2003/11/23 */
  165. extern U16 GetParentHandler(void);
  166. extern void GetkeyInfo(U16 *keyCode, U16 *keyType); /* gives key code & key type of last key event */
  167. extern void SetkeyInfo(U16 keyCode, U16 keyType);
  168. extern void StartTimer(U16 timerid, U32 delay, FuncPtr funcPtr);        /* this framework timer func for application */
  169. extern void StopTimer(U16 timerid);
  170. /* lisen 03/27/2004 */
  171. extern void DeInitFramework_KeyAndEventHandler(void);
  172. extern void DeInitFramework_History(void);
  173. extern void DeInitFramework(void);
  174. extern U8 MaskItems(U16 *maskList, U8 noOfItems, U32 maskingWord);
  175. extern U8 MaskItemsU8(U8 *maskList, U8 noOfItems, U32 maskingWord);
  176. extern U8 MaskStringItems(U8 **maskList, U8 noOfItems, U32 maskingWord);
  177. extern U8 MaskHiliteItems(U16 currParentID, U32 maskingWord);
  178. extern U16 GetCurrHiliteID(void);
  179. extern void ConstructHintsList(U16 currParentID, U8 **hintArray);
  180. extern void SetHintHandler(U16 itemid, FuncPtrShort hintFuncPtr);
  181. extern void ClearHintHandler(U16 itemid);
  182. extern void GenericExitInlineScreen(U16 scrnID, FuncPtr entryFuncPtr);
  183. extern void GenericExitScreen(U16 scrnID, FuncPtr entryFuncPtr);
  184. extern void SetInterruptEventHandler(PsIntFuncPtr funcPtr, PsIntFuncPtr postfuncPtr, U16 eventID);
  185. extern void SetGroupInterruptEventHandler(PsIntFuncPtr funcPtr, PsIntFuncPtr postfuncPtr, PU16 eventsID, U8 len);
  186. extern void ClearInterruptEventHandler(U16 eventID);
  187. extern void ClearAllInterruptEventHandler(void);
  188. extern void SetCurrExitFuncPtr(FuncPtr ptr);
  189. extern FuncPtr GetCurrExitFuncPtr(void);
  190. extern void SetCurrEntryFuncPtr(FuncPtr ptr);
  191. extern FuncPtr GetCurrEntryFuncPtr(void);
  192. extern MMI_BOOL mmi_execute_scrn_exit_func(void);
  193. extern void ExecuteItemHiliteHandler(U16 hiliteItemID);
  194. #endif /* _EVENTSGPROT_H */