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

📄 wmldef.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
 * Copyright (C) Ericsson Mobile Communications AB, 2000.
 * Licensed to AU-System AB.
 * All rights reserved.
 *
 * This software is covered by the license agreement between
 * the end user and AU-System AB, and may be used and copied
 * only in accordance with the terms of the said agreement.
 *
 * Neither Ericsson Mobile Communications AB nor AU-System AB
 * assumes any responsibility or liability for any errors or inaccuracies in
 * this software, or any consequential, incidental or indirect damage arising
 * out of the use of the Generic WAP Client software.
 */
/* ==================================================================
	FILE: WMLDef.h

	Definition file for WML-specific parts of the WBXML-decoding. 

	Rev history:
		980708	JPR		Created
		990210	JPR		Modified
		990316	JPR		Major changes to support general WBXML-
						decoding.
		990326	JPR		WAP 1.1
		990526	JPR		Paragraph updates
		990531	JPR		Navigation variable handling updated
		990609	JPR		Trim text additions
		991028	JPR		WTA Specific addition (comment)

  		991126	JPR		Redesign of Element Handling, Text Handling,
						and Error Handling.
		991202	JPR		"Unknown" element and element types added
		991223	JPR		fLastOption in OPTIONELEMENT removed
		000104	JPR		xml:lang and support for WAP 1.2 added
		000110	IPN		Moved REALMSTR and HOSTSTR to authoriz.c.
						Removed pVisitedHosts from UA.
		000110	JPR		"Generic Text" element type added
		000201	JPR		br element added
		000809	JPR		Addition of "cache-control" attribute in go
									Addition of new version (WML_VERSION_1_3)
		001011	JPR		Value of Type_UNKNOWN lowered to 0x7DDD
		010124	IPN		Added fUserLoadMode in UA-Struct.

   ================================================================== */

#ifndef _DEFINITIONS
#define _DEFINITIONS

#include "cmmnrsrc.h"
#include "aapiclnt.h"
#include "wbxmldef.h"
#include "waedef.h"

/*========================================================================

	WML Version definitions

	The appropriate value is stored automatically in the pWBXMLDECODESTR
	(attribute iVersion), based on the WSP-header and WBXML content, in
	the WML_CheckPublicID function in WMLParse.c

=========================================================================*/

/* WML version 1.0 NOT supported */

#define WML_VERSION_1_0		10
#define WML_VERSION_1_1		11
#define WML_VERSION_1_2		12
#define WML_VERSION_1_3		13

/*=======================================================================*/



/* WML Text. Type_Inline_Text, Type_Table_Text, Type_Entity, 
   or Type_Ext.
*/
#define isTypeWMLText(t)	((t==Type_Inline_Text)||(t==Type_Table_Text)||(t==Type_Entity)||(t==Type_Ext_0)||(t==Type_Ext_1)||(t==Type_Ext_2))


/* TYPE codes */
#define DEF_TYPE_HOME				8
#define DEF_TYPE_UNKNOWN			10
#define DEF_TYPE_ONENTERFORWARD		11
#define DEF_TYPE_ONENTERBACKWARD	12
#define DEF_TYPE_ONTIMER			13	
#define DEF_TYPE_ONCLICK			14
#define DEF_TYPE_STRING				15
#define DEF_TYPE_TEXT				16
#define DEF_TYPE_PASSWORD			17
#define DEF_TYPE_PREV				18	
#define DEF_TYPE_NOEVENT			19				

/* WTA Specific 
   Other events besides onenterforward, ontenterbackward, ontimer,
   and opick are defiend in the WMLToken.h file. The numbers there
   starts at 0x20.
*/

/* GO enctype */
#define GO_urlencoded	18
#define GO_formdata		36

enum MethodType {M_Post='\x60', M_Get='\x40'};
enum WrapMode {P_Wrap, P_NoWrap, P_Unknown};	
enum CacheControl {Cache_nocache, Cache_unknown};

/* Trim text modes */
#define TRIMTEXT_NONE 	0
#define TRIMTEXT_LEFT	1
#define TRIMTEXT_RIGHT 	2
#define TRIMTEXT_BOTH	3

/* ------------------------------------------
   Variable table definitions.
   To keep track of the variables during run
   time.
   ------------------------------------------ */
typedef struct tVARTABELM
{
	WCHAR *pchName;
	WCHAR *pchValue;
	struct tVARTABELM *pNextVar;
} VARTABELM, *pVARTABELM;

/* ------------------------------------------
   Event Table
   On each CARD and TEMPLATE there is an event
   table. When an event occurs, this table is
   scanned for the appropriate action. If the
   event doesn't exist at the CARD level, the
   TEMPLATE table is checked. (consult
   HandleEvent in Interface.h)
   EVENTS:	ONTIMER, ONCLICK, ONENTERFORWARD, 
			ONENTERBACKWARD, WTA EVENTS, etc
			(Not DO)
   ------------------------------------------ */
