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

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

?? picdownload.c

?? 對學(xué)習(xí)Brew的幫助比較大
?? C
?? 第 1 頁 / 共 2 頁
字號:
			case IDS_MAINMENU_DOWNLOAD:
				IMENUCTL_SetActive(pMe->pIMenuCtlMain,FALSE);
				PicDownload_InitNetwork(pMe);
				pMe->appState = enWait;
				return TRUE;
			case IDS_MAINMENU_VIEW:
				IMENUCTL_SetActive(pMe->pIMenuCtlMain,FALSE);
				{
					IFileMgr *pIFileMgr;
					FileInfo fileInfo;
					AECHAR buffer[16]={0};
					int i = 0;
					ISHELL_CreateInstance(pMe->pIShell,AEECLSID_FILEMGR,(void**)&pIFileMgr);
					IFILEMGR_EnumInit(pIFileMgr,"*.png",FALSE);
					IMENUCTL_DeleteAll(pMe->pIMenuCtlList);
					while(IFILEMGR_EnumNext(pIFileMgr,&fileInfo))
					{
						MEMSET(buffer,0,sizeof(buffer));
						STRTOWSTR(fileInfo.szName,buffer,sizeof(buffer));
						IMENUCTL_AddItem(pMe->pIMenuCtlList,RES_FILE,-1,i,buffer,i);
						i++;
					}
					IFILEMGR_Release(pIFileMgr);
					IMENUCTL_SetActive(pMe->pIMenuCtlList,TRUE);
					pMe->appState = enFileView;
				}
				return TRUE;
			case IDS_MAINMENU_EXIT:
				ISHELL_CloseApplet(pMe->pIShell,FALSE);
				return TRUE;
			}
		}
		break;
	default:
		if(IMENUCTL_HandleEvent(pMe->pIMenuCtlMain,eCode,wParam,dwParam))
		{
			return TRUE;
		}
		else
		{
			if(eCode==EVT_KEY&&wParam==AVK_CLR)
			{
				return FALSE;
			}
		}
	}
	return FALSE;
}

void PicDownload_InitNetwork(PicDownload *pMe)
{
	ISHELL_CreateInstance(pMe->pIShell, AEECLSID_NET, (void **)&pMe->pNetMgr);
	INETMGR_SetLinger(pMe->pNetMgr,100);
	pMe->pSocket = INETMGR_OpenSocket(pMe->pNetMgr, AEE_SOCK_STREAM);
	CALLBACK_Init(&pMe->cbConnect,GetHostByName,pMe);
	pMe->m_nSendSize = 0;
	pMe->m_nRecvSize = 0;
	pMe->m_bRecvBuf = FALSE;
	pMe->m_bHasSend = FALSE;
	pMe->m_nNetState = -1;
	pMe->m_bIsReadBuf = FALSE;
	SetTimeOut(pMe,30);
	pMe->m_iPort = 2050;
	INETMGR_GetHostByName(pMe->pNetMgr, &pMe->m_DNSRes, "127.0.0.1", &pMe->cbConnect);
}
static void GetHostByName(PicDownload *pMe)
{
	switch(pMe->m_DNSRes.nResult)
	{
	case AEE_NET_BADDOMAIN:
	case AEE_NET_UNKDOMAIN: 
	case AEE_NET_ETIMEDOUT:
	case EUNSUPPORTED:
	case ENOMEMORY:
		//給出錯誤提示信息
		break;
	default:
		if(pMe->m_DNSRes.nResult > 0) // 成功解析
		{
			uint16 iPort;
			int nRes;
			iPort = HTONS(pMe->m_iPort);
			SetTimeOut(pMe,30);
			if((nRes = ISOCKET_Connect(pMe->pSocket, pMe->m_DNSRes.addrs[0], iPort, 
				(PFNCONNECTCB)CBConnect, (void *)pMe)) != AEE_NET_SUCCESS)
			{
				if (nRes != AEE_NET_WOULDBLOCK)
				{
					ErrorTip(pMe,IDS_ERROR_1);
				}
			}
		}
		else
		{
			ErrorTip(pMe,IDS_ERROR_1);
		}
		break;
	}
}

