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

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

?? myiweb.step4

?? BREW程序:BREW手機(jī)上的Web訪問(wèn)程序
?? STEP4
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	}
	if(pMe->m_pIWeb)
	{
		IWEB_Release(pMe->m_pIWeb);
		pMe->m_pIWeb = NULL;
	}
	// end of lab 1
}
static void  myiweb_ShowMenu(myiweb* pMe)
{	
	CtlAddItem  ai;
	if (! pMe->m_pIMenu)
		ISHELL_CreateInstance(pMe->pIShell, AEECLSID_MENUCTL, (void **)&pMe->m_pIMenu) ;
	
	IMENUCTL_SetTitle(pMe->m_pIMenu,MYIWEB_RES_FILE,IDS_TITLE,NULL);

	ai.pText = NULL;
	ai.pImage = NULL;
	ai.pszResImage = MYIWEB_RES_FILE;
	ai.pszResText = MYIWEB_RES_FILE;
	ai.wFont = AEE_FONT_NORMAL;
	ai.dwData = NULL;
	
	ai.wText = IDS_WCONNECT;   
	ai.wImage = IDB_MENU;
	ai.wItemID = IDS_WCONNECT;
	
	
	// Add the item to the menu control
	if(IMENUCTL_AddItemEx(pMe->m_pIMenu, &ai )==FALSE)
	{
		IMENUCTL_Release(pMe->m_pIMenu);
		return;
	}
	
	ai.wText = IDS_FILE_MGR;
	ai.wItemID = IDS_FILE_MGR;
	
	// Add the item to the menu control
	IMENUCTL_AddItemEx( pMe->m_pIMenu, &ai );

	ai.wText = IDS_FAVOURITE;
	ai.wItemID = IDS_FAVOURITE;
	
	// Add the item to the menu control
	IMENUCTL_AddItemEx( pMe->m_pIMenu, &ai );

	ai.wText = IDS_ABOUT;
	ai.wItemID = IDS_ABOUT;
	
	// Add the item to the menu control
	IMENUCTL_AddItemEx( pMe->m_pIMenu, &ai );
	
	IMENUCTL_SetActive(pMe->m_pIMenu,TRUE);
	pMe->m_iAppStatus = 0;
}
// lab 2
static void	 myiweb_DisplayInfo(myiweb* pMe,AECHAR* pInfo)
{
		AEERect rct;
	
	if(!pMe->m_pIStatic)
		ISHELL_CreateInstance(pMe->pIShell, AEECLSID_STATIC, (void **)&pMe->m_pIStatic);
	SETAEERECT(&rct, 16, 16, pMe->DeviceInfo.cxScreen-32, pMe->DeviceInfo.cyScreen-32);
	ISTATIC_SetRect(pMe->m_pIStatic, &rct);
	ISTATIC_SetText(pMe->m_pIStatic, NULL,pInfo, AEE_FONT_BOLD, AEE_FONT_NORMAL);
	ISTATIC_Redraw(pMe->m_pIStatic);
}
// end of lab 2
//lab 1
static void myiwebhtml_NotifyCB( void* pvUser, HViewNotify* pNotify )
{
   myiweb* pMe = (myiweb*) pvUser;   

   switch( pNotify->code )
   {

   case HVN_REDRAW_SCREEN:
      IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);
      IHTMLVIEWER_Redraw(pMe->m_pHTMLViewer);
      break;

   case HVN_JUMP:
   case HVN_SUBMIT:
   // lab 4
	   STRCPY(pMe->targetUrl,TEST_HOST);
	   pMe->m_pszFileName = (char*)MALLOC(16);
	   FIND_STRING(pNotify->u.jump.pszURL, "PIC")
	   {
			STRCAT(pMe->targetUrl,pNotify->u.jump.pszURL+4);
			STRCPY(pMe->m_pszFileName,pNotify->u.jump.pszURL+4);
			pMe->m_iMediaType = 1;
	   }
	   FIND_STRING(pNotify->u.jump.pszURL, "MUSIC")
	   {
		   STRCAT(pMe->targetUrl,pNotify->u.jump.pszURL+6);
		   STRCPY(pMe->m_pszFileName,pNotify->u.jump.pszURL+6);
		   pMe->m_iMediaType = 2;
	   }
	   // end of lab 4
	 //  IHTMLVIEWER_SetNotifyFn(pMe->m_pHTMLViewer, NULL, pMe);
	 // lab 3
	   myiweb_Stop(pMe);
	   // end of lab 3
	   // lab 4
		myiweb_Start(pMe,pMe->targetUrl,1);
		// lab 4
      break;

   case HVN_DONE:
      IHTMLVIEWER_SetRect(pMe->m_pHTMLViewer, &pMe->m_rc);
      IHTMLVIEWER_Redraw( pMe->m_pHTMLViewer );
      break;

   }
}
// end of lab 1
//lab 1
static void myiweb_Start(myiweb *pMe, char *pszUrl,int iPage)
{
   ISourceUtil *pisu;
	pMe->m_iAppStatus = 1;
   // look to see if there's POST data, this is totally non-standard, but 
   // easy to put into tests
   pMe->pszPostData = STRCHR(pszUrl, 1);
   
   // if there's post data, construct a stream for IWeb to consume
   if ((char *)0 != pMe->pszPostData) 
   {
      *pMe->pszPostData = 0;
      if (SUCCESS == ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_SOURCEUTIL, (void **)&pisu)) 
	  {
         
         ISOURCEUTIL_PeekFromMemory(pisu, pMe->pszPostData + 1, 
                                    STRLEN(pMe->pszPostData + 1), 0, 0,
                                    &pMe->pipPostData);
         ISOURCEUTIL_Release(pisu);
      }
   }

   // initialize the callback, where I'll be called when the request
   // completes
   if(iPage == 0)
   {
	   CALLBACK_Cancel(&pMe->cb);
	   CALLBACK_Init(&pMe->cb, myiweb_GotResp, pMe);
   }// lab 4
   else if(iPage ==1)
   {
	   CALLBACK_Cancel(&pMe->cb);
	   CALLBACK_Init(&pMe->cb, myiweb_DownloadFile, pMe);
   }
   // end of lab 4

   // start transaction, pass callbacks for web status, web headers
   // the extra WEBOPT_HEADER is used to help test what's sent 
   // (snoop.sh above shows all the headers)
   if(!pMe->m_pIWeb)
	   ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_WEB, (void**)(&pMe->m_pIWeb));
   if ((IPeek *)0 != pMe->pipPostData) {
      IWEB_GetResponse(pMe->m_pIWeb,
                       (pMe->m_pIWeb, &pMe->piWResp, &pMe->cb, pszUrl, 
                        WEBOPT_HANDLERDATA, pMe,
                        WEBOPT_HEADER, "X-Method: POST\r\n", /* for kicks */
                        //lab 2
                        WEBOPT_HEADERHANDLER, myiweb_Header, 
                        WEBOPT_STATUSHANDLER, myiweb_Status, 
                        // end lab 2
                        WEBOPT_METHOD, "POST",
                        WEBOPT_BODY, pMe->pipPostData,
                        WEBOPT_CONTENTLENGTH, STRLEN(pMe->pszPostData + 1),
                        WEBOPT_END));
   } else {
      IWEB_GetResponse(pMe->m_pIWeb,
                       (pMe->m_pIWeb, &pMe->piWResp, &pMe->cb, pszUrl, 
                        WEBOPT_HANDLERDATA, pMe, 
                        WEBOPT_HEADER, "X-Method: GET \r\n",
                        //lab 2
                        WEBOPT_HEADERHANDLER, myiweb_Header, 
                        WEBOPT_STATUSHANDLER, myiweb_Status, 
                        //end of lab 2
                        WEBOPT_END));
   }
}
//end of lab 1
// lab 1
static void myiweb_GotResp(void *p)
{
	myiweb *pwa = (myiweb *)p;
	
	WebRespInfo *pwri;
	
	// get information about how the web transaction went
	// pwa->piWResp is ***NEVER NULL***, even though the transaction may fail
	// for wont of memory
	pwri = IWEBRESP_GetInfo(pwa->piWResp);
	
	//   ND_Print(pMe, "** got response...\n** info code: %d\n", pwri->nCode);
	
	// body may be NULL
	if ((ISource *)0 != pwri->pisMessage) 
	{
		IHTMLVIEWER_LoadSource(pwa->m_pHTMLViewer, pwri->pisMessage);
	}
	
}
// end of lab 1
/*===========================================================================

FUNCTION: myiweb_Header

DESCRIPTION:
   Received header callback for a web transaction. cpszName is NULL in the case 
   of continuation header line parts.

PARAMETERS:
   p: a myiweb (the subscriber)
   cpszName: the name of the web header (like "Content-Type")
   pglVal: the value of the header, like "text/html"

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
// lab 2
static void myiweb_Header(void *p, const char *cpszName, GetLine *pglVal)
{
   myiweb *pwa = (myiweb *)p;
  
  
 //  if (pMe->m_bRS) { // If response is to be displayed
      if ((char *)0 != cpszName) {
        // ND_Print(pMe, "%s:", cpszName);
      }
      //ND_Print(pMe, "%s\n", pglVal->psz);
  // }
}
// end of lab 2
/*===========================================================================

FUNCTION: myiweb_Status

DESCRIPTION:
   Web status callback for a Web transaction 

PARAMETERS:
   p: a myiweb (the subscriber)
   ws: type of status
   pVal: unused as of yet

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
// lab 2
static void myiweb_Status(void *p, WebStatus ws, void *pVal)
{
   AECHAR     szText[32];
   myiweb * pMe = (myiweb *)p;
   
   (void)pVal;

   switch (ws) {
   case WEBS_CANCELLED:
	  ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_CANCELLED, szText, sizeof(szText));
      break;
   case WEBS_GETHOSTBYNAME:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_GETHOSTBYNAME,szText, sizeof(szText));
      break;          
   case WEBS_CONNECT:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_CONNECT, szText, sizeof(szText));
      break;
   case WEBS_SENDREQUEST:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_SENDREQUEST, szText, sizeof(szText));
      break;
   case WEBS_READRESPONSE:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_READRESPONSE, szText, sizeof(szText));
      break;
   case WEBS_GOTREDIRECT:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_GOTREDIRECT, szText, sizeof(szText));
      break;
   case WEBS_CACHEHIT:
      ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_WEBS_CACHEHIT, szText, sizeof(szText));
      break;
   }

   // show that status!
   if ((AECHAR *)0 != szText) 
   {
      myiweb_DisplayInfo(pMe,szText);
   }
}
// end of lab 2
/*===========================================================================

FUNCTION: myiweb_Stop

DESCRIPTION:
   Halts a web transaction, wrapped/represented by a myiweb

PARAMETERS:
   pwa: the myiweb

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
// lab 3
static void myiweb_Stop(myiweb *pwa)
{
   // this cancels any pending web transaction, or readable on the 
   // response body.  if nothing is pending, this has no effect
   CALLBACK_Cancel(&pwa->cb);
   
   // then clean up, if necessary
   if ((char *)0 != pwa->pszPostData) {
      *pwa->pszPostData = 1; // write delimiter back in, if any
      pwa->pszPostData = 0;
   }
	if (pwa->piWResp)
	{
		IWEBRESP_Release(pwa->piWResp);
		pwa->piWResp= NULL;
	}

	if (pwa->m_pIWeb) 
	{
		IWEB_Release(pwa->m_pIWeb);
		pwa->m_pIWeb = NULL;
	}

	if (pwa->m_BodyBuffer)
	{
		FREE(pwa->m_BodyBuffer);
		pwa->m_BodyBuffer = NULL;
	}
	pwa->m_BodySize = 0;
	pwa->m_BodyAllocSize = 0;

}
// end of lab 3
// lab 4
static void myiweb_DownloadFile(void * p)
{
	myiweb *pMe = (myiweb *)p;
	
	WebRespInfo *pwri;
	char targetFile[24];
	byte buf[1024];
	int ByteCount;
	IFile * pFile;
	   
	   // get information about how the web transaction went
	   // pwa->piWResp is ***NEVER NULL***, even though the transaction may fail
	   // for wont of memory

	   pwri = IWEBRESP_GetInfo(pMe->piWResp);
	   
	   //   ND_Print(pMe, "** got response...\n** info code: %d\n", pwri->nCode);
	   if(WEB_ERROR_SUCCEEDED(pwri->nCode))
		   DBGPRINTF("request successful!");
	   else{
		   WEB_ERROR_MAP(pwri->nCode);
		   DBGPRINTF("request successful %i",pwri->nCode);
	   }
	   // body may be NULL
	   if ((ISource *)0 != pwri->pisMessage) 
	   {
		   ISource * pISource = pwri->pisMessage;
		   ByteCount =	ISOURCE_Read(pISource, (byte*)buf, sizeof(buf));

		   switch(ByteCount)
		   {
		   case ISOURCE_END:
			   if (pMe->m_BodySize < pMe->m_BodyAllocSize)
				   pMe->m_BodyBuffer[pMe->m_BodySize] = 0;
			   else
				   pMe->m_BodyBuffer[pMe->m_BodyAllocSize - 1] = 0;
			   
			   if(!pMe->m_pIFileMgr)
				   ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_FILEMGR, (void **)&pMe->m_pIFileMgr);
			   if(pMe->m_iMediaType == 1)
			   {
				   if (IFILEMGR_MkDir(pMe->m_pIFileMgr, "pic") != SUCCESS)
				   {	
					   IFILEMGR_Release(pMe->m_pIFileMgr);
					   pMe->m_pIFileMgr = NULL;
					   return;
				   }
				   STRCPY(targetFile,"pic\\");
			   }else if(pMe->m_iMediaType == 2)
			   {
				   if (IFILEMGR_MkDir(pMe->m_pIFileMgr, "music") != SUCCESS)
				   {	
					   IFILEMGR_Release(pMe->m_pIFileMgr);
					   pMe->m_pIFileMgr = NULL;
					   return;
				   }
				   STRCPY(targetFile,"music\\");
			   }
			   STRCAT(targetFile,pMe->m_pszFileName);
			   if(IFILEMGR_Test(pMe->m_pIFileMgr,targetFile)==SUCCESS)
				   IFILEMGR_Remove(pMe->m_pIFileMgr,targetFile);
			   pFile= IFILEMGR_OpenFile(pMe->m_pIFileMgr,targetFile,_OFM_CREATE);
			   IFILE_Write(pFile,(void*)pMe->m_BodyBuffer,pMe->m_BodyAllocSize);
			   IFILE_Release(pFile);
			   IFILEMGR_Release(pMe->m_pIFileMgr);
			   pMe->m_pIFileMgr = NULL;
			   
			   {
				   AECHAR szFile[64];
				   AECHAR szText[64];
				   STRTOWSTR(pMe->m_pszFileName,szFile,64);
				   ISHELL_LoadResString(pMe->a.m_pIShell, MYIWEB_RES_FILE, IDS_DOWNLOAD_OK, szText, sizeof(szText));
				   WSTRCAT(szFile,szText);
				   myiweb_DisplayInfo(pMe,szFile);
			   }
			   FREEIF(pMe->m_pszFileName);
			   break;
		   case ISOURCE_ERROR:
			   break;
		   case ISOURCE_WAIT:
			   ISOURCE_Readable(pISource, &pMe->cb);
			   break;
		   default:
			   
			   if (ByteCount)
			   {
				   if (pMe->m_BodySize + ByteCount > pMe->m_BodyAllocSize)
				   {
					   const int NewSize = pMe->m_BodyAllocSize + 1024;
					   byte* NewBuf = (byte*)REALLOC(pMe->m_BodyBuffer, NewSize);
					   
					   if (NewBuf)
					   {
						   pMe->m_BodyBuffer = NewBuf;
						   pMe->m_BodyAllocSize = NewSize;
					   }
				   }
				   if(pMe->m_BodySize + ByteCount <= pMe->m_BodyAllocSize)
				   {
					   MEMCPY(pMe->m_BodyBuffer + pMe->m_BodySize, buf, ByteCount);
					   pMe->m_BodySize += ByteCount;
				   }
			   }
			   
			   ISOURCE_Readable(pISource, &pMe->cb);
			   break;
		   } 
	   }	   
   
}
// end of lab 4

// lab 5

// end of lab 5

// lab 6

// end of lab 6

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人一区二区精品非洲| 国产一区二区三区在线观看免费 | 亚洲综合一区二区| 欧美一区二区三区白人| 成人美女在线观看| 午夜影院久久久| 久久中文娱乐网| 欧美日韩日日摸| 国产一区二区三区视频在线播放 | 99re免费视频精品全部| 天堂午夜影视日韩欧美一区二区| 精品播放一区二区| 色呦呦网站一区| 成人动漫在线一区| 亚洲人精品一区| 五月天激情综合| 樱花影视一区二区| 欧美激情自拍偷拍| 欧美最猛性xxxxx直播| 成人爽a毛片一区二区免费| 免费观看在线综合色| 亚洲品质自拍视频| 亚洲日本丝袜连裤袜办公室| 国产亚洲视频系列| 日韩一区二区精品在线观看| av亚洲精华国产精华精华| 伊人色综合久久天天| 午夜精品久久久久久久| 亚洲男人的天堂av| 亚洲国产精品激情在线观看| 91一区二区三区在线观看| 欧美亚洲综合色| 99精品国产热久久91蜜凸| 国产一区二区三区最好精华液| 亚洲欧美日韩国产另类专区| 亚洲一区二区偷拍精品| 中文字幕一区二区三区在线不卡 | av电影天堂一区二区在线观看| 99综合影院在线| 国产一区二区三区国产| 蜜臀久久久99精品久久久久久| 久久久久久一二三区| 亚洲精品成人a在线观看| 欧美国产精品中文字幕| 国产人伦精品一区二区| 91精品国产综合久久久蜜臀粉嫩 | 国产麻豆视频一区二区| 色老汉av一区二区三区| 在线视频欧美精品| 91污在线观看| 91美女在线视频| 日韩欧美国产成人一区二区| 日韩视频在线你懂得| 宅男在线国产精品| 欧美日韩国产高清一区二区三区| 久久精品亚洲一区二区三区浴池 | 国产精品白丝av| 国产乱淫av一区二区三区| 国产99久久久国产精品免费看| 日本免费新一区视频| 99re这里只有精品首页| 色诱亚洲精品久久久久久| 日本丰满少妇一区二区三区| av不卡免费电影| 精品久久久久久无| 国产欧美日韩中文久久| 国产精品午夜在线观看| 欧美一级日韩不卡播放免费| 综合分类小说区另类春色亚洲小说欧美| 国产精品久久久99| 一卡二卡欧美日韩| 国产午夜精品福利| 免费国产亚洲视频| 国产成人午夜片在线观看高清观看| 国产高清在线精品| 处破女av一区二区| 日韩欧美自拍偷拍| 日本一区二区成人在线| 亚洲精品ww久久久久久p站| 亚洲精品国产无天堂网2021| 香蕉加勒比综合久久| 久久精品国产**网站演员| 国产91露脸合集magnet | 亚洲激情图片小说视频| 国产精品一二二区| 99久久er热在这里只有精品15| 欧美无砖专区一中文字| 欧美欧美欧美欧美| 亚洲国产你懂的| 韩日欧美一区二区三区| av网站免费线看精品| 91麻豆视频网站| 日韩精品最新网址| 亚洲人成网站影音先锋播放| 天天操天天干天天综合网| 精品婷婷伊人一区三区三| 精品国产1区二区| 亚洲精品视频在线看| 中文字幕一区二区三区在线观看| 成人午夜av影视| 69堂国产成人免费视频| 国产精品三级电影| 成人一区二区视频| 4438成人网| 亚洲色图在线看| 日韩av电影免费观看高清完整版| 欧美久久久久久蜜桃| 国产精品久久777777| 久久精品免费观看| 久久久噜噜噜久久中文字幕色伊伊 | 成人av在线资源网站| 91免费在线播放| 亚洲精品成人悠悠色影视| 国产激情精品久久久第一区二区| 欧美无人高清视频在线观看| 久久久精品综合| 不卡的看片网站| 精品国产一区二区三区不卡 | 久久久噜噜噜久久人人看 | 欧美一级高清大全免费观看| 日韩主播视频在线| 色婷婷av一区二区三区大白胸| 久久久午夜精品理论片中文字幕| 国产精品久久久久影院亚瑟| 色综合一个色综合| 久久久精品免费观看| 欧美aaa在线| 日本v片在线高清不卡在线观看| 91精品国产欧美一区二区18 | 美腿丝袜亚洲色图| 国产精品视频麻豆| 成人sese在线| 久久精品视频免费观看| 美腿丝袜亚洲一区| 99精品国产99久久久久久白柏| 2020国产成人综合网| 亚洲欧洲日产国产综合网| 成人aaaa免费全部观看| 欧美日韩一二三区| 午夜精品久久久久久久久久久 | 欧美一级在线视频| 日韩激情av在线| 久久精品视频一区二区三区| 另类调教123区| 日韩久久久久久| 1024精品合集| 欧美一区二区精品久久911| 亚洲五月六月丁香激情| 色综合久久精品| 麻豆91精品91久久久的内涵| 欧美一级免费观看| 男男gaygay亚洲| 色噜噜狠狠一区二区三区果冻| 久久国产欧美日韩精品| 精品嫩草影院久久| 久久爱www久久做| 欧美一级黄色大片| 久久国产尿小便嘘嘘尿| 日韩女优av电影| 一区二区三区四区不卡在线| 日韩精品专区在线影院观看| 人人精品人人爱| 精品国产凹凸成av人网站| 午夜精品久久久久久不卡8050| 欧美激情中文字幕| 成人sese在线| 亚洲综合在线五月| 在线视频综合导航| 亚洲五月六月丁香激情| 欧美精品免费视频| 成人精品国产福利| 亚洲人成电影网站色mp4| 99re亚洲国产精品| 自拍偷拍国产精品| 国产欧美在线观看一区| 色哟哟在线观看一区二区三区| 亚洲综合激情小说| 中文字幕不卡一区| 91污片在线观看| 日韩电影在线一区| 99国产精品久久久久久久久久 | 欧美高清在线一区二区| 国产毛片精品视频| 美女精品一区二区| 国产婷婷色一区二区三区四区| 狠狠色丁香婷综合久久| 日韩电影免费一区| 国产免费观看久久| 日本久久电影网| av电影在线观看一区| 日韩精品亚洲专区| 久久久久国产精品厨房| 精品少妇一区二区三区| 91玉足脚交白嫩脚丫在线播放| 亚洲成人av一区二区| 亚洲日本一区二区| 26uuuu精品一区二区| 91在线播放网址| 亚洲国产中文字幕在线视频综合| 日韩欧美在线影院|