📄 pwbe.h
字号:
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 + -