void SetTimeOut(PicDownload *pMe,int32 timeOut)
{
	ISHELL_CancelTimer(pMe->pIShell, (PFNNOTIFY)TimeOut, pMe);
	ISHELL_SetTimer(pMe->pIShell,timeOut*1000 , (PFNNOTIFY)TimeOut, pMe);
}
void CancelTimeOut(PicDownload *pMe)
{
	ISHELL_CancelTimer(pMe->pIShell, (PFNNOTIFY)TimeOut, pMe);
}
void TimeOut(PicDownload *pMe)
{
	ErrorTip(pMe,IDS_ERROR_TIMEOUT);
}

static void CBConnect(PicDownload *pMe,int nError)
{
	CancelTimeOut(pMe);
	if(ISOCKET_GetLastError(pMe->pSocket)!=AEE_NET_SUCCESS)
	{
		// 給出錯誤提示信息
		ErrorTip(pMe,IDS_ERROR_1);
		return;
	}
	//已經(jīng)連接
	pMe->m_nNetState = 0;
	pMe->m_SendDataHead.dwCommandId = GET_FILE_LIST;
	pMe->m_SendDataHead.dwSize = 0;
	Send(pMe,&pMe->m_SendDataHead,sizeof(pMe->m_SendDataHead));
	Recv(pMe,&pMe->m_RecvDataHead,sizeof(pMe->m_RecvDataHead));
	pMe->m_bIsRecv = TRUE;
}
void ErrorTip(PicDownload *pMe,int16 errorId)
{
	pMe->appState = enError;
	pMe->m_nErrorId = errorId;
}


static void CBSend(PicDownload *pMe)
{
	SendData(pMe,pMe->m_pbSendData + pMe->m_nSendSize,pMe->m_nSendNum - pMe->m_nSendSize);
}

static void CBRecv(PicDownload *pMe)
{
	RecvData(pMe,pMe->m_pbRecvData+pMe->m_nRecvSize,pMe->m_nRecvNum-pMe->m_nRecvSize);
}

void SendData(PicDownload *pMe,byte *pbData,int32 nSendSize)
{
	int32 nResult;
	while(nSendSize > 0) 
	{
		SetTimeOut(pMe,30);
		nResult = ISOCKET_Write(pMe->pSocket,pbData, (uint16)nSendSize);
		if(nResult == AEE_NET_WOULDBLOCK) 
		{
			SetTimeOut(pMe,30);
			ISOCKET_Writeable(pMe->pSocket, (PFNNOTIFY)CBSend, (void *)pMe);
			return;
		}
		else if(nResult == AEE_NET_ERROR) 
		{
			ErrorTip(pMe,IDS_ERROR_1);
			return;
		}
		pMe->m_nSendSize += nResult;
		nSendSize -= nResult;
		pbData += nResult;
	}
	if(nSendSize == 0) 
	{
		pMe->m_nSendSize = 0;
		pMe->m_bHasSend = TRUE;
	}
	CancelTimeOut(pMe);
}

void RecvData(PicDownload *pMe,byte *pbData,int32 nRecvSize)
{
	int nResult;
	while(nRecvSize > 0)
	{
		SetTimeOut(pMe,30);
		nResult = ISOCKET_Read(pMe->pSocket, pbData, nRecvSize);
		if(nResult == AEE_NET_WOULDBLOCK)
		{
			SetTimeOut(pMe,30);
			ISOCKET_Readable(pMe->pSocket, (PFNNOTIFY)CBRecv, (void*)pMe); 
			return;
		}
		else if(nResult == AEE_NET_ERROR) 
		{
			ErrorTip(pMe,IDS_ERROR_1);
			return;
		}
		else if(nResult > 0)
		{
			pMe->m_nRecvSize += nResult;
			nRecvSize -= nResult;
			pbData += nResult;
		}
		else
		{
			ErrorTip(pMe,IDS_ERROR_1);
			return;
		}
	}
	if(nRecvSize == 0)
	{
		pMe->m_nRecvSize = 0;
		pMe->m_bRecvBuf = TRUE;
	}
	CancelTimeOut(pMe);
}
void Send(PicDownload *pMe,void *pData,int32 iSize)
{
	if(!pMe->pSocket)
	{
		return;
	}
	pMe->m_pbSendData = (byte*)pData;
	pMe->m_nSendNum = iSize;
	pMe->m_bHasSend = FALSE;
	ISOCKET_Cancel(pMe->pSocket, (PFNNOTIFY)CBSend, (void *)pMe);
	SendData(pMe,pMe->m_pbSendData,iSize);
}

