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

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

?? sms.c

?? 基于BREW的SMS開發源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*===========================================================================

FILE: sms.c
===========================================================================*/


/*===============================================================================
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 "AEEText.h"
#include "AEESound.h"			// Sound Interface definitions
#include "AEETapi.h"			// TAPI Interface definitions

#include "SMS.BID"
#include "sms_res.h"

#define PHONE_NUM          12
#define MESSAGE_LENGTH      141
#define SOFT_CTL_NUM       10
#define CONTROL_SPACE      5
#define SMS_PREFS_VERSION  1
#define GROUP_SMS_COUNT    20


typedef enum {
   PHONE_NUMBER_TEXT_CTL,
   MESSAGE_TEXT_CTL,
   SOFTKEY_OK_CTL,
   SEND_RESULT_CTL
}CTRL_FOCUS;


typedef struct
{
	char phoneNum[PHONE_NUM];
} CSmsPrefs;


typedef struct _CSmsApp
{
   AEEApplet      a;          // Mandatory AEEApplet data member appears first
   ITextCtl  *    m_pText; 
   IMenuCtl  *    m_pSoftKey;

   ITextCtl  *    m_pMessageText;
   IMenuCtl  *    m_pMessageSoftKey;
   
   ITAPI     *    m_pITAPI;

   IStatic   *    m_pStatic;
   IMenuCtl  *    m_pResultSoftKey;
   
   AEERect        m_rc;             //Device Screen Rect  
   int            m_fontHeight;   
   
 
   uint16         m_focus;          //control focus
   
   AECHAR         wStrNum[15];
   char           strNum[15];
   AECHAR         wStrMessage[MESSAGE_LENGTH];
  
   CSmsPrefs      m_Prefs;

   uint16 SentStatus;


} CSmsApp;
/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static boolean sms_HandleEvent(CSmsApp * pApp, AEEEvent eCode, 
                                      uint16 wParam, uint32 dwParam);

static void sms_FreeAppData(CSmsApp * pApp);

static boolean sms_InitAppData(CSmsApp * pApp);
static void TextMesage_init(CSmsApp * pApp);

static void sms_init(CSmsApp * pApp);

static void sms_release(CSmsApp * pApp);

static void sms_Send(CSmsApp * pApp);

static void MySmsNotify(CSmsApp * pApp, int16 status);
/*===============================================================================
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_SMS)
   {
      if(AEEApplet_New(sizeof(CSmsApp), ClsId, pIShell,po,(IApplet**)ppObj,
         (AEEHANDLER)sms_HandleEvent,(PFNFREEAPPDATA)sms_FreeAppData)
         == TRUE)
      {
   		// Add your code here .....
			if(sms_InitAppData((CSmsApp *)*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;
         }
      }
   }
	return (EFAILED);
}

static boolean sms_InitAppData(CSmsApp * pApp)
{
   AEEDeviceInfo di;
   int fontAscent, fontDscent;

   //get screen size
   ISHELL_GetDeviceInfo(pApp->a.m_pIShell, &di);
   SETAEERECT(&pApp->m_rc, 0, 0, di.cxScreen, di.cyScreen);

   //GetFontHeight
   if(IDISPLAY_GetFontMetrics(pApp->a.m_pIDisplay, AEE_FONT_NORMAL, &fontAscent, &fontDscent)!=EFAILED)
   {
      pApp->m_fontHeight = fontAscent + fontDscent + 2;
   }

   pApp->m_pSoftKey = NULL;
   pApp->m_pText = NULL;
  

   return TRUE;
}

static void sms_FreeAppData(CSmsApp * pApp)
{

   if(pApp->m_pText)
      ITEXTCTL_Release(pApp->m_pText);
   if(pApp->m_pSoftKey)
      IMENUCTL_Release(pApp->m_pSoftKey);
   
   if(pApp->m_pMessageText)
      ITEXTCTL_Release(pApp->m_pMessageText);

   if(pApp->m_pMessageSoftKey)
      IMENUCTL_Release(pApp->m_pMessageSoftKey);

   if(pApp->m_pResultSoftKey)
   {
      IMENUCTL_Release(pApp->m_pResultSoftKey);
	  pApp->m_pResultSoftKey = NULL;
	}

   if(pApp->m_pITAPI)
   {
      ITAPI_Release(pApp->m_pITAPI);
      pApp->m_pITAPI = NULL;
   }

   if(pApp->m_pStatic)
   {
	   ISTATIC_Release(pApp->m_pStatic);
	   pApp->m_pStatic = NULL;
   }

   pApp->m_pText = NULL;
   pApp->m_pSoftKey = NULL;

   pApp->m_pMessageText = NULL;
   pApp->m_pMessageSoftKey = NULL;


}

static void sms_release(CSmsApp * pApp)
{

   if(pApp->m_pText!=NULL)
   {
      ITEXTCTL_GetText(pApp->m_pText, pApp->wStrNum, PHONE_NUM);
      ITEXTCTL_Release(pApp->m_pText);
      pApp->m_pText = NULL;
   }

   if(pApp->m_pSoftKey)
   {
      IMENUCTL_Release(pApp->m_pSoftKey);
      pApp->m_pSoftKey = NULL;
   }

   if(pApp->m_pMessageText!=NULL)
   {
      ITEXTCTL_GetText(pApp->m_pMessageText, pApp->wStrMessage, MESSAGE_LENGTH);
      ITEXTCTL_Release(pApp->m_pMessageText);
      pApp->m_pMessageText = NULL;
   }
   

   if(pApp->m_pMessageSoftKey)
   {
     
      IMENUCTL_Release(pApp->m_pMessageSoftKey);
      pApp->m_pMessageSoftKey = NULL;
   }

   if(pApp->m_pITAPI)
   {
      ITAPI_Release(pApp->m_pITAPI);
      pApp->m_pITAPI = NULL;
   }

   if(pApp->m_pStatic)
   {
	   ISTATIC_Release(pApp->m_pStatic);
	   pApp->m_pStatic = NULL;
   }

   if(pApp->m_pResultSoftKey)
   {
      IMENUCTL_Release(pApp->m_pResultSoftKey);
	  pApp->m_pResultSoftKey = NULL;
   }


}

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

FUNCTION sms_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 sms_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 sms_HandleEvent(CSmsApp * pApp, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
   uint16 CurSel;
   AECHAR szTitle[20];
   AECHAR szText[20];

   if((pApp->m_pText!=NULL) && 
      (pApp->m_focus== PHONE_NUMBER_TEXT_CTL)&&
      ITEXTCTL_HandleEvent(pApp->m_pText, eCode, wParam, dwParam))
		return TRUE;        

   if((pApp->m_pSoftKey!=NULL) &&
      (pApp->m_focus==SOFTKEY_OK_CTL)&&
      IMENUCTL_HandleEvent(pApp->m_pSoftKey, eCode, wParam, dwParam))
		return TRUE;   
   
    if((pApp->m_pMessageText!=NULL) && 
      (pApp->m_focus== MESSAGE_TEXT_CTL)&&
      ITEXTCTL_HandleEvent(pApp->m_pMessageText, eCode, wParam, dwParam))
		return TRUE;        

   if((pApp->m_pMessageSoftKey!=NULL) &&
            IMENUCTL_HandleEvent(pApp->m_pMessageSoftKey, eCode, wParam, dwParam))
		return TRUE; 

    if((pApp->m_pResultSoftKey!=NULL) &&
            IMENUCTL_HandleEvent(pApp->m_pResultSoftKey, eCode, wParam, dwParam))
		return TRUE;



   switch (eCode) 
	{
      case EVT_APP_START:		    
		   // Add your code here .....
         sms_init(pApp);
         IMENUCTL_SetActive(pApp->m_pSoftKey, FALSE);
		 ITEXTCTL_SetActive(pApp->m_pText, TRUE);
      	return(TRUE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线播放一区| 亚洲人成在线观看一区二区| 欧美国产综合色视频| 亚洲精品伦理在线| 国产乱码精品一区二区三| 日本高清免费不卡视频| 久久久久高清精品| 天天色天天爱天天射综合| 91在线国产观看| 久久久久国产成人精品亚洲午夜| 亚洲午夜久久久久中文字幕久| 国产成人免费高清| 精品国内二区三区| 日韩国产精品久久| 欧美亚洲日本国产| 亚洲欧美偷拍另类a∨色屁股| 国内精品第一页| 欧美一区二区女人| 亚洲chinese男男1069| 97久久精品人人做人人爽| 久久久亚洲高清| 国内精品自线一区二区三区视频| 91精品国产一区二区三区蜜臀| 亚洲激情五月婷婷| 一本色道久久综合狠狠躁的推荐| 欧美国产日韩在线观看| 丰满放荡岳乱妇91ww| 久久色视频免费观看| 久久av资源站| 精品va天堂亚洲国产| 美女一区二区视频| 日韩一区二区三区四区| 日日骚欧美日韩| 91精品国产高清一区二区三区蜜臀 | 亚洲国产精品成人综合 | 亚洲国产cao| 精品视频一区二区不卡| 亚洲午夜久久久久久久久电影院| 欧洲亚洲精品在线| 亚洲成a人片在线观看中文| 欧美亚洲国产怡红院影院| 伊人一区二区三区| 欧美三级在线视频| 日本免费新一区视频| 欧美人与z0zoxxxx视频| 蜜桃av一区二区三区| 精品久久一区二区三区| 粉嫩av一区二区三区在线播放| 亚洲国产高清在线观看视频| 91在线观看视频| 一区二区三区欧美| 欧美一级视频精品观看| 国产毛片精品一区| 中文字幕日韩av资源站| 欧美午夜精品久久久久久孕妇| 天堂久久久久va久久久久| 久久影音资源网| 色综合一区二区| 日韩中文字幕一区二区三区| 欧美剧在线免费观看网站| 久久er99热精品一区二区| 中文字幕中文乱码欧美一区二区| 91首页免费视频| 日本sm残虐另类| 国产日韩精品一区二区三区| 色婷婷av一区二区| 美女视频黄免费的久久| 中文久久乱码一区二区| 欧美日韩亚洲综合在线| 久久丁香综合五月国产三级网站| 国产欧美日韩不卡| 欧美精品1区2区3区| 成人综合在线网站| 午夜视频一区在线观看| 欧美激情一区在线| 欧美男女性生活在线直播观看| 黄网站免费久久| 亚洲女子a中天字幕| 欧美成人精品3d动漫h| 色婷婷综合久久久久中文一区二区| 婷婷综合五月天| 成人免费在线视频观看| 日韩视频在线一区二区| 99久久综合国产精品| 日本欧美一区二区在线观看| 亚洲精品国产高清久久伦理二区| 精品sm在线观看| 欧美浪妇xxxx高跟鞋交| 91丨九色丨国产丨porny| 国产精品99久久久久久久女警| 午夜视频一区在线观看| 亚洲精品视频在线| 欧美激情综合网| 精品成人私密视频| 日韩一区二区三区电影| 欧美性猛片xxxx免费看久爱| 91在线精品秘密一区二区| 福利一区二区在线| 国内外成人在线视频| 日韩不卡一区二区三区| 亚洲高清免费在线| 亚洲一区二区三区国产| 亚洲人成网站在线| 亚洲欧洲www| 中文字幕成人网| 国产精品网曝门| 欧美激情一区不卡| 国产欧美日韩在线观看| 久久精品在这里| 久久亚洲私人国产精品va媚药| 日韩一区二区在线播放| 日韩欧美视频在线| 欧美大片一区二区三区| 欧美电影精品一区二区| 91精品国产一区二区| 日韩三级视频在线看| 日韩视频中午一区| 欧美精品一区二区三区高清aⅴ| 精品精品国产高清a毛片牛牛| 精品久久久久久亚洲综合网| 精品三级在线看| 久久久久久久久99精品| 国产欧美日韩亚州综合 | 国产日韩亚洲欧美综合| 久久精品视频免费| 久久精品亚洲麻豆av一区二区| 久久夜色精品一区| 国产无遮挡一区二区三区毛片日本| 国产亚洲欧美日韩日本| 国产欧美一区视频| 中文字幕一区二区视频| 亚洲精品中文在线影院| 三级不卡在线观看| 韩国av一区二区三区四区| 成人免费视频视频| 在线视频亚洲一区| 717成人午夜免费福利电影| 日韩免费视频线观看| 久久精品欧美一区二区三区不卡| 国产精品国产三级国产普通话三级 | 久久久无码精品亚洲日韩按摩| 中文字幕乱码亚洲精品一区| 亚洲男人的天堂网| 日韩在线一二三区| 国产乱码精品一区二区三区忘忧草| 不卡av在线网| 欧美日韩国产片| 国产无一区二区| 午夜精品福利在线| 国产一区二区三区四区五区美女 | 成人av网站在线观看免费| 色久综合一二码| 欧美videos大乳护士334| 亚洲欧洲av在线| 麻豆精品一二三| 91视频91自| 精品国产不卡一区二区三区| 亚洲免费观看高清完整版在线观看| 日韩精品免费视频人成| 成人性色生活片免费看爆迷你毛片| 欧美艳星brazzers| 国产精品视频第一区| 日本色综合中文字幕| 色激情天天射综合网| 久久麻豆一区二区| 日韩av电影天堂| 日本韩国欧美三级| 亚洲国产精品av| 久久99精品久久久久婷婷| 欧美在线色视频| 成人免费一区二区三区视频| 狠狠色综合色综合网络| 欧美天天综合网| 18成人在线观看| 国产毛片精品国产一区二区三区| 欧美日韩一级二级三级| 亚洲另类色综合网站| 国产精品一区二区无线| 日韩视频在线永久播放| 亚洲国产综合色| 在线视频一区二区三| 亚洲色图都市小说| 成人高清视频在线| 国产日韩欧美a| 国产成人午夜高潮毛片| 欧美精品一区二区三区高清aⅴ| 日韩成人av影视| 欧美日韩一区二区三区四区 | 国产三级三级三级精品8ⅰ区| 日本在线不卡一区| 欧美久久高跟鞋激| 亚洲第一精品在线| 欧美午夜不卡视频| 亚洲欧洲中文日韩久久av乱码| 成人福利视频在线| 欧美国产成人在线| av动漫一区二区| 亚洲精品水蜜桃| 欧美三区在线观看| 日本不卡视频在线|