⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwbe.h

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 H
📖 第 1 页 / 共 2 页
字号:


typedef struct color_scheme
{
	unsigned long text_color;			//普通文字颜色	
	unsigned long link_textcolor;		//链接文字颜色
	unsigned long link_bgcolor;			//链接背景色
	unsigned long link_Focustextcolor;	//被激活链接文字颜色
	unsigned long link_Focusbgcolor;	//被激活链接背景色
}Color_Scheme;

typedef struct WB_RECT 
{ 
  long left; 
  long top; 
  long right; 
  long bottom; 
} WB_RECT;

enum WB_CACHEMODE
{
    WBCACHE_OK,	            /* 使用任何方便的缓存	*/
	WBCACHE_FLUSH_MEM,			/* 从网络或缓存重载		*/
	WBCACHE_VALIDATE,	        /* 验证缓存				*/
	WBCACHE_END_VALIDATE,      /* 端到端的验证			*/
	WBCACHE_RANGE_VALIDATE,
	WBCACHE_FLUSH			    /* 强制重载				*/
};

enum WB_COOKIEMODE
{
    WBCOOKIE_ENABLE,	    /* 允许使用Cookie*/
	WBCOOKIE_DISABLE       /* 禁止使用Cookie*/
};


/*Browser  在LIB_PERMIT,LIB_PROMPT, LIB_ASSERT使用的标准字符串*/
#define MSGMACKCALLSTR  "Are you sure make call?"
#define MSGDTMFSTR      "Send DTMF?"
#define MSGADDPBSTR     "Are you sure add a new phonebook entry?"
#define SOFTKEY_OK      "OK"
#define SOFTKEY_CANCEL  "Cancel"
#define SOFTKEY_ACCEPT  "Accept"


enum WB_PENSTYLE
{
    WBPS_SOLID = 0,       /* 实线笔               */
    WBPS_DASH,            /* 虚线笔     -------   */
    WBPS_DOT,             /* 点线笔     .......   */
    WBPS_DASHDOT,         /* 点划线笔   _._._._   */
    WBPS_DASHDOTDOT,      /* 双点划线笔 _.._.._   */
    WBPS_NULL            /* 空笔                 */
};


/*LIB_DEALJAD返回值*/
typedef enum tagJadCheck
{
	PWBE_JAR_CONTINUE,      //JAD正确,继续下载jar
	PWBE_JAR_CANCEL,        //不再继续下载jar	
	PWBE_JAR_DOWNLOAD       //JAR下载过程将由UI完成,核心不需要再做处理
}PWBE_JADCHECK;


/*LIB_DEALJAVAAPP返回值*/
#define PWBE_JARINS_OK         900 //成功
#define PWBE_JARINS_MEM        901 //内存不够
#define PWBE_JARINS_CANCEL     902 //用户取消
#define PWBE_JARINS_BREAK      903 //连接中断
#define PWBE_JARINS_JARMATCH   904 //Jar文件不匹配
#define PWBE_JARINS_ATR        905 //属性不匹配
#define PWBE_JARINS_JADINV     906 //Jad无效
#define PWBE_JARINS_JARINV     907// Jar无效
#define PWBE_JARINS_FRMINV     908//无效框架
#define PWBE_JARINS_AUTH       909 //鉴权失败
#define PWBE_JARINS_APP        910//应用确认失败
#define PWBE_JARINS_PUSH       911 //PUSH注册失败
#define PWBE_JARINS_INV        913 //不支持


typedef enum tagStrID
{
	PWBE_REFRESH = 0,         //"网络忙,请重新刷新网页"
	PWBE_UNKNOWNTYPE,      //"不明数据类型"
	PWBE_NULLLOCATION,    //"服务器转向错误"
	PWBE_TIMEOUT          //"请求超时,请检查网络配置"
}PWBE_UISTRID;

/* GUI callback list */

typedef int (*LIB_DRAWLINE)(void* pUIData, int x1, int y1, int x2, int y2, int style, 
                        unsigned long color);

typedef int (*LIB_RECTANGLE)(void* pUIData, WB_RECT *lprc, unsigned long color, int bFill);

typedef int (*LIB_ELLIPSE)(void* pUIData, WB_RECT *lprc, unsigned long color, int bFill);

typedef int (*LIB_POLYGON)(void *pUIData, const WB_POINT *lpPoints, int nCount, 
			   unsigned long color, int penStyle, int bFill);