void Recv(PicDownload *pMe,void *pData,int32 iSize)
{
	if(!pMe->pSocket)
	{
		return;
	}
	pMe->m_pbRecvData = (byte*)pData;
	pMe->m_nRecvNum = iSize;
	pMe->m_bRecvBuf = FALSE;
	ISOCKET_Cancel(pMe->pSocket, (PFNNOTIFY)CBRecv, (void *)pMe);
	RecvData(pMe,pMe->m_pbRecvData,iSize);
}
boolean PicDownload_FileListHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_COMMAND:
		{
			pMe->m_nItemId = IMENUCTL_GetSel(pMe->pIMenuCtlList);
			IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
			{
				pMe->m_nSendBufferSize = 0;
				pMe->m_SendDataHead.dwCommandId = GET_FILE;
				pMe->m_SendDataHead.dwSize = sizeof(pMe->m_nItemId);
				MEMCPY(pMe->m_bSendBuffer,&pMe->m_SendDataHead,sizeof(pMe->m_SendDataHead));
				pMe->m_nSendBufferSize += sizeof(pMe->m_SendDataHead);
				MEMCPY(pMe->m_bSendBuffer+pMe->m_nSendBufferSize,&pMe->m_nItemId,sizeof(pMe->m_nItemId));
				pMe->m_nSendBufferSize += sizeof(pMe->m_nItemId);
				Send(pMe,pMe->m_bSendBuffer,pMe->m_nSendBufferSize);
				pMe->m_bIsRecv = TRUE;
				Recv(pMe,&pMe->m_RecvDataHead,sizeof(pMe->m_RecvDataHead));
				pMe->appState = enWait;
			}
			return TRUE;
		}
		break;
	default:
		if(IMENUCTL_HandleEvent(pMe->pIMenuCtlList,eCode,wParam,dwParam))
		{
			return TRUE;
		}
		else
		{
			if(eCode==EVT_KEY&&wParam==AVK_CLR)
			{
				return FALSE;
			}
		}
	}
	return FALSE;
}