typedef struct tEVENT 
{
	INT8 iEvent;
	pELEMENTTYPE pAction;
	struct tEVENT *pNextEvent;
} EVENT, *pEVENT;


/* ------------------------------------------
    History List
   ------------------------------------------ */
typedef struct tHISTORYITEM 
{
	UINT8 inList;
	BYTE *pbURLEntry;
	WCHAR *pwchItemTitle;
	BYTE  *pbPostData;  
	UINT16 iPostDataLength;
	INT8 iMethod;       
	UINT8 iContentType;
	INT16 iContentCharSet;
	struct tHISTORYITEM *pNextEntry;
} HISTORYITEM, *pHISTORYITEM;

/* ------------------------------------------
   Used on CARD level.
   The DO elements in the TEMPLATE element 
   which are not overridden on the CARD level.
   The pDO is a pointer to the TEMPLATE DO -
   DO NOT DEALLOCATE!
   ------------------------------------------ */
typedef struct tTEMPLATEDOTYPE
{
	pELEMENTTYPE pDO;
	struct tTEMPLATEDOTYPE *pNext;
} TEMPLATEDOTYPE, *pTEMPLATEDOTYPE;
 

/*========================================================================

	WML Element definitions

=========================================================================*/

/* Used for b, big, em, i, small, strong, u - element */
typedef struct tEMPHELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (%flow);* */
	WCHAR* pwchXmlLang;
} EMPHELEMENT, *pEMPHELEMENT;

/* a element */
typedef struct tAELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (#PCDATA;|br|img)* */
	pELEMENTTYPE pTitle;
	pELEMENTTYPE pHref;					/* HREF */
	WCHAR wchAccessKey;					/* WML 1.2 extension */
	WCHAR* pwchXmlLang;
} AELEMENT, *pAELEMENT;

/* anchor element */
typedef struct tANCHORELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (#PCDATA;|br|img|go|prev|refresh)* */
	pELEMENTTYPE pTitle;
	WCHAR wchAccessKey;					/* WML 1.2 extension */
	WCHAR* pwchXmlLang;
} ANCHORELEMENT, *pANCHORELEMENT;

/* access element */
typedef struct tACCESSELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	WCHAR *pchDomain;					/* CDATA */
	WCHAR *pchPath;						/* CDATA */
} ACCESSELEMENT, *pACCESSELEMENT;

/* br element */
typedef struct tBRELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	WCHAR* pwchXmlLang;					/* NOT used in Wap 1.2 or newer */
} BRELEMENT, *pBRELEMENT;

/* card element */
typedef struct tCARDELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* onevent*, timer?, (do | p | pre)*  */
	WCHAR *pchId;						/* ID */
	pELEMENTTYPE pTitle;				/* %vdata */
	BOOL fNewContext;
	BOOL fOrdered;
	pELEMENTTYPE pOnEntForw;			/* URL */
	pELEMENTTYPE pOnEntBack;			/* URL */
	pELEMENTTYPE pOnTimer;				/* URL */
	pEVENT pEventTab;					/* The possible events for the CARD */
	pTEMPLATEDOTYPE pTemplateDO;		/* Pointer to the TEMPLATE DO not
										   overridden on CARD level. */
	WCHAR* pwchXmlLang;
} CARDELEMENT, *pCARDELEMENT;	

/* do element */
typedef struct tDOELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (%task) */
	WCHAR *pchType;						/* CDATA */
	pELEMENTTYPE pLabel;				/* %vdata */
	WCHAR *pchName;						/* NMTOKEN */
	BOOL fOptional;
	WCHAR* pwchXmlLang;
} DOELEMENT, *pDOELEMENT;

/* fieldset element */
typedef struct tFIELDSETELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (%fields;|do)* */
	pELEMENTTYPE pTitle;				/* %vdata */
	WCHAR* pwchXmlLang;
} FIELDSETELEMENT, *pFIELDSETELEMENT;

/* go element */
typedef struct tGOELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (postfield|setvar)* */
	pELEMENTTYPE pHref;					/* HREF */
	enum CacheControl iCacheControl;			/* ("no-cache") */
	BOOL fSendRef;
	enum MethodType iMethod;
	WCHAR* pchAccChar;					/* CDATA */
	UINT8 iEnctype;						/* defined above */
} GOELEMENT, *pGOELEMENT;

/* head element */
typedef struct tHEADELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pContent;				/* (access|meta)+ */
} HEADELEMENT, *pHEADELEMENT;

/* img element */
typedef struct tIMGELEMENT
{
	UINT16 iType;
	struct tELEMENTTYPE* pNextElement;

	pELEMENTTYPE pAlt;					/* %vdata */
	pELEMENTTYPE pSrc;					/* HREF */
	pELEMENTTYPE pLocalSrc;				/* %vdata */
	UINT8 iVSpace;						/* %length */
	UINT8 iHSpace;						/* %length */
	ImageAlignmentType iIAlign;			/* %IAlign */

⌨️ 快捷键说明

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