typedef int (*LIB_SETTEXTSTYLE)(void* pUIData, WB_TEXTSTYLEOPTION option, void* pnewStyle, void* poldStyle);

typedef int (*LIB_DRAWTEXT)(void* pUIData, WB_RECT *lprc, char* pText, int len, 
                        unsigned long fgcolor, unsigned long bkcolor);

typedef int (*LIB_GETTEXTINFO)(void* pUIData, WB_FONT* pFont, 
							   char* pStr, int len, int* w, int* h);

typedef int (*LIB_DRAWIMAGE)(void* pUIData, int x, int y, int width, int height,
							 int src_x,  int src_y,  int src_width,  int src_height,	
		 WB_IMGTYPE imgtype, char* pData, long len, void** hImage, void* Param1);

typedef int (*LIB_ENDIMAGE)(void* hImage, WB_IMGTYPE imgType, void* param);

typedef int (*LIB_GETIMAGEINFO)(WB_IMGTYPE imagetype, char* pData, int len, int* w, int* h);

typedef int (*ECHO_FINISHEDITTEXT)(HBROWSER hBrowser, const char *pNewText, WB_BOOL bDataChanged);
typedef int (*LIB_EDITTEXT)(WB_EDITTYPE iEditType , const char *pCurText, int iMaxCharLen, int iTextLen, 
							const char *InputFormat, ECHO_FINISHEDITTEXT pFinishEdit);

typedef int (*ECHO_FINISHSELECT)(HBROWSER hBrowser, int *pSelects, int iSelNum, 
								int iPickedIdx, WB_ENDSELTYPE condition);
typedef int (*LIB_SELECTOPTION)(WB_SELTYPE type, WB_OPTIONDATA options[], int iItemNum, ECHO_FINISHSELECT FinishSelect);

typedef int (*LIB_STARTRING)(WB_AUDIOTYPE soundType, int playmode, unsigned char *data, int datalen);
typedef int (*LIB_STOPRING)(void);

typedef int (*LIB_BEGINDISPLAY)(void* pUIData, WB_RECT *pRect);
typedef int (*LIB_ENDDISPLAY)(void* pUIData);

typedef char* (*LIB_GETUISTR)(PWBE_UISTRID strID);

typedef struct tagLIBLIST_GUI
{
	/* draw lines func */
	LIB_DRAWLINE    DrawLine;
	LIB_RECTANGLE   DrawRect;
	LIB_ELLIPSE		DrawEllipse;
	LIB_POLYGON		DrawPolygon;

	/* text func */
	LIB_SETTEXTSTYLE  SetTextStyle;
	LIB_DRAWTEXT     DrawText;
	LIB_GETTEXTINFO  GetTextInfo;
	LIB_EDITTEXT     EditText;
	
	/* image func */
	LIB_DRAWIMAGE    DrawImage;
	LIB_ENDIMAGE     EndImage;
	LIB_GETIMAGEINFO GetImageInfo;
	
	/* select func */
	LIB_SELECTOPTION SelectOption;

	/* ring func */
	LIB_STARTRING    StartRing;
	LIB_STOPRING     StopRing;

	/* display func */
	LIB_BEGINDISPLAY	 BeginDisplay; //开始更新显示
	LIB_ENDDISPLAY		 EndDisplay;   //结束更新显示

	LIB_GETUISTR         GetUIStr;
}LIBLIST_GUI;


/* callback procedure list */

typedef int (* LIB_DOWNLOAD)(const char _WBHUGE_ *data,
							   long datalen,
							   unsigned char ContType, const char *szMIMEName,
							   const char *szURLName, unsigned char xdrm_type);

typedef int (* LIB_DOWNLOADWITHDP)(const char _WBHUGE_ *data,
							   long datalen,
							   const char *dd,
                               long ddlen,
							   unsigned char ContType, const char *szMIMEName,
							   const char *szURLName, unsigned char xdrm_type);

typedef void (* LIB_UINOTIFY)(unsigned int UImessage,
								unsigned long wParam,
								unsigned long lParam);

typedef int  (* ECHO_DEALJADPROC)(void* param, PWBE_JADCHECK res);
typedef void  (*LIB_DEALJAD)(void* param, const char* jadbuf, unsigned long jadlen, ECHO_DEALJADPROC pJadProc);

typedef int (* LIB_DEALJAVAAPP)(const char* jadbuf,
							     unsigned long jadlen,
							     const char *jarbuf,
							     unsigned long jarlen, int *pJavaHandle);

