亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? addrbookruim.c

?? BREW程序:對SIM/UIM卡的電話地址本進行操作
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*===========================================================================

FILE: addrbookruim.c
ABR: Address Book on Ruim
===========================================================================*/


/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "AEEModGen.h"          // Module interface definitions
#include "AEEAppGen.h"          // Applet interface definitions
#include "AEEShell.h"           // Shell interface definitions
#include "AEEStdLib.h"
#include "AEEKeysConfig.h"
#include "AEEAddrbook.h"

#include "addrbookruim.h"
#include "addrbookruim.bid"
#include "addrbookruim.brh"
#include "abr_function.h"


/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static  boolean ABR_HandleEvent(CAddrBookRuim* pMe, AEEEvent eCode, 
                                             uint16 wParam, uint32 dwParam);
boolean ABR_InitAppData(CAddrBookRuim* pMe);
static boolean ABR_CreateMainControls(CAddrBookRuim* pMe);

void    ABR_FreeAppData(CAddrBookRuim* pMe);
static void ABR_ReleaseMainControls(CAddrBookRuim* pMe);
static void ReleaseObj(void ** ppObj);
static void ABR_DisplayMainMenu( CAddrBookRuim* pMe );
static void ABR_DisplayAddScreen( CAddrBookRuim* pMe );
static void ABR_DisplayViewMenu( CAddrBookRuim* pMe );
static void ABR_DisplayEditScreen( CAddrBookRuim* pMe, uint16 wItemID );
static void ABR_DisplayTotalRec( CAddrBookRuim* pMe );
static void ABR_DisplayStoreDevice( CAddrBookRuim* pMe );

static void ABR_Reset(CAddrBookRuim * pMe );

/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */

/*===========================================================================
FUNCTION: AEEClsCreateInstance

DESCRIPTION
  This function is invoked while the app is being loaded. All Modules must provide this 
  function. Ensure to retain the same name and parameters for this function.
  In here, the module must verify the ClassID and then invoke the AEEApplet_New() function
  that has been provided in AEEAppGen.c. 

   After invoking AEEApplet_New(), this function can do app specific initialization. In this
   example, a generic structure is provided so that app developers need not change app specific
   initialization section every time except for a call to IDisplay_InitAppData(). 
   This is done as follows: InitAppData() is called to initialize AppletData 
   instance. It is app developers responsibility to fill-in app data initialization 
   code of InitAppData(). App developer is also responsible to release memory 
   allocated for data contained in AppletData -- this can be done in 
   IDisplay_FreeAppData().

PROTOTYPE:
   int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)

PARAMETERS:
  clsID: [in]: Specifies the ClassID of the applet which is being loaded

  pIShell: [in]: Contains pointer to the IShell object. 

  pIModule: pin]: Contains pointer to the IModule object to the current module to which
  this app belongs

  ppObj: [out]: On return, *ppObj must point to a valid IApplet structure. Allocation
  of memory for this structure and initializing the base data members is done by AEEApplet_New().

DEPENDENCIES
  none

RETURN VALUE
  AEE_SUCCESS: If the app needs to be loaded and if AEEApplet_New() invocation was
     successful
  EFAILED: If the app does not need to be loaded or if errors occurred in 
     AEEApplet_New(). If this function returns FALSE, the app will not be loaded.

SIDE EFFECTS
  none
===========================================================================*/
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
  *ppObj = NULL;

  if( ClsId == AEECLSID_ADDRBOOKRUIM )
  {
    // Create the applet and make room for the applet structure
    if( AEEApplet_New(sizeof(CAddrBookRuim),
                      ClsId,
                      pIShell,
                      po,
                      (IApplet**)ppObj,
                      (AEEHANDLER)ABR_HandleEvent,
                      (PFNFREEAPPDATA)ABR_FreeAppData) ) // the FreeAppData function is called after sending EVT_APP_STOP to the HandleEvent function
                          
    {
      //Initialize applet data, this is called before sending EVT_APP_START
      // to the HandleEvent function
      if(ABR_InitAppData((CAddrBookRuim*)*ppObj))
      {
        //Data initialized successfully
        return(AEE_SUCCESS);
      }
      else
      {
        //Release the applet. This will free the memory allocated for the applet when
        // AEEApplet_New was called.
        IAPPLET_Release((IApplet*)*ppObj);
        return EFAILED;
      }

    } // end AEEApplet_New

  }

  return(EFAILED);
}


// this function is called when your application is starting up
boolean ABR_InitAppData(CAddrBookRuim* pMe)
{
    // Get the device information for this handset.
    // Reference all the data by looking at the pMe->DeviceInfo structure
    // Check the API reference guide for all the handy device info you can get
    pMe->DeviceInfo.wStructSize = sizeof(pMe->DeviceInfo);
    ISHELL_GetDeviceInfo(pMe->a.m_pIShell,&pMe->DeviceInfo);

    // The display and shell interfaces are always created by
    // default, so we'll asign them so that you can access
    // them via the standard "pMe->" without the "a."
    pMe->pIDisplay = pMe->a.m_pIDisplay;
    pMe->pIShell   = pMe->a.m_pIShell;

    // Insert your code here for initializing or allocating resources...

    // Create all of the common GUI controls that will be used for all
    // interfaces except the Add/Edit and View dialogs (these will be 
    // created and deleted as needed).
    if(!ABR_CreateMainControls(pMe))
    {
      return FALSE;
    }
    pMe->m_nFontHeight = IDISPLAY_GetFontMetrics( pMe->pIDisplay, AEE_FONT_NORMAL, NULL, NULL ) + 1;

    SETAEERECT( &pMe->m_rScreenRect, 0, 0, pMe->DeviceInfo.cxScreen, pMe->DeviceInfo.cyScreen);
    pMe->m_ContactCLS = AEECLSID_ADDRBOOK_RUIM;
    // if there have been no failures up to this point then return success
    return TRUE;
}

/*===========================================================================

FUNCTION: ABR_CreateMainControls

DESCRIPTION:
  Creates controls used by the applet

PARAMETERS:
  pMe [in] - Pointer to the CAddrBookRuim structure. This structure contains 
    information specific to this applet. 

DEPENDENCIES:
   Assumes pMe is not NULL

RETURN VALUE:
   TRUE - Controls created successfully
   FALSE - Control creation failed

SIDE EFFECTS:
   None
===========================================================================*/
static boolean ABR_CreateMainControls( CAddrBookRuim* pMe )
{
   AEERect rc;
   AEEItemStyle rNormalStyle;
   AEEItemStyle rSelStyle;

   // Create the main application controls.
   if((ISHELL_CreateInstance(pMe->pIShell, AEECLSID_MENUCTL, (void**)(&pMe->m_pMenu)) != SUCCESS) ||
      (ISHELL_CreateInstance(pMe->pIShell, AEECLSID_SOFTKEYCTL, (void**)(&pMe->m_pSK)) != SUCCESS) ||
      (ISHELL_CreateInstance(pMe->pIShell, AEECLSID_TEXTCTL, (void**)(&pMe->m_pText1)) != SUCCESS) ||
      (ISHELL_CreateInstance(pMe->pIShell, AEECLSID_TEXTCTL, (void**)(&pMe->m_pText2)) != SUCCESS ))
      return FALSE;

  // Let's reset text control size so on subsequent this won't misbehave by erasing screen
  SETAEERECT(&rc, 0, 0, 0, 0);
  ITEXTCTL_SetRect(pMe->m_pText1, &rc);
  ITEXTCTL_SetRect(pMe->m_pText2, &rc);

  // Set the style of the menu control so that all the icons are displayed as
  // transparent.  This is set based on the default menu styles.
  ISHELL_GetItemStyle( pMe->pIShell, AEE_IT_MENU, &rNormalStyle, &rSelStyle );
  rNormalStyle.roImage = AEE_RO_TRANSPARENT;
  rSelStyle.roImage = AEE_RO_TRANSPARENT;
  IMENUCTL_SetStyle( pMe->m_pMenu, &rNormalStyle, &rSelStyle );

  return TRUE;
}

// this function is called when your application is exiting
void ABR_FreeAppData(CAddrBookRuim* pMe)
{
    // insert your code here for freeing any resources you have allocated...

    // example to use for releasing each interface:
    // if ( pMe->pIMenuCtl != NULL )         // check for NULL first
    // {
    //    IMENUCTL_Release(pMe->pIMenuCtl)   // release the interface
    //    pMe->pIMenuCtl = NULL;             // set to NULL so no problems trying to free later
    // }
    //
   // Release each of the  common controls.
   ABR_ReleaseMainControls(pMe);

}

/*===========================================================================

FUNCTION: ABR_ReleaseMainControls

DESCRIPTION:
  Frees each of the controls used by the application.

PARAMETERS:
  pMe [in] - Applet Structure

DEPENDENCIES:
   Assumes pMe is not NULL

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void ABR_ReleaseMainControls(CAddrBookRuim* pMe)
{   
   // Release each of the controls
   ReleaseObj((void**)&pMe->m_pMenu);
   ReleaseObj((void**)&pMe->m_pSK);
   ReleaseObj((void**)&pMe->m_pText1);
   ReleaseObj((void**)&pMe->m_pText2);
}

/*===========================================================================

FUNCTION: ReleaseObj

DESCRIPTION:
  This is a convenience function which releases BREW controls.  It also
  checks that the pointer is not NULL before attempting to release the
  control.

PARAMETERS:
  ReleaseObj [in/out] - Pointer to the data pointer of the control.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void ReleaseObj(void ** ppObj)
{
    if ( ppObj && *ppObj ) 
    {
        (void)IBASE_Release(((IBase *)*ppObj));
        *ppObj = NULL;
    }
}

/*===========================================================================
FUNCTION SampleAppWizard_HandleEvent

DESCRIPTION
  This is the EventHandler for this app. All events to this app are handled in this
  function. All APPs must supply an Event Handler.

PROTOTYPE:
  boolean SampleAppWizard_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)

PARAMETERS:
  pi: Pointer to the AEEApplet structure. This structure contains information specific
  to this applet. It was initialized during the AEEClsCreateInstance() function.

  ecode: Specifies the Event sent to this applet

   wParam, dwParam: Event specific data.

DEPENDENCIES
  none

RETURN VALUE
  TRUE: If the app has processed the event
  FALSE: If the app did not process the event

SIDE EFFECTS
  none
===========================================================================*/
static boolean ABR_HandleEvent(CAddrBookRuim* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{  
    const uint16 wButtonIDs[] = {IDC_OK_PROMPT, 0};
    int32 nRet;
    AEEPromptInfo pInfo;
    uint16 wTextID;
      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人美女在线观看| 日本女优在线视频一区二区| 国产麻豆精品久久一二三| 精品国产乱码久久久久久浪潮| 日本午夜精品一区二区三区电影| 欧美一区二区二区| 精品亚洲国内自在自线福利| 久久久精品免费网站| 91原创在线视频| 午夜视频在线观看一区二区| 日韩欧美国产综合一区| 国产成人免费视频网站| 亚洲视频免费观看| 91精品欧美综合在线观看最新| 精品在线观看免费| 亚洲天堂av一区| 91精品免费在线| 国产91综合一区在线观看| 亚洲区小说区图片区qvod| 91精品中文字幕一区二区三区| 精品亚洲成a人| 亚洲精品国产一区二区三区四区在线| 91精品婷婷国产综合久久 | 日韩激情视频网站| 久久日韩精品一区二区五区| 波多野结衣中文字幕一区| 亚洲18色成人| 国产精品成人午夜| 日韩美女天天操| 色88888久久久久久影院野外| 日产国产欧美视频一区精品| 国产精品久久久久久亚洲毛片 | 91.麻豆视频| 国产91丝袜在线播放九色| 午夜精品久久久久久久蜜桃app| 精品嫩草影院久久| 91行情网站电视在线观看高清版| 精品一区二区在线观看| 亚洲国产精品一区二区www在线| 国产婷婷一区二区| 91精品国产综合久久福利| www.欧美色图| 久久99国产精品尤物| 亚洲国产精品久久久久婷婷884 | 欧美一区二区三区免费在线看| 成人黄色国产精品网站大全在线免费观看| 亚洲国产精品综合小说图片区| 国产精品久久影院| 久久久久亚洲蜜桃| 精品欧美一区二区久久| 欧美猛男超大videosgay| 波多野结衣一区二区三区| 国内精品国产三级国产a久久| 亚洲第一搞黄网站| 最新中文字幕一区二区三区 | 欧美一区二区网站| 欧美三级电影网站| 95精品视频在线| 岛国av在线一区| 国产伦精品一区二区三区免费迷 | av成人免费在线观看| 韩国精品久久久| 久久99热国产| 人人精品人人爱| 亚洲chinese男男1069| 亚洲欧美激情在线| 国产精品人妖ts系列视频| 国产无一区二区| 日本一区二区高清| 日本一二三四高清不卡| 国产欧美日韩视频一区二区| 日韩精品中午字幕| 精品国产乱码久久久久久老虎 | 亚洲另类在线一区| 亚洲欧美日韩久久精品| 亚洲日本一区二区三区| 亚洲欧美一区二区三区国产精品 | 国产精品人妖ts系列视频| 国产精品污网站| 亚洲视频每日更新| 亚洲影视在线播放| 无码av免费一区二区三区试看 | 亚洲综合男人的天堂| 亚洲一二三四在线| 午夜精品福利在线| 免费观看日韩电影| 国产一区二区伦理| 成人在线综合网| 色欧美片视频在线观看在线视频| 91视频在线观看| 欧美日韩的一区二区| 日韩欧美的一区二区| 国产三级欧美三级| 亚洲精品免费播放| 日韩高清在线不卡| 国产精品99久久久久久宅男| 成人国产亚洲欧美成人综合网 | 欧美精品乱码久久久久久按摩| 91精品国产高清一区二区三区蜜臀| 欧美一区永久视频免费观看| 日韩精品中午字幕| 中文字幕在线不卡一区二区三区| 一区二区三区四区五区视频在线观看| 亚洲一区二区影院| 久久99精品视频| 99久久精品国产一区二区三区 | 国产成人在线色| 日本二三区不卡| 精品日韩一区二区三区| 国产精品丝袜一区| 婷婷六月综合亚洲| 国产一区二区免费视频| 一本久久综合亚洲鲁鲁五月天 | 最新久久zyz资源站| 午夜av一区二区| 大白屁股一区二区视频| 欧美日韩一级片网站| 久久午夜羞羞影院免费观看| 亚洲视频在线观看一区| 另类综合日韩欧美亚洲| 99视频精品免费视频| 日韩久久免费av| 亚洲一区二区三区视频在线| 国产精品综合二区| 911国产精品| 亚洲激情在线播放| 国产麻豆视频精品| 337p亚洲精品色噜噜狠狠| 国产欧美日韩另类一区| 男女性色大片免费观看一区二区| 99久久久久免费精品国产| 精品国产一区二区三区久久久蜜月| 亚洲欧美日韩精品久久久久| 国产一区二区三区在线观看免费| 欧美在线|欧美| 亚洲国产精品99久久久久久久久| 午夜精品福利久久久| av影院午夜一区| 久久久99免费| 日本在线观看不卡视频| 色素色在线综合| 国产精品久久福利| 国产一区二区成人久久免费影院 | 色www精品视频在线观看| 久久九九99视频| 麻豆国产精品一区二区三区| 欧美天天综合网| 亚洲欧美日韩中文播放| 不卡视频在线看| 国产精品久久毛片a| 国产黑丝在线一区二区三区| 精品日产卡一卡二卡麻豆| 日韩国产精品久久| 51精品国自产在线| 五月婷婷激情综合| 欧美日韩中文字幕精品| 亚洲乱码国产乱码精品精小说| 成人精品在线视频观看| 国产视频911| 国产乱国产乱300精品| 久久综合狠狠综合| 国产一区二区精品久久| 国产亚洲成年网址在线观看| 极品美女销魂一区二区三区| 欧美大片在线观看| 国产一区久久久| 久久亚洲捆绑美女| 懂色av一区二区在线播放| 国产农村妇女精品| 不卡电影免费在线播放一区| 一区二区中文字幕在线| av午夜一区麻豆| 亚洲激情图片qvod| 欧美日韩亚州综合| 强制捆绑调教一区二区| 日韩欧美国产精品| 国产成人免费在线观看不卡| 欧美国产精品一区| 91丝袜美女网| 亚洲韩国一区二区三区| 欧美日韩aaaaaa| 久久99国产精品免费| 欧美国产成人精品| 色婷婷精品大在线视频| 亚洲成人精品一区二区| 欧美一卡二卡三卡四卡| 国产麻豆日韩欧美久久| 自拍偷拍国产精品| 欧美福利一区二区| 国产一区在线精品| 亚洲精品国产视频| 欧美一级爆毛片| 成人禁用看黄a在线| 亚洲午夜精品在线| 精品福利av导航| 色婷婷香蕉在线一区二区| 日本中文在线一区| 国产精品传媒视频| 欧美一区二区三区成人| 成人激情校园春色|