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

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

?? myiweb.final

?? BREW程序:BREW手機上的Web訪問程序
?? FINAL
?? 第 1 頁 / 共 3 頁
字號:
                        //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
static void  myiweb_ShowFileMenu(myiweb* pMe)
{
	CtlAddItem  ai;
	if (! pMe->m_pIFileMenu)
		ISHELL_CreateInstance(pMe->pIShell, AEECLSID_MENUCTL, (void **)&pMe->m_pIFileMenu) ;
	
	IMENUCTL_SetTitle(pMe->m_pIFileMenu,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_MEDIA_PIC;   
	ai.wImage = IDB_MENU;
	ai.wItemID = IDS_MEDIA_PIC;
	
	
	// Add the item to the menu control
	if(IMENUCTL_AddItemEx(pMe->m_pIFileMenu, &ai )==FALSE)
	{
		IMENUCTL_Release(pMe->m_pIFileMenu);
		pMe->m_pIFileMenu = NULL;
		return;
	}
	
	ai.wText = IDS_MEDIA_MUSIC;
	ai.wItemID = IDS_MEDIA_MUSIC;
	
	// Add the item to the menu control
	IMENUCTL_AddItemEx( pMe->m_pIFileMenu, &ai );

	IMENUCTL_SetActive(pMe->m_pIFileMenu,TRUE);
	pMe->m_iAppStatus = 10;
}
// end of lab 5

// lab 6
static char * myiweb_GetFileName(const char * psz)
{
   char *   pszName = STRRCHR(psz, (int)DIRECTORY_CHAR);

   if (pszName)
      pszName++;
   else
      pszName = (char *)psz;

   return pszName;
}

static boolean myiweb_AddMenuItem(IMenuCtl * pMenu, uint16 wTextID, AECHAR * pText, uint16 wImageID, uint16 wItemID, uint32 dwData)
{
   CtlAddItem  ai;

   // Fill in the CtlAddItem structure values
   ai.pText = pText;
   ai.pImage = NULL;
   ai.pszResImage = MYIWEB_RES_FILE;
   ai.pszResText = MYIWEB_RES_FILE;
   ai.wText = wTextID;
   ai.wFont = AEE_FONT_NORMAL;
   ai.wImage = wImageID;
   ai.wItemID = wItemID;
   ai.dwData = dwData;

   // Add the item to the menu control
   return IMENUCTL_AddItemEx( pMenu, &ai );
}
// end of lab 6

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情久久五月天| 午夜天堂影视香蕉久久| 色综合天天视频在线观看| 日韩中文字幕一区二区三区| 久久久噜噜噜久久人人看| 欧美亚洲日本国产| 国产大片一区二区| 日本强好片久久久久久aaa| 国产精品久久久久影视| 日韩视频不卡中文| 欧美三级电影一区| 丁香桃色午夜亚洲一区二区三区| 丝袜美腿成人在线| 亚洲精品乱码久久久久久久久 | 国产精品综合av一区二区国产馆| 亚洲精品日韩综合观看成人91| 欧美成人午夜电影| 欧美色倩网站大全免费| 91在线免费视频观看| 国产在线播放一区三区四| 视频一区国产视频| 一区二区三区日韩精品视频| 国产精品久久午夜夜伦鲁鲁| 26uuu亚洲婷婷狠狠天堂| 91麻豆精品国产91久久久| 色哟哟一区二区三区| 成人高清免费在线播放| 狠狠色丁香婷综合久久| 日本不卡高清视频| 天堂久久一区二区三区| 亚洲国产精品嫩草影院| 亚洲精品成人少妇| 亚洲精品第1页| 一区二区三区四区激情| 亚洲视频精选在线| 亚洲欧美国产77777| 国产精品久线在线观看| 久久婷婷色综合| 久久久久久久久蜜桃| 久久精品视频在线看| 精品剧情在线观看| 日韩精品一区二区三区蜜臀| 欧美一级电影网站| 精品国产免费久久| 久久影院午夜论| 久久久不卡影院| 欧美精品一区二区三区四区| 精品国产免费人成在线观看| 精品国产不卡一区二区三区| 久久亚洲私人国产精品va媚药| 欧美不卡一二三| 国产亚洲欧美激情| 欧美国产1区2区| √…a在线天堂一区| 国产精品麻豆网站| 亚洲乱码一区二区三区在线观看| 一区二区三区国产豹纹内裤在线| 亚洲一区中文在线| 日韩成人精品在线观看| 免费看日韩a级影片| 国产乱人伦偷精品视频免下载| 成人一区二区视频| 在线视频欧美区| 欧美一区二区三区四区视频| 日韩欧美美女一区二区三区| 久久毛片高清国产| 亚洲同性gay激情无套| 婷婷开心激情综合| 九一九一国产精品| hitomi一区二区三区精品| 在线观看av一区二区| 精品久久久久久最新网址| 国产精品成人免费在线| 午夜不卡在线视频| 国产成人亚洲综合a∨婷婷 | 色婷婷激情综合| 91精品一区二区三区在线观看| 日韩免费看网站| 国产精品免费看片| 日本亚洲一区二区| 成人激情动漫在线观看| 欧美日韩你懂的| 国产欧美日韩不卡| 亚洲成a人v欧美综合天堂下载| 蜜桃精品视频在线| 99精品久久99久久久久| 欧美一二三四区在线| 亚洲天堂免费在线观看视频| 六月丁香婷婷久久| 91网上在线视频| 欧美成人综合网站| 亚洲精品国产品国语在线app| 美女任你摸久久| 一本一本大道香蕉久在线精品| 欧美不卡一区二区三区| 夜夜嗨av一区二区三区中文字幕| 国产一区二区在线观看视频| 欧美日韩激情一区二区三区| 国产精品视频一二三区| 美女视频免费一区| 91精彩视频在线| 国产精品色一区二区三区| 奇米一区二区三区av| 在线看不卡av| 国产精品伦一区| 久久国产日韩欧美精品| 精品视频免费在线| 综合久久国产九一剧情麻豆| 国产一区二区主播在线| 欧美一级xxx| 午夜精品福利久久久| 色哟哟一区二区三区| 国产精品毛片高清在线完整版| 久久99国产精品久久99果冻传媒| 欧美日韩和欧美的一区二区| 亚洲黄色性网站| 99精品一区二区| 中文字幕高清一区| 国产精品综合二区| 精品成人一区二区| 久久99精品国产麻豆不卡| 欧美日本韩国一区二区三区视频 | 日韩一区二区在线观看| 亚洲电影中文字幕在线观看| 99久久久国产精品免费蜜臀| 国产嫩草影院久久久久| 国产一区二区电影| 欧美精品一区二区三区在线播放| 免费欧美高清视频| 91精品国产免费| 日本女优在线视频一区二区| 欧美精选一区二区| 亚洲国产一区视频| 99久久er热在这里只有精品15| 免费成人你懂的| 久久久久久夜精品精品免费| 国产一区二区视频在线| 日韩精品一卡二卡三卡四卡无卡| 久久久亚洲精品石原莉奈| 欧美性xxxxxx少妇| 国产69精品久久久久777| 亚洲精品免费一二三区| 91视频一区二区三区| 久久久99精品免费观看| 韩国毛片一区二区三区| 日韩欧美国产精品| 久久99久久99小草精品免视看| 日韩免费看的电影| 国产激情91久久精品导航| 国产欧美日韩在线| 成人av电影在线| 亚洲裸体xxx| 精品视频1区2区3区| 日韩电影一区二区三区| 欧美精品一区二区不卡| 福利电影一区二区三区| 亚洲天堂成人在线观看| 欧美最猛黑人xxxxx猛交| 日韩激情一二三区| 久久久久久亚洲综合影院红桃| 国产成人精品一区二区三区四区| 国产精品久久久久久户外露出| 91蜜桃传媒精品久久久一区二区| 亚洲主播在线播放| 日韩欧美激情一区| 成人毛片视频在线观看| 亚洲一区二区视频在线观看| 欧美一区日韩一区| 国产电影一区在线| 亚洲精品综合在线| 日韩你懂的电影在线观看| 不卡av在线免费观看| 午夜影视日本亚洲欧洲精品| 2020国产精品久久精品美国| 99久久免费精品高清特色大片| 天天综合天天综合色| 久久久久国产精品麻豆| 91久久线看在观草草青青| 美女脱光内衣内裤视频久久影院| 国产精品久久网站| 91精品国产综合久久香蕉的特点 | 国内精品自线一区二区三区视频| 国产精品久久久久久亚洲毛片 | 精品久久久久av影院| 99精品视频在线观看| 免费一级片91| 亚洲女同一区二区| 久久久久久久久97黄色工厂| 欧美在线观看视频在线| 国产成人精品三级麻豆| 日韩不卡一区二区| 中文字幕中文字幕在线一区 | 日韩av在线发布| 中文字幕二三区不卡| 日韩一区二区视频在线观看| 99国产精品久久| 国内精品视频666| 亚洲一卡二卡三卡四卡无卡久久 | 欧美综合亚洲图片综合区| 国产一区二区看久久|