typedef void (* LIB_DEALVCARD)(const char *cReqURL,
							 const char* http_head,
							 unsigned int headlen,
							 const char *http_content,
							 unsigned int contentlen);

typedef void (* LIB_DEALVCAL)(const char *cReqURL,
							 const char* http_head,
							 unsigned int headlen,
							 const char *http_content,
							 unsigned int contentlen);

typedef int (* ECHO_FINISHPERMITPROC)(void* param, WB_BOOL bOK);
typedef WB_BOOL (* LIB_PERMIT)(void* param, const char *showinfor, const char *OKBtnCaption, const char *CancelBtnCaption, 
							  ECHO_FINISHPERMITPROC pFinishPermit);

typedef int(*ECHO_FINISHPROMPTPROC)(void* param, const char *szResult);
typedef WB_BOOL (* LIB_PROMPT)(void* param, const char *pTitle, const char* pDefResult, 
							ECHO_FINISHPROMPTPROC pFinishPromt);

typedef WB_BOOL (* LIB_ASSERT)(const char *pMsg, int nMsgLen);

typedef int (*ECHO_FINISHAUTHINPUTPROC)(void* param, WB_BOOL result, const char *szName, const char *szPassword);
typedef WB_BOOL (* LIB_GETAUTH)(void* param, int nMaxAuthLen, int nMaxPswLen, const char *pRealm, const char *pRoot, int type,  
							   ECHO_FINISHAUTHINPUTPROC pFinishAuthInput);

typedef void (*LIB_DEALFLOWMEDIA)(const char *cReqURL, int nContType);

typedef int  (* ECHO_PROCESSOVER) (void* param, int iProcessID, int iReslut);

typedef int  (* LIB_PUBMAKECALL)(void* param, const char* numbuf, int numlen, ECHO_PROCESSOVER  pMakeCallOverProc);

typedef int  (* LIB_PUBSENDDTMF)(void* param, const char* dtmfbuf, int dtmflen, ECHO_PROCESSOVER pSendDTMFOver);

typedef int  (* LIB_PUBADDPBENTRY)(void* param, const char* NUMBER, int numlen, const char* NAME, int namelen, 
								   ECHO_PROCESSOVER pAddPbentry);

typedef void (*LIB_BRSMAILTO)(void* param, char *szMail, char *szCc, 
							  char *szBcc, char *szSubject,	char *szBody,
							  ECHO_PROCESSOVER pMailToProc);

typedef enum  WB_MediaDownload
{
	WB_FORBIDDOWNLOAD, 						//禁止下载
	WB_CANDOWNLOAD,							//允许下载,当前可以下载
	WB_PERMITBUTNOCARD						//允许下载,但当前没插卡,不能下载
}WB_MEDIADOWNLOAD;

typedef WB_MEDIADOWNLOAD (*LIB_ISMEDIADOWNLOAD)(int DownloadType, unsigned char ContType, const char *szMIMEName);

typedef enum WB_PUSHACTION
{
	ACTION_NONE = 1,
	ACTION_LOW,
	ACTION_MEDIUM,
	ACTION_HIGH,
	ACTION_DELETE,
	ACTION_CACHE
} WB_PUSHACTION;

#define DATETIEMLEN	21

typedef struct tagSIINFO
{
	char *pszTitle;
	char *pszUri;
	char *pszId;
	char szCreateTime[DATETIEMLEN];
	char szExTime[DATETIEMLEN];
	WB_PUSHACTION nActionType;
	unsigned char nRead;	//标识用户是否已经阅读,由UI使用
}SIINFO, *PSIINFO;

typedef WB_BOOL (* LIB_PUSHSI)(PSIINFO data);
typedef WB_BOOL (* LIB_PUSHTEXT)(char *data, int dataLen);
typedef WB_BOOL (* LIB_PUSHSL)(char *data, WB_BOOL isQuaereUser);

typedef void (*LIB_SETSCROLLPOS)(void *pUIData, WB_SBTYPE iBar, WB_PAGEINFO *pPageInfo, WB_SBSTATE iState);


typedef struct tagLIBLIST_APP
{
	LIB_DOWNLOAD		DownloadProc; 		//下载处理函数	
	LIB_UINOTIFY		UINotifyProc;  	//界面通知函数
	LIB_PERMIT			PermitProc;		//确认函数
	LIB_PROMPT  		PromptProc;     //提示用户输入函数
	LIB_ASSERT			AssertProc;		//用户提示函数
	LIB_GETAUTH			GetAuthProc;	//用户密码认证函数
	
	LIB_DEALJAD         DealJadProc;        //Jad处理函数
	LIB_DEALJAVAAPP		DealJavaAppProc;	//Java应用处理函数
	
	LIB_DEALVCARD		vCardProc;		//vCard处理函数
	LIB_DEALVCAL		vCalendarProc;		//vCalendar处理函数
	
	LIB_BRSMAILTO		MailToProc;		//发送mail跨业务调用的处理函数

	LIB_DEALFLOWMEDIA   FlowMediaProc;      //流媒体播放

	/* WTAI Public func */
	LIB_PUBMAKECALL			MakeCallProc;		//打电话的处理函数
	LIB_PUBSENDDTMF			SendDtmfProc;		//发送DTMF 处理函数
	LIB_PUBADDPBENTRY		AddPbEntryProc;		//增加联系人记录的处理函数
	
	/* set scroll bar position */
	LIB_SETSCROLLPOS		SetSrollPosProc;	//滚动条重画通知函数
	LIB_DOWNLOADWITHDP      DownloadWithDP;     //下载处理函数(包含Descriptor)
	LIB_ISMEDIADOWNLOAD		IsMediaDownload;	//媒体类型能否下载处理函数

}LIBLIST_APP;	

typedef enum tagAPPTYPE
{
	APPTYPE_PERMIT,               //PermitProc
	APPTYPE_PERMIT_MAKECALL,      //PermitProc for mackcall 
	APPTYPE_PERMIT_ADDPB,         //PermitProc for addpb
	APPTYPE_PERMIT_DTMF,          //PermitProc for senddtmf
	APPTYPE_PROMPT,	              //PromptProc
	APPTYPE_GETAUTH,              //GetAuthProc

	APPTYPE_MAKECALL,             //MakeCallProc
	APPTYPE_DTMF,                 //SendDtmfProc
	APPTYPE_ADDPB,                //AddPbEntryProc

	APPTYPE_DEALJAD,              //DealJadProc

	APPTYPE_UNKNOWN
}WBTYPE_APP;

typedef enum tagRETTYPE
{
	APPRET_SYNC,
	APPRET_ASYNC
}WBTYPE_RET;

typedef enum tagWBTYPE_APPVALKEY
{
	APPVAL_MAKECALL_NUM,
	APPVAL_ADDPB_NAME,
	APPVAL_ADDPB_NUM,
	APPVAL_DTMF_DTMF,

	APPVAL_RES_INT,
	APPVAL_AUTH_UID,
	APPVAL_AUTH_PW,
	APPVAL_PROMPT_RES

}WBTYPE_APPVALKEY;

WBTYPE_APP PWBE_GetAppType(void* param);
int        PWBE_GetAppValue(void* param, WBTYPE_APPVALKEY key, void *pBuf, int *buflen);
int        PWBE_SetAppRetType(void* param, WBTYPE_RET rettype);




/* APIs */

/* create & destroy */
HBROWSER PWBE_Create(void* pUIData, WB_RECT *pRect, 
								int nProtocol, 
							  char *pGateWay, int nPort,
							  char *pUser, char *pPassWord,
							  LIBLIST_GUI * pGUIFunc);

void PWBE_Destroy(HBROWSER hBrowser);

/* navigate APIs */
int PWBE_NewPage(HBROWSER hBrowser,char *AbsUrl, int method,
					   char *postfields, char *ReqHeaders);
int PWBE_NewPageByData(HBROWSER hBrowser, int method, unsigned char* pDataBuf, int nDataBufLen, WB_REQDATATYPE nDataType);
int PWBE_PrevPage(HBROWSER hBrowser);
int PWBE_NextPage(HBROWSER hBrowser);
int PWBE_Refresh(HBROWSER hBrowser);
int PWBE_Stop(HBROWSER hBrowser);
int PWBE_Hangup(HBROWSER hBrowser);

/* set configurations */
int PWBE_SetUserAgent(HBROWSER hBrowser, const char* UserAgent);
int PWBE_SetUAProfileUrl(HBROWSER hBrowser, const char* url);

int PWBE_SetDisplayOption(HBROWSER hBrowser, WB_DISPLAYOPTION Option, 
								void *pValue, int Length);

int PWBE_SetCACOOption(HBROWSER hBrowser, WB_CACOOPTION Option, 
							 void *pValue, int Length);
int PWBE_SetProtocol(HBROWSER hBrowser, int nProtocol, 
						const char *pGateWay, int  nPort,
					    const char* pUser, const char* pPassWord);

/* save source */
int PWBE_SaveSource(HBROWSER hBrowser, char *fname, unsigned long iMaxDocSize, unsigned long iMaxImgSize);

void PWBE_DeleteSavedSource(HBROWSER hBrowser, char *filename);

int PWBE_SaveFocusedImage(HBROWSER hBrowser, char *defname);

int PWBE_SaveBgsound(HBROWSER hBrowser, char *defname);

/* refresh painting */
int PWBE_RefreshPaint(HBROWSER hBrowser, WB_RECT *rect);

/* register callbacks */
int PWBE_RegisterCallbackProcs(HBROWSER hBrowser, LIBLIST_APP * pProcList);

/* event processor */
int PWBE_ProcessEvent(HBROWSER hBrowser, WB_EVENTTYPE eventType,  
							unsigned long wParam, unsigned long lParam);

/* get infomation APIs */
int PWBE_GetPageInfo(HBROWSER hBrowser, WB_SBTYPE iBar, WB_PAGEINFO *pPageInfo);

const char *PWBE_GetCurURLName(HBROWSER hBrowser);

unsigned short PWBE_GetSourceType(HBROWSER hBrowser);
unsigned long PWBE_GetDataSize(HBROWSER pBrowser);
const _WBHUGE_ char * PWBE_GetData(HBROWSER pBrowser);

int PWBE_GetHTTPMethod(HBROWSER hBrowser);
/*
const char * PWBE_GetPostData(HBROWSER hBrowser);
const char * PWBE_GetReqHeader(HBROWSER hBrowser);
*/

int PWBE_GetCurFocusType(HBROWSER hBrowser);

/* soft keys */
int PWBE_PrimaryKey(HBROWSER pBrowser);
int PWBE_SecondaryKey(HBROWSER pBrowser, int index, char *name);

/* PUSH APIs */
WB_BOOL PWBE_InitPUSH(LIB_PUSHSI SIProc, LIB_PUSHTEXT TextProc, LIB_PUSHSL SLProc);
WB_BOOL PWBE_EndPUSH(void);
WB_BOOL PWBE_EnablePUSH(WB_BOOL bEnable);

/*Cert APIs*/

/************************************************
* 标志证书链表初始化后内存中不保存的信息
************************************************/
#define BROWSERCERT_GETISSUER          0x0001              
#define BROWSERCERT_GETSUBJECT         0x0002
#define BROWSERCERT_GETVALIDAFTER      0x0004
#define BROWSERCERT_GETVALIDBEFOR      0x0008
#define BROWSERCERT_GETCERTINFOR       0x0010

/****************************************************
* cert
*****************************************************/
typedef struct tagBrowserCert
{
	int    pHandle;                 /*对象句柄        */
	char*  pIssuer;                 /*发行者          */
	char*  pSubject;                /*接受者          */
	char*  pValidAfter;             /*有效期起始时间  */
	char*  pValidBefor;             /*有效期终止时间  */
	char*  pCertInfor;              /*数字签名原始数据*/
	struct tagBrowserCert  *pNext;  /*下一张证书      */
} BROWSERCERT, *PBROWSERCERT;

/****************************************************
* 证书链表对象
*****************************************************/
typedef struct tagBrowserCertList
{
	int   nNum;                             /*当前证书数目  */
	unsigned long dwCol;                    /*当前证书所取项*/
	PBROWSERCERT  pHead;                    /*证书链表      */
}BROWSERCERTLIST, *PBROWSERCERTLIST;


PBROWSERCERTLIST PWBE_CertInitiate (unsigned long dwGet);
int PWBE_CertFreeList(PBROWSERCERTLIST pList);

/*Java API(for delete java report)*/
typedef enum PWBEJAVAREPORTMSG
{
	JRPT_SUCCESS,
	JRPT_FAILURE
}PWBE_JAVAREPORTMSG;

typedef int (*LIB_JavaCallBack)(PWBE_JAVAREPORTMSG msg, unsigned long javaparam);

int PWBE_JavaAppReport(char* szUrl, int Http_Mothod, int protocol,
					   const char* gateway, int port, const char* szUid, const char* szPw,
				       char* pPostInfo,  LIB_JavaCallBack pCallBack, unsigned long javaparam);

/*The API for m_flash download by zdd*/
int PWBE_NewMFlashDownload(HBROWSER hBrowser, unsigned char* pZddBuf, int nZddBufLen);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -