社区
高通开发者论坛
帖子详情
谁有brew利用IWEB接口实现下载的例子?
_空指针_
2008-04-17 06:38:53
谁有brew利用IWEB接口实现下载的例子?大家分享一下?
...全文
1481
7
打赏
收藏
谁有brew利用IWEB接口实现下载的例子?
谁有brew利用IWEB接口实现下载的例子?大家分享一下?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sinskyway
2008-10-21
打赏
举报
回复
/*=========================================================================
Copyright © 2000-2002 QUALCOMM Incorporated.
All Rights Reserved.
QUALCOMM Proprietary/GTDR
===========================================================================*/
#include "AEEAppGen.h"
#include "helloworld.bid"
#include "AEEFile.h"
#include "AEEImageCtl.h"
#include "AEEPosDet.h"
#include "AEEWeb.h"
#include "AEEStdLib.h"
#define FORALL(p,a) for (p = (a) + ARRAY_SIZE(a) - 1; p >= (a); --p)
#define FOR_ALL_WEBACTIONS(pApp, var, exp) {WebAction *var; FORALL(var, (pApp)->m_awa) { exp; } }
typedef struct _CHelloWorldApp CHelloWorldApp;
typedef struct WebAction
{
CHelloWorldApp * pParent;
AEECallback cb;
IWebResp * piWResp;
IGetLine * piGetLine;
int nLines;
int nBytes;
uint32 uStart;
uint32 uRecvStart;
IPeek *pipPostData;
char *pszPostData;
} WebAction;
struct _CHelloWorldApp
{
AEEApplet a;
IFileMgr * m_pFileMgr;
IWeb * m_pIWeb;
IPosDet * m_pIPosDet;
ISource * m_pISource;
IImageCtl * m_pIImage;
AEEGPSInfo * m_pGPSinfo;
AEECallback m_cbgps;
AEECallback m_cbimg;
WebAction m_awa[1];
};
char serviceURL[100];
IFile * file;
static boolean HelloWorld_HandleEvent(CHelloWorldApp * pme, AEEEvent eCode,uint16 wParam, uint32 dwParam);
static boolean InitAppData(CHelloWorldApp * pApp)
{
IShell * pIShell = pApp->a.m_pIShell;
int code = 0;
if( (ISHELL_CreateInstance(pIShell, AEECLSID_FILEMGR, (void**)(&pApp->m_pFileMgr)) != SUCCESS) ||
(ISHELL_CreateInstance(pIShell, AEECLSID_WEB, (void **)(&pApp->m_pIWeb)) != SUCCESS) ||
(ISHELL_CreateInstance(pIShell, AEECLSID_POSDET, (void **)(&pApp->m_pIPosDet)) != SUCCESS) ||
(ISHELL_CreateInstance(pIShell, AEECLSID_IMAGECTL, (void**)(&pApp->m_pIImage)) != SUCCESS))
{
IAPPLET_Release((IApplet*)pApp);
return FALSE;
}
{
int i = 0;
WebOpt awo[10];
awo[i].nId = WEBOPT_CONNECTTIMEOUT;
awo[i].pVal = (void *)10000;
i++;
awo[i].nId = WEBOPT_FLAGS;
awo[i].pVal = (void *)WEBREQUEST_NOWAITCONN;
i++;
awo[i].nId = WEBOPT_PROXYSPEC;
awo[i].pVal = (void *)"http:///";
i++;
awo[i].nId = WEBOPT_PROXYSPEC;
awo[i].pVal = (void *)"*:///http://webproxy.yourdomain.com:8080";
i++;
awo[i].nId = WEBOPT_END;
IWEB_AddOpt(pApp->m_pIWeb,awo);
}
FOR_ALL_WEBACTIONS(pApp, p, p->pParent = pApp);
return TRUE;
}
int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * pMod,void ** ppObj)
{
CHelloWorldApp * pApp = NULL;
*ppObj = NULL;
if(!AEEApplet_New( sizeof(CHelloWorldApp),
ClsId,
pIShell,
pMod,
(IApplet**)ppObj,
(AEEHANDLER)HelloWorld_HandleEvent,
NULL))
return(ENOMEMORY);
pApp = (CHelloWorldApp *)*ppObj;
if (!InitAppData(pApp)) {
*ppObj = NULL;
return EFAILED;
}
return(AEE_SUCCESS);
}
static void imgCallback(void * p) {
int bytesRead;
char x[100];
IImage* pSplash = NULL;
AEEImageInfo rImageInfo;
CtlAddItem ci;
AEERect rc;
CHelloWorldApp * pApp = (CHelloWorldApp *)p;
bytesRead = ISOURCE_Read(pApp->m_pISource, x, 100);
while (bytesRead != ISOURCE_END && bytesRead != ISOURCE_ERROR) {
if (bytesRead != ISOURCE_WAIT)
IFILE_Write(file, x, bytesRead);
else {
ISOURCE_Readable(pApp->m_pISource, &pApp->m_cbimg);
return;
}
bytesRead = ISOURCE_Read(pApp->m_pISource, x, 100);
}
IFILE_Release(file);
If (bytesRead != ISOURCE_ERROR) {
if( (pSplash = ISHELL_LoadImage(pApp->a.m_pIShell,"map.png") ) != NULL)
{
IIMAGE_GetInfo(pSplash, &rImageInfo);
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
MEMSET(&ci,0,sizeof(ci));
ci.pImage = pSplash;
rc.x = 0;
rc.y = 0;
rc.dx = 120;
rc.dy = 140;
IIMAGECTL_SetProperties(pApp->m_pIImage,CP_BORDER);
IIMAGECTL_SetRect(pApp->m_pIImage, &rc);
IIMAGECTL_SetImage(pApp->m_pIImage,pSplash);
IIMAGECTL_SetActive(pApp->m_pIImage,TRUE);
IIMAGECTL_Redraw(pApp->m_pIImage);
IIMAGE_Release(pSplash);
IDISPLAY_Update(pApp->a.m_pIDisplay);
return;
}
}
}
static void WebAction_GotResp(void *p)
{
WebAction *pwa = (WebAction *)p;
CHelloWorldApp * pApp = pwa->pParent;
WebRespInfo *pwri;
pwri = IWEBRESP_GetInfo(pwa->piWResp);
pApp->m_pISource = pwri->pisMessage;
IFILEMGR_Remove(pApp->m_pFileMgr, "map.png");
file = IFILEMGR_OpenFile(pApp->m_pFileMgr, "map.png", _OFM_CREATE);
CALLBACK_Init(&pApp->m_cbimg,imgCallback,pApp);
ISOURCE_Readable(pApp->m_pISource, &pApp->m_cbimg);
}
static void WebAction_Start(WebAction *pwa, char *pszUrl)
{
CHelloWorldApp * pApp = pwa->pParent;
CALLBACK_Init(&pwa->cb, WebAction_GotResp, pwa);
IWEB_GetResponse(pApp->m_pIWeb,
(pApp->m_pIWeb, &pwa->piWResp, &pwa->cb, pszUrl,
WEBOPT_HANDLERDATA, pwa,
WEBOPT_HEADER, "X-Method: GET\r\n",
WEBOPT_END));
}
static void gpsCallback (void * p) {
CHelloWorldApp * pApp = (CHelloWorldApp *)p;
sprintf(serviceURL, "http://localhost/BREWServer/WebForm1.aspx?latlon=%u^%u", pApp->m_pGPSinfo->dwLat, pApp->m_pGPSinfo->dwLon);
FOR_ALL_WEBACTIONS( pApp, p, WebAction_Start(p, serviceURL) );
}
static boolean HelloWorld_HandleEvent(CHelloWorldApp * pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
int code = 0;
AECHAR szText[24];
STR_TO_WSTR("Please Wait", szText, 24);
if (IIMAGECTL_HandleEvent(pMe->m_pIImage, eCode, wParam, dwParam))
return TRUE;
switch (eCode){
case EVT_APP_START:
CALLBACK_Init(&pMe->m_cbgps,gpsCallback,pMe);
pMe->m_pGPSinfo = MALLOC(sizeof(AEEGPSInfo));
code = IPOSDET_GetGPSInfo(pMe->m_pIPosDet,
AEEGPS_GETINFO_LOCATION,
AEEGPS_ACCURACY_HIGHEST,
pMe->m_pGPSinfo,
&pMe->m_cbgps);
IDISPLAY_DrawText(pMe->a.m_pIDisplay,
AEE_FONT_BOLD,
szText,
-1,
0,
0,
NULL,
IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);
IDISPLAY_Update (pMe->a.m_pIDisplay);
return(TRUE);
case EVT_APP_STOP:
return(TRUE);
default:
break;
}
return(FALSE);
}
跑起来,跟一边,对着文档看
sharetop
2008-04-22
打赏
举报
回复
如果你是BREW的注册开发商应该有这个地址的,你问一下你们公司负责这件事情的人。
sharetop
2008-04-21
打赏
举报
回复
建议你参考一下博路提供的例子代码,在它的FTP上有,iweb那个例子我基本就是从它开始学习的。
_空指针_
2008-04-21
打赏
举报
回复
博路ftp的IP是什么,我找不到啊
_空指针_
2008-04-20
打赏
举报
回复
能不能给一个比较全的例子,这个注释太少,我是初学,看不太懂
sharetop
2008-04-18
打赏
举报
回复
参考我的博客:
http://blog.csdn.net/sharetop/archive/2008/03/10/2162515.aspx
我觉得IWeb用来做下载比用ISocket方便,主要是服务端可以直接用IIS了。
_空指针_
2008-04-18
打赏
举报
回复
谢谢了........
Brew
I
Web
的使用
机缘巧合,在我认识
brew
一周后,需要在
Brew
上使用到Http,用到了I
Web
接口
,备述如下: 1.调用I
WEB
_GetResponse 先看代码如下: CALLBACK_Init(&pMe->I
Web
RespCallback, I
Web
ResponseCallbackNotifyFunc, pMe); ...
Mac的
brew
把软件安装在哪了?
brew
安装软件后, 1,配置文件在/usr/local/etc中 2,安装文件在/usr/local/Cellar中 3,二进制可执行程序的软连接在/usr/local/bin中 例如: 一般情况是这么操作的: 1、通过
brew
install安装应用最先是放在...
Mac笔记本用
brew
下载
的东西存放在哪里?如何找到usr文件夹?
首先需要了解到Mac笔记本是没有分区的概念的,全部文件都是存放在一个区 第一:一般Home
brew
都是安装在usr/bin/Cellar文件夹下面 第二:用
brew
命令安装的软件可以在Mac终端用
brew
list 来查看 第三:无论你的芯片是...
强大的I
WEB
接口
概述本文着重介绍了在1.1SDK中引入的I
WEB
接口
,以及相关的I
Web
Resp、I
Web
Opt、I
web
Util等API的使用方法。也包括各API的功能和与其他API(例如IHTMLVIEWER)的交互。―――――――――――――――――――――――...
Brew
下载
慢解决办法
在
利用
brew
install xxx进行软件安装的时候,
brew
会把临时的
下载
文件放在cache目录下,可以通过
brew
--cache 查看
下载
的缓存目录默认的缓存目录为/Users/***/Library/Caches/Home
brew
/Cask/xxxx如果嫌弃原生的
下载
...
高通开发者论坛
2,851
社区成员
5,758
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章