void SetFileData(PicDownload *pMe,byte *pData,int size)
{
	byte *pBuffer = (byte*)MALLOC(size);
	IMemAStream *pIStream;
	if(pBuffer==NULL)
	{
		//這個地方應(yīng)該報錯
	}
	MEMCPY(pBuffer,pData,size);
	ISHELL_CreateInstance(pMe->pIShell, AEECLSID_MEMASTREAM, (void **)&pIStream);
	IMEMASTREAM_Set(pIStream,pBuffer,size,0,FALSE);
	if(pMe->m_pIImage)
	{
		IIMAGE_Release(pMe->m_pIImage);
	}
	ISHELL_CreateInstance(pMe->pIShell, AEECLSID_PNG, (void **)&pMe->m_pIImage);
	IIMAGE_SetStream(pMe->m_pIImage,(IAStream*)pIStream);
	pMe->m_nFileSize = size;
	IMEMASTREAM_Release(pIStream);
}
boolean PicDownload_ViewHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_KEY:
		switch(wParam)
		{
		case AVK_CLR:
			{
				pMe->appState = enFileList;
				IMENUCTL_SetActive(pMe->pIMenuCtlList,TRUE);
				return TRUE;
			}
			break;
		case AVK_1:
			{
				IFileMgr *pIFileMgr;
				IFile *pIFile;
				CtlAddItem item;
				char buffer[20]={0};
				char buffer2[20] = {0};
				ISHELL_CreateInstance(pMe->pIShell,AEECLSID_FILEMGR,(void**)&pIFileMgr);
				IMENUCTL_GetItem(pMe->pIMenuCtlList,pMe->m_nItemId,&item);
				WSTRTOSTR(item.pText,buffer,sizeof(buffer));
				SPRINTF(buffer2,"%s.png",buffer);
				pIFile = IFILEMGR_OpenFile(pIFileMgr,buffer2,_OFM_CREATE);
				IFILE_Write(pIFile,pMe->m_pbRecvBuffer,pMe->m_nFileSize);
				IFILE_Release(pIFile);
				IFILEMGR_Release(pIFileMgr);
				return TRUE;
			}
			break;
		}
		break;
	}
	return FALSE;
}
boolean PicDownload_FileViewHandleEvent(PicDownload *pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_COMMAND:
		{
			pMe->m_nItemId = IMENUCTL_GetSel(pMe->pIMenuCtlList);
			IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
			{
				CtlAddItem item;
				char buffer[20]={0};
				IMENUCTL_GetItem(pMe->pIMenuCtlList,pMe->m_nItemId,&item);
				WSTRTOSTR(item.pText,buffer,sizeof(buffer));
				if(pMe->m_pIImage)
				{
					IIMAGE_Release(pMe->m_pIImage);
				}
				pMe->m_pIImage = ISHELL_LoadImage(pMe->pIShell,buffer);
				pMe->appState = enView2;
			}
			return TRUE;
		}
		break;
	default:
		if(IMENUCTL_HandleEvent(pMe->pIMenuCtlList,eCode,wParam,dwParam))
		{
			return TRUE;
		}
		else
		{
			if(eCode==EVT_KEY&&wParam==AVK_CLR)
			{
				IMENUCTL_SetActive(pMe->pIMenuCtlList,FALSE);
				IMENUCTL_SetActive(pMe->pIMenuCtlMain,TRUE);
				pMe->appState = enMainMenu;
				return TRUE;
			}
		}
	}
	return FALSE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩综合小视频| 91高清在线观看| 日本高清成人免费播放| 欧美成人福利视频| 一区二区不卡在线播放 | 精品国内片67194| 一区二区三区加勒比av| 成人综合在线观看| 日韩欧美国产午夜精品| 亚洲国产日韩一区二区| 不卡的看片网站| 国产午夜精品在线观看| 久久精品久久综合| 91精品欧美一区二区三区综合在| 亚洲欧美日韩电影| 成人久久视频在线观看| 欧美精品一区二区不卡| 日韩电影在线观看电影| 欧美性xxxxxxxx| 一区二区三区不卡视频在线观看| 成人久久视频在线观看| 国产女主播视频一区二区| 精品夜夜嗨av一区二区三区| 欧美一区三区二区| 奇米影视一区二区三区小说| 欧美精品少妇一区二区三区| 亚洲国产日日夜夜| 欧美日韩精品一区二区三区蜜桃| 亚洲一区二区三区四区在线| 色菇凉天天综合网| 亚洲国产精品一区二区久久恐怖片 | 日韩免费一区二区三区在线播放| 午夜视频在线观看一区| 在线免费观看成人短视频| 一区二区三区欧美亚洲| 欧美中文字幕一区二区三区| 一区二区三区小说| 欧美老肥妇做.爰bbww| 婷婷成人综合网| 欧美成人乱码一区二区三区| 九九热在线视频观看这里只有精品| 欧美一区二区日韩一区二区| 免费观看在线综合色| 精品卡一卡二卡三卡四在线| 国产米奇在线777精品观看| ww亚洲ww在线观看国产| 国产99一区视频免费 | youjizz国产精品| 亚洲三级电影全部在线观看高清| 91看片淫黄大片一级在线观看| 一区二区三区四区五区视频在线观看| 欧美三级在线播放| 久久精品国产澳门| 中文字幕精品一区二区精品绿巨人| av福利精品导航| 香蕉影视欧美成人| 久久综合成人精品亚洲另类欧美| 成人美女视频在线观看| 亚洲自拍都市欧美小说| 欧美一区二区三区的| 成人性生交大片免费| 一区二区三区精品在线观看| 日韩亚洲欧美一区| 成人性生交大片免费看在线播放| 一区二区三区 在线观看视频| 91精品国产色综合久久不卡蜜臀| 国产成人精品综合在线观看| 亚洲精品一卡二卡| 精品国产在天天线2019| 91麻豆福利精品推荐| 精品亚洲免费视频| 亚洲综合色在线| 久久精品一区四区| 欧美日韩国产小视频在线观看| 狠狠网亚洲精品| 午夜精品久久久久久久| 国产欧美日韩在线视频| 欧美精品精品一区| 99re66热这里只有精品3直播| 日韩电影在线免费| 亚洲精品午夜久久久| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 99精品视频中文字幕| 久久国产精品色婷婷| 亚洲尤物在线视频观看| 国产色综合久久| 日韩精品在线看片z| 在线一区二区三区做爰视频网站| 国内精品久久久久影院一蜜桃| 亚洲女与黑人做爰| 国产欧美日韩三区| 欧美精品一区二区三区很污很色的 | 欧美xingq一区二区| 欧美三级日韩在线| 色综合久久88色综合天天| 国产精品中文字幕日韩精品| 毛片基地黄久久久久久天堂| 亚洲综合男人的天堂| 最好看的中文字幕久久| 国产欧美一二三区| 久久婷婷成人综合色| 亚洲精品一区二区三区香蕉| 日韩一卡二卡三卡| 91麻豆精品国产91久久久| 在线观看日韩国产| 欧美综合在线视频| 欧美色老头old∨ideo| 色婷婷久久综合| 欧美中文字幕一区| 在线免费观看日本一区| 在线观看视频一区| 欧美日韩一区二区三区视频| 在线日韩国产精品| 欧美在线观看18| 欧美亚洲一区二区在线| 欧美体内she精高潮| 欧洲一区二区三区在线| 欧美色图天堂网| 91精品国产品国语在线不卡| 欧美理论片在线| 精品久久久久久无| 国产欧美一区二区三区网站| 国产精品三级视频| 亚洲人被黑人高潮完整版| 一区二区三区视频在线看| 偷拍日韩校园综合在线| 美女在线视频一区| 国产成人自拍在线| 99在线热播精品免费| 欧美在线免费观看亚洲| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲精品在线观| 国产精品久久久久三级| 亚洲码国产岛国毛片在线| 午夜电影网亚洲视频| 蜜臀精品一区二区三区在线观看| 国产在线观看一区二区| 成人黄色小视频在线观看| 欧美亚洲国产一区二区三区 | 欧美精品在线一区二区三区| 91精品国产综合久久小美女| 久久久激情视频| 一区二区高清视频在线观看| 奇米色一区二区| 成人精品视频.| 欧美视频一区二区三区在线观看| 91精品国产综合久久久久久久 | 久久蜜桃av一区二区天堂| 国产精品成人一区二区艾草| 亚洲va欧美va国产va天堂影院| 日本va欧美va精品发布| 不卡大黄网站免费看| 67194成人在线观看| 国产女人aaa级久久久级 | 欧美大片拔萝卜| 亚洲欧美怡红院| 免费不卡在线观看| 91麻豆国产香蕉久久精品| 精品日本一线二线三线不卡| 一区在线播放视频| 美女mm1313爽爽久久久蜜臀| 91美女片黄在线观看| 精品99一区二区三区| 一区二区免费在线| 成人午夜视频免费看| 欧美精品粉嫩高潮一区二区| 国产精品女同互慰在线看| 琪琪久久久久日韩精品| 色综合视频一区二区三区高清| 久久婷婷国产综合精品青草| 日韩精品一级二级 | 精品国产伦一区二区三区观看体验 | 国产精品国产三级国产a| 毛片一区二区三区| 欧美午夜免费电影| 最新成人av在线| 成人在线综合网| www国产精品av| 日本va欧美va精品| 欧美日韩国产一级片| 一区二区三区免费网站| 成人精品鲁一区一区二区| 久久精品在线免费观看| 美女视频黄 久久| 欧美另类videos死尸| 亚洲一区二区精品视频| 91麻豆精品秘密| 亚洲图片你懂的| 99久久国产综合精品麻豆| 国产蜜臀97一区二区三区 | 中文字幕二三区不卡| 激情综合亚洲精品| 欧美本精品男人aⅴ天堂| 日韩精品一二三四| 欧美一区二区三区喷汁尤物| 亚洲成va人在线观看| 欧美偷拍一区二区| 亚洲第一电影网| 欧美一区二区三区色| 久久99久久久久久久久久久|