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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? picdownload.c

?? 對(duì)學(xué)習(xí)Brew的幫助比較大
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include "PicDownload.h"
#include "PicDownload.bid"
#include "PicDownload_res.h"
#include "AEEStdLib.h"


#define RES_FILE PICDOWNLOAD_RES_FILE 

static  boolean PicDownload_HandleEvent(PicDownload* pMe, AEEEvent eCode, uint16 wParam,uint32 dwParam);
boolean PicDownload_InitAppData(PicDownload* pMe);
void    PicDownload_FreeAppData(PicDownload* pMe);
void PicDownload_ChangeState(PicDownload *pMe);
void PicDownload_InitMainMenu(PicDownload* pMe);
static void GetHostByName(PicDownload* pMe);
static void CBConnect(PicDownload *pMe,int nError);
static void PicDownload_MainLoop(PicDownload *pMe);
void SetFileData(PicDownload *pMe,byte *pData,int size);

boolean PicDownload_MainMenuHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam);
boolean PicDownload_FileListHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam);
boolean PicDownload_ViewHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam);
boolean PicDownload_FileViewHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam);

void ErrorTip(PicDownload *pMe,int16 errorId);

void SetTimeOut(PicDownload *pMe,int32 timeOut);
void TimeOut(PicDownload *pMe);
void CancelTimeOut(PicDownload *pMe);

static void CBSend(PicDownload *pMe);
static void CBRecv(PicDownload *pMe);
void RecvData(PicDownload *pMe,byte *pbData,int32 nRecvSize);
void SendData(PicDownload *pMe,byte *pbData,int32 nSendSize);
void Send(PicDownload *pMe,void *pData,int32 iSize);
void Recv(PicDownload *pMe,void *pData,int32 iSize);
void NetworkProcess(PicDownload *pMe);
void ProcessRecvData(PicDownload *pMe);
void UpdateScreen(PicDownload *pMe);
void PicDownload_InitNetwork(PicDownload *pMe);
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
	*ppObj = NULL;
	if( ClsId == AEECLSID_PICDOWNLOAD )
	{
		if( AEEApplet_New(sizeof(PicDownload),
			ClsId,
			pIShell,
			po,
			(IApplet**)ppObj,
			(AEEHANDLER)PicDownload_HandleEvent,
			(PFNFREEAPPDATA)PicDownload_FreeAppData))
		{
			if(PicDownload_InitAppData((PicDownload*)*ppObj))
			{
				return(AEE_SUCCESS);
			}
			else
			{
				IAPPLET_Release((IApplet*)*ppObj);
				return EFAILED;
			}
		} 
	}
	return(EFAILED);
}

void NetworkRelease(PicDownload* pMe)
{
	if(pMe->pSocket)
	{
		ISOCKET_Cancel(pMe->pSocket,NULL,NULL);
		ISOCKET_Release(pMe->pSocket);
		pMe->pSocket = NULL;
	}
	if(pMe->pNetMgr)
	{
		INETMGR_Release(pMe->pNetMgr);
		pMe->pNetMgr = NULL;
	}
	if(pMe->m_pbRecvBuffer)
	{
		FREE(pMe->m_pbRecvBuffer);
		pMe->m_pbRecvBuffer = NULL;
	}
}
static boolean PicDownload_HandleEvent(PicDownload* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{  
	switch (eCode) 
	{
	case EVT_APP_START:    
		ISHELL_SetTimerEx(pMe->pIShell,0,&pMe->cbMainTimer);
		IMENUCTL_SetActive(pMe->pIMenuCtlMain,TRUE);
		pMe->appState = enMainMenu;
		return(TRUE);
	case EVT_APP_STOP:
		return(TRUE);
	case EVT_APP_SUSPEND:
		switch(pMe->appState)
		{
		case enMainMenu:
			IMENUCTL_SetActive(pMe->pIMenuCtlMain,FALSE);
			break;
		case enWait:
			NetworkRelease(pMe);
			break;
		case enFileList:
			IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
			NetworkRelease(pMe);
			break;
		case enView:
			NetworkRelease(pMe);
			break;
		case enFileView:
			IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
			break;
		case enError:
			break;
		case enView2:
			break;
		}
		return(TRUE);
	case EVT_APP_RESUME:
		switch(pMe->appState)
		{
		case enMainMenu:
			IMENUCTL_SetActive(pMe->pIMenuCtlMain,TRUE);
			break;
		case enWait:
			PicDownload_InitNetwork(pMe);
			pMe->appState = enWait;
			break;
		case enFileList:
			PicDownload_InitNetwork(pMe);
			IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
			pMe->appState = enWait;
		case enView:
			PicDownload_InitNetwork(pMe);
			pMe->appState = enWait;
			break;
		case enFileView:
			IMENUCTL_SetActive(pMe->pIMenuCtlList,TRUE);
			break;
		case enError:
			break;
		case enView2:
			break;
		}
		return(TRUE);
	case EVT_APP_MESSAGE:
		return(TRUE);
	case EVT_APP_NO_SLEEP:
		return TRUE;
	default:
		{
			switch(pMe->appState)
			{
			case enMainMenu:
				return PicDownload_MainMenuHandleEvent(pMe,eCode,wParam,dwParam);
			case enFileList:
				return PicDownload_FileListHandleEvent(pMe,eCode,wParam,dwParam);
			case enView:
				return PicDownload_ViewHandleEvent(pMe,eCode,wParam,dwParam);
			case enView2:
				{
					if(eCode==EVT_KEY&&wParam==AVK_CLR)
					{
						IMENUCTL_SetActive(pMe->pIMenuCtlList,TRUE);
						pMe->appState = enFileView;
						return TRUE;
					}
				}
				break;
			case enFileView:
				return PicDownload_FileViewHandleEvent(pMe,eCode,wParam,dwParam);
			}
		}
		break;
	}
	return FALSE;
}
void NetworkProcess(PicDownload *pMe)
{	
	if(pMe->m_nNetState>=0)
	{
		if(pMe->m_bIsRecv)
		{
			if(pMe->m_bRecvBuf)
			{
				if(pMe->m_RecvDataHead.dwSize!=0)
				{
					if(!pMe->m_bIsReadBuf)
					{
						if(pMe->m_pbRecvBuffer)
						{
							FREE(pMe->m_pbRecvBuffer);
						}
						pMe->m_pbRecvBuffer = (byte*)MALLOC(pMe->m_RecvDataHead.dwSize);
						Recv(pMe,pMe->m_pbRecvBuffer,pMe->m_RecvDataHead.dwSize);
						pMe->m_bIsReadBuf = TRUE;
					}
					else
					{
						pMe->m_bIsRecv = FALSE;
						pMe->m_bIsReadBuf = FALSE;
						ProcessRecvData(pMe);
					}
				}
				else
				{
					pMe->m_bIsRecv = FALSE;
					pMe->m_bIsReadBuf = FALSE;
					ProcessRecvData(pMe);
				}
			}
		}
	}
}
void SetFileList(PicDownload *pMe,byte *pData,int size)
{
	int i;
	int length = size/(FILENAME_LENGTH*2);
	AECHAR buffer[FILENAME_LENGTH];
	IMENUCTL_DeleteAll(pMe->pIMenuCtlList);
	for(i=0;i<length;i++)
	{
		MEMSET(buffer,0,sizeof(buffer));
		MEMCPY(buffer,(AECHAR*)pData+i*FILENAME_LENGTH,sizeof(buffer));
		IMENUCTL_AddItem(pMe->pIMenuCtlList,RES_FILE,-1,i,buffer,i);
	}
	IMENUCTL_SetActive(pMe->pIMenuCtlList,TRUE);
	IMENUCTL_Redraw(pMe->pIMenuCtlList);
}
void ProcessRecvData(PicDownload *pMe)
{
	switch(pMe->m_RecvDataHead.dwCommandId)
	{
	case SET_FILE_LIST:
		{
			SetFileList(pMe,pMe->m_pbRecvData,pMe->m_RecvDataHead.dwSize);
			pMe->appState = enFileList;
		}
		break;
	case SET_FILE:
		{
			SetFileData(pMe,pMe->m_pbRecvBuffer,pMe->m_RecvDataHead.dwSize);
			pMe->appState = enView;
		}
		break;
	}
}
void UpdateScreen(PicDownload *pMe)
{
	switch(pMe->appState)
	{
	case enFileList:
		break;
	case enWait:
		{
			AEERect rect;
			AECHAR buffer[20]={0};
			rect.x = 0;
			rect.y= 0;
			rect.dx = pMe->DeviceInfo.cxScreen;
			rect.dy = pMe->DeviceInfo.cyScreen;
			IDISPLAY_FillRect(pMe->pIDisplay,&rect,MAKE_RGB(255,255,255));
			ISHELL_LoadResString(pMe->pIShell,RES_FILE,IDS_WAIT,buffer,sizeof(buffer));
			IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,buffer,-1,
				0,0,NULL,
				IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE);
		}
		break;
	case enError:
		{
			AEERect rect;
			AECHAR buffer[20]={0};
			rect.x = 0;
			rect.y= 0;
			rect.dx = pMe->DeviceInfo.cxScreen;
			rect.dy = pMe->DeviceInfo.cyScreen;
			IDISPLAY_FillRect(pMe->pIDisplay,&rect,MAKE_RGB(255,255,255));
			ISHELL_LoadResString(pMe->pIShell,RES_FILE,pMe->m_nErrorId,buffer,sizeof(buffer));
			IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,buffer,-1,
				0,0,NULL,
				IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE);
		}
		break;
	case enView:
	case enView2:
		IIMAGE_Draw(pMe->m_pIImage,0,0);
		break;
	}
	IDISPLAY_Update(pMe->pIDisplay);
}
static void PicDownload_MainLoop(PicDownload *pMe)
{
	ISHELL_SetTimerEx(pMe->pIShell,80,&pMe->cbMainTimer);
	NetworkProcess(pMe);
	UpdateScreen(pMe);

}
boolean PicDownload_InitAppData(PicDownload* pMe)
{
	pMe->DeviceInfo.wStructSize = sizeof(pMe->DeviceInfo);
	ISHELL_GetDeviceInfo(pMe->a.m_pIShell,&pMe->DeviceInfo);
	pMe->pIDisplay = pMe->a.m_pIDisplay;
	pMe->pIShell   = pMe->a.m_pIShell;
	PicDownload_InitMainMenu(pMe);
	pMe->m_nNetState = -1;
	CALLBACK_Init(&pMe->cbMainTimer,PicDownload_MainLoop,pMe);
	return TRUE;
}
void PicDownload_InitMainMenu(PicDownload* pMe)
{
	AEERect rect;
	ISHELL_CreateInstance(pMe->pIShell,AEECLSID_MENUCTL,(void**)&pMe->pIMenuCtlMain);

	rect.x = 0;
	rect.y = 0;
	rect.dx = pMe->DeviceInfo.cxScreen;
	rect.dy = pMe->DeviceInfo.cyScreen;
	IMENUCTL_SetRect(pMe->pIMenuCtlMain,&rect);
	IMENUCTL_SetTitle(pMe->pIMenuCtlMain,RES_FILE,IDS_MAINMENU_TITLE,NULL);
	IMENUCTL_AddItem(pMe->pIMenuCtlMain,RES_FILE,IDS_MAINMENU_DOWNLOAD,IDS_MAINMENU_DOWNLOAD,NULL,IDS_MAINMENU_DOWNLOAD);
	IMENUCTL_AddItem(pMe->pIMenuCtlMain,RES_FILE,IDS_MAINMENU_VIEW,IDS_MAINMENU_VIEW,NULL,IDS_MAINMENU_VIEW);
	IMENUCTL_AddItem(pMe->pIMenuCtlMain,RES_FILE,IDS_MAINMENU_EXIT,IDS_MAINMENU_EXIT,NULL,IDS_MAINMENU_EXIT);
	IMENUCTL_EnableCommand(pMe->pIMenuCtlMain,TRUE);

	ISHELL_CreateInstance(pMe->pIShell,AEECLSID_MENUCTL,(void**)&pMe->pIMenuCtlList);
	IMENUCTL_SetRect(pMe->pIMenuCtlList,&rect);
	IMENUCTL_SetTitle(pMe->pIMenuCtlList,RES_FILE,IDS_LIST_TITLE,NULL);
	IMENUCTL_EnableCommand(pMe->pIMenuCtlList,TRUE);

}
void PicDownload_FreeAppData(PicDownload* pMe)
{
	if(pMe->pIMenuCtlMain)
	{
		IMENUCTL_Release(pMe->pIMenuCtlMain);
		pMe->pIMenuCtlMain = NULL;
	}
	if(pMe->pIMenuCtlList)
	{
			IMENUCTL_Release(pMe->pIMenuCtlList);
		pMe->pIMenuCtlList = NULL;
	}
	if(pMe->m_pbRecvBuffer)
	{
		FREE(pMe->m_pbRecvBuffer);
		pMe->m_pbRecvBuffer = NULL;
	}
	if(pMe->pSocket)
	{
		ISOCKET_Cancel(pMe->pSocket,NULL,NULL);
		ISOCKET_Release(pMe->pSocket);
		pMe->pSocket = NULL;
	}
	if(pMe->pNetMgr)
	{
		INETMGR_Release(pMe->pNetMgr);
		pMe->pNetMgr = NULL;
	}
	if(pMe->m_pIImage)
	{
		IIMAGE_Release(pMe->m_pIImage);
		pMe->m_pIImage = NULL;
	}
}

void PicDownload_ChangeState(PicDownload *pMe)
{
}
boolean PicDownload_MainMenuHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_COMMAND:
		{
			switch(wParam)
			{

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产裸体歌舞团一区二区| 91麻豆精品国产91久久久使用方法| 国产伦精品一区二区三区在线观看| 手机精品视频在线观看| 三级在线观看一区二区| 日韩中文字幕av电影| 日韩黄色片在线观看| 午夜精品一区二区三区免费视频 | 不卡欧美aaaaa| 国产91在线|亚洲| 粉嫩欧美一区二区三区高清影视| 丰满岳乱妇一区二区三区| 东方aⅴ免费观看久久av| 国产·精品毛片| 成人不卡免费av| 91一区二区三区在线播放| 一本一本大道香蕉久在线精品| 在线亚洲人成电影网站色www| 91福利在线免费观看| 欧美日韩国产综合视频在线观看 | 欧美系列在线观看| 欧美亚洲国产一卡| 欧美一区二区三区四区五区| 日韩欧美你懂的| 国产日产欧美一区| 亚洲男同1069视频| 日韩综合小视频| 激情国产一区二区| 91亚洲精品久久久蜜桃| 欧美午夜精品理论片a级按摩| 欧美久久久久久久久久| 精品国产污网站| 中文字幕免费不卡在线| 一区二区三区在线影院| 日本v片在线高清不卡在线观看| 国内外成人在线| jlzzjlzz欧美大全| 欧美日本在线一区| 2021中文字幕一区亚洲| 亚洲理论在线观看| 久久国产免费看| 成人av在线影院| 欧美剧情片在线观看| 国产欧美一区二区精品久导航 | 午夜激情久久久| 激情深爱一区二区| 91影视在线播放| 欧美刺激午夜性久久久久久久| 国产精品久久久久一区| 偷拍亚洲欧洲综合| 成人免费毛片片v| 7777精品伊人久久久大香线蕉| 久久久一区二区三区捆绑**| 一区二区三区91| 国产精品一区在线| 欧美丰满一区二区免费视频| 国产日本欧洲亚洲| 丝袜亚洲另类丝袜在线| www.av亚洲| 欧美一二三四区在线| 亚洲欧洲成人av每日更新| 六月丁香婷婷久久| 日本精品一级二级| 久久男人中文字幕资源站| 亚洲精品高清视频在线观看| 国产一区二区三区四区在线观看 | 亚洲一区av在线| 国产成人亚洲综合a∨婷婷图片| 欧美视频在线观看一区| 欧美激情一区三区| 蜜臀av性久久久久蜜臀aⅴ| 色欧美片视频在线观看 | 青青国产91久久久久久| 日本精品裸体写真集在线观看 | 国产福利一区二区三区视频在线| 欧美精品一二三| 一级中文字幕一区二区| 成人黄色小视频| 久久久99久久精品欧美| 日韩福利电影在线观看| 色偷偷久久一区二区三区| 国产精品久久久久久久久免费樱桃| 精品在线视频一区| 91麻豆精品国产91久久久久| 亚洲色图视频网| 成人听书哪个软件好| 久久众筹精品私拍模特| 男人的天堂久久精品| 欧美日韩午夜精品| 亚洲网友自拍偷拍| 在线免费视频一区二区| 伊人开心综合网| 色婷婷精品大在线视频| 亚洲色图一区二区三区| 99久免费精品视频在线观看 | 天天综合日日夜夜精品| 欧美色视频一区| 夜夜嗨av一区二区三区| 色综合一区二区三区| 亚洲免费在线视频| 色先锋aa成人| 亚洲一区二区三区美女| 欧美日韩午夜影院| 手机精品视频在线观看| 91精品在线观看入口| 日本亚洲三级在线| 欧美一卡二卡三卡| 久久精品久久99精品久久| 欧美电视剧免费观看| 国产专区欧美精品| 久久久精品免费免费| 丁香亚洲综合激情啪啪综合| 欧美激情中文不卡| 91小视频在线观看| 一区二区三区在线播放| 欧美日韩日日夜夜| 日本 国产 欧美色综合| 26uuu亚洲婷婷狠狠天堂| 国内外精品视频| 国产精品你懂的| 91黄色免费观看| 亚洲成精国产精品女| 欧美一区二区三区爱爱| 国产一区免费电影| 亚洲视频一二三区| 欧美日韩精品一区二区天天拍小说| 日韩av高清在线观看| 日韩三级视频在线看| 国产成人综合亚洲网站| 国产精品国产自产拍高清av| 在线观看精品一区| 日韩精品欧美精品| 久久久不卡影院| 色天天综合色天天久久| 日本美女视频一区二区| 国产目拍亚洲精品99久久精品| 99re免费视频精品全部| 天使萌一区二区三区免费观看| 精品久久国产字幕高潮| 99热精品一区二区| 日本在线播放一区二区三区| 久久精品在线免费观看| 欧美最猛黑人xxxxx猛交| 日韩高清在线不卡| 国产日本亚洲高清| 欧美日韩精品一区二区三区蜜桃| 国产一区二区网址| 一区二区三区 在线观看视频 | 同产精品九九九| www激情久久| 91日韩精品一区| 蜜桃一区二区三区四区| 国产精品免费视频观看| 欧美精品久久99| 成人午夜免费av| 日韩电影一区二区三区四区| 日本一区免费视频| 5566中文字幕一区二区电影| 成人一级片在线观看| 午夜视黄欧洲亚洲| 国产精品成人在线观看| 91精品国产色综合久久不卡蜜臀 | aaa亚洲精品一二三区| 视频一区中文字幕国产| 日本一区二区电影| 91精品国产综合久久精品麻豆| 99精品国产热久久91蜜凸| 日本免费在线视频不卡一不卡二| 国产精品久久久久久久久免费丝袜 | 国产精品成人免费在线| 日韩欧美国产高清| 91欧美一区二区| 国产精品1区2区3区在线观看| 亚洲国产精品久久人人爱| 中文字幕乱码日本亚洲一区二区| 91精品国产高清一区二区三区 | 国产精品国产精品国产专区不片 | 日韩国产欧美三级| 亚洲精品国产无天堂网2021 | 成人自拍视频在线| 久久爱www久久做| 三级久久三级久久久| 一区二区免费看| 亚洲天堂久久久久久久| 中文字幕国产一区| 2017欧美狠狠色| 欧美一区日韩一区| 欧美日韩午夜影院| 日本韩国精品在线| 99久久精品免费看国产| 国产成人8x视频一区二区| 久久99精品国产麻豆婷婷洗澡| 天天综合日日夜夜精品| 亚洲高清免费视频| 亚洲一区二区三区视频在线播放| 亚洲女子a中天字幕| 亚洲日本在线看| 中文字幕一区二区三区视频| 国产欧美精品一区二区色综合 | 亚洲猫色日本管|