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

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

?? picdownload.c

?? brew的編程例子 很不錯
?? C
?? 第 1 頁 / 共 2 頁
字號:
#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)
			{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲成av人在线观看| 日本二三区不卡| 99精品欧美一区二区三区综合在线| 欧美亚洲国产bt| 国产日本亚洲高清| 三级久久三级久久| 一本一本久久a久久精品综合麻豆| 精品久久久久久久一区二区蜜臀| 亚洲另类中文字| 国产69精品久久久久毛片| 91精品国产一区二区人妖| ㊣最新国产の精品bt伙计久久| 六月丁香综合在线视频| 欧美私模裸体表演在线观看| 国产精品家庭影院| 国产一区二区在线视频| 欧美一二三区在线观看| 亚洲成人一区在线| 欧美专区在线观看一区| 亚洲天堂久久久久久久| 成人教育av在线| 国产人成亚洲第一网站在线播放| 久久精品久久久精品美女| 91精品国产91综合久久蜜臀| 香蕉久久一区二区不卡无毒影院| 91丝袜美腿高跟国产极品老师 | 精品国产乱码久久久久久老虎| 亚洲精品国久久99热| 91亚洲男人天堂| 中文字幕制服丝袜成人av| 国产成人av一区二区三区在线| 精品成人在线观看| 国产一区二区三区最好精华液| 精品久久久久久亚洲综合网| 老司机免费视频一区二区| 日韩免费福利电影在线观看| 免费人成网站在线观看欧美高清| 日韩午夜激情电影| 激情偷乱视频一区二区三区| 26uuu亚洲| 国产a视频精品免费观看| 国产精品欧美久久久久无广告| 成人app在线| 亚洲自拍偷拍麻豆| 欧美精品视频www在线观看| 男女男精品视频| 精品国产乱码久久久久久老虎| 国产成人精品三级| 一区精品在线播放| 欧美性极品少妇| 日韩av电影一区| 国产日产精品一区| 色综合激情久久| 日韩有码一区二区三区| 精品国产电影一区二区| 成人av免费网站| 一区二区三区波多野结衣在线观看| 欧美日韩大陆一区二区| 韩国三级在线一区| 精品国产1区2区3区| 成人av午夜电影| 亚洲电影视频在线| 精品日韩一区二区三区 | 亚洲午夜视频在线| 91精品国产色综合久久久蜜香臀| 久久精品国产亚洲高清剧情介绍 | 国产在线麻豆精品观看| 国产精品福利在线播放| 欧美色男人天堂| 狠狠狠色丁香婷婷综合激情 | 欧美成人精品二区三区99精品| 国产精品自拍三区| 亚洲一区影音先锋| 精品国产凹凸成av人导航| 91麻豆swag| 激情综合色丁香一区二区| 综合av第一页| 日韩精品中文字幕在线不卡尤物| 不卡一区在线观看| 奇米777欧美一区二区| 日韩美女久久久| 欧美大片一区二区| 在线视频中文字幕一区二区| 国产在线精品免费| 午夜私人影院久久久久| 中文字幕视频一区| www久久久久| 欧美久久久一区| 一本色道综合亚洲| 成人免费视频网站在线观看| 日韩av一二三| 亚洲成人av电影| 中文字幕亚洲综合久久菠萝蜜| 日韩午夜在线影院| 欧美午夜电影网| av一区二区三区在线| 国产剧情一区在线| 奇米888四色在线精品| 一区二区三区日韩欧美| 亚洲国产精品v| 久久久一区二区三区捆绑**| 91精品国产综合久久蜜臀| 欧美在线免费视屏| 91在线精品一区二区三区| 国产精品一卡二卡| 久久成人免费日本黄色| 日韩成人免费看| 午夜激情久久久| 五月激情综合网| 亚洲va天堂va国产va久| 亚洲一区二区视频| 亚洲高清在线精品| 亚洲一区二区三区三| 亚洲综合激情另类小说区| 亚洲靠逼com| 一区二区三区在线免费播放 | 天堂久久久久va久久久久| 一二三区精品福利视频| 《视频一区视频二区| 亚洲视频1区2区| 国产精品久线在线观看| 国产精品美女一区二区| 国产精品国产三级国产aⅴ原创| 日本一区二区成人| 亚洲国产色一区| 午夜激情久久久| 日韩av中文字幕一区二区三区| 日韩黄色免费网站| 乱一区二区av| 国产成人在线免费观看| 99久久婷婷国产综合精品| 色诱视频网站一区| 7799精品视频| 亚洲精品一区二区三区福利| 国产欧美一二三区| 亚洲卡通动漫在线| 日韩精品视频网站| 国产精品一区二区久激情瑜伽| caoporn国产精品| 色婷婷av一区| 日韩网站在线看片你懂的| 精品国产1区二区| 中文字幕中文在线不卡住| 亚洲国产视频一区| 国产九色sp调教91| 日本韩国欧美国产| 日韩欧美一级片| 亚洲日本va午夜在线影院| 亚洲第一成年网| 国产黄色精品网站| 在线观看区一区二| 久久亚洲精品国产精品紫薇| 中文字幕亚洲综合久久菠萝蜜| 天天影视涩香欲综合网| 国内国产精品久久| 在线观看亚洲精品视频| 26uuuu精品一区二区| 亚洲欧美区自拍先锋| 蜜臀99久久精品久久久久久软件| 国产又黄又大久久| 欧美亚洲一区二区在线观看| 精品久久久三级丝袜| 亚洲精品乱码久久久久久日本蜜臀| 五月天婷婷综合| av电影在线观看不卡| 欧美一级日韩一级| 亚洲精品免费一二三区| 国产中文字幕一区| 欧美美女视频在线观看| 国产精品热久久久久夜色精品三区| 日韩国产在线观看一区| 91蝌蚪porny成人天涯| 日韩免费视频一区| 亚洲高清视频的网址| 成人av网站免费| 欧美成人伊人久久综合网| 看电影不卡的网站| 欧美做爰猛烈大尺度电影无法无天| 337p粉嫩大胆噜噜噜噜噜91av| 午夜影院在线观看欧美| 99久久精品免费| 国产人久久人人人人爽| 精品一区二区国语对白| 欧美日本不卡视频| 亚洲欧洲日产国码二区| 国产福利一区二区三区视频在线| 欧美一区二区三区在线观看| 一区二区欧美精品| 91色|porny| 中文字幕一区在线观看| 成人小视频免费在线观看| 久久久久99精品国产片| 激情久久五月天| 日韩欧美123| 久久国产福利国产秒拍| 日韩精品一区在线| 久久91精品国产91久久小草| 日韩美一区二区三区| 免费观看91视频大全| 欧美电影免费观看高清完整版在|