epoc32/include/mw/wapengstd.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/mw/wapengstd.h	Wed Mar 31 12:27:01 2010 +0100
     1.3 @@ -0,0 +1,278 @@
     1.4 +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +// WAP Engine Standard 
    1.18 +// Standard status codes used by data handlers and the WAP engine. Note that some are exact duplicates of error
    1.19 +// codes from sub-components (e.g. HTTP) or from components outside of the WAP Browser (e.g. NetDial, ETEL)
    1.20 +// 
    1.21 +//
    1.22 +
    1.23 +#ifndef __WAPENGINESTANDARD_H__
    1.24 +#define __WAPENGINESTANDARD_H__
    1.25 +
    1.26 +// System includes
    1.27 +//
    1.28 +#include <e32std.h>
    1.29 +
    1.30 +//
    1.31 +// Status code offset for HTTP status values and stack connection progress
    1.32 +// e.g. HTTP/200 becomes KHttpPluginStatusBase + 200
    1.33 +//
    1.34 +const TInt KHttpPluginStatusBase = 1000;
    1.35 +const TInt KWapDocumentLoadStatusBase = 2000;
    1.36 +
    1.37 +typedef enum TWapEngineStatus
    1.38 +{
    1.39 +	// DRAFT
    1.40 +	// Some of these errors MAY be handled in the control level.
    1.41 +
    1.42 +	//
    1.43 +	// HTTP/1.1 Status/Error codes from 40x and 50x series
    1.44 +	//
    1.45 +	EWapErrHttp_505_HTTPVersionNotSupported = -20505,	// has to be 1.1 at the client end; talking to a 1.0 origin server might cause this? Or the client erroneously claiming to do HTTP/3 or something.
    1.46 +	EWapErrHttp_504_GatewayTimeout = -20504,			// not sure if this refers to Gateway in the WAP sense
    1.47 +	EWapErrHttp_503_ServiceUnavailable = -20503,		// ?
    1.48 +	EWapErrHttp_502_BadGateway = -20502,				// could occur with a badly configured WAP GW = e.g. the gateway uses a proxy which cannot be reached = there should probably be some indication to the user.
    1.49 +	EWapErrHttp_501_NotImplemented = -20501,			// duh. Bad server.
    1.50 +	EWapErrHttp_500_InternalServerError = -20500,		// bad news again; this one can either come from the origin server _or_ from the WAP GW, which may convert a different server code into 500 if the WML is bad. Report.
    1.51 +
    1.52 +	EWapErrHttp_415_UnsupportedMediaType = -20415,		// see RFC2068
    1.53 +	EWapErrHttp_414_RequestUriTooLong = -20414,			// report to user
    1.54 +	EWapErrHttp_413_RequestEntityTooLarge = -20413,		// see RFC2068
    1.55 +	EWapErrHttp_412_PreconditionFailed = -20412,		// see RFC2068
    1.56 +	EWapErrHttp_411_LengthRequired = -20411,			// error in our use of HTTP if this occurs.
    1.57 +	EWapErrHttp_410_Gone = -20410,						// like 404, except more definite! report to user.
    1.58 +	EWapErrHttp_409_Conflict = -20409,					// see RFC2068
    1.59 +	EWapErrHttp_408_RequestTimeout = -20408,			//  dealt with in HTTP, shouldn't have to be presented to the user
    1.60 +	EWapErrHttp_407_ProxyAuthenticationRequired = -20407,//  - not sure, we don't correctly deal with this at the moment. Is it needed?
    1.61 +	EWapErrHttp_406_NotAcceptable = -20406,				//  this is returned if the resource requested is not acceptable to the client according to its own accept- strings in the HTTP request header. e.g. accept-charset, accept (content types). accept-language. This shows that we're getting our headers wrong, so should be considered a software error and not be reported. I think.
    1.62 +	EWapErrHttp_405_MethodNotAllowed = -20405,			//  e.g. attempt to POST to a URL that is not appropriate for POSTing. Probably a result of poor site design?
    1.63 +	EWapErrHttp_404_NotFound = -20404,					//  document missing on origin server. This one would be a good one to report to the user since it happens frequently with badly maintained sites!
    1.64 +	EWapErrHttp_403_Forbidden = -20403,					// the server HTTPD does refuses to return the requested document, for internal reasons not necessarily disclosed to the client
    1.65 +	EWapErrHttp_402_PaymentRequired = -20402,			//  I don't think this is used in our world of e-commerce. RFC2068 says it is reserved for future use.
    1.66 +//
    1.67 +//														// NOTE THAT HTTP/401 IS NOT TREATED AS AN ERROR, BECAUSE IT IS
    1.68 +//														// FULLY HANDLED IN HTTP - see HTTP status codes below
    1.69 +//
    1.70 +	EWapErrHttp_400_BadRequest = -20400,				// client sent a request with a malformed syntax (in HTTP request headers) = I assume this indicates a programming error on our part ,and should not happen, or be reported?
    1.71 +
    1.72 +	//
    1.73 +	// HTTP Data Provider plug-in 'inherited' error codes
    1.74 +	//
    1.75 +	EWapErrHttpReceivingErrorDeck		= -20014,	// Could not find document, so receiving an error deck
    1.76 +	EWapErrHttpCancellationAbort		= -20013,	// Error code for leave when cancellation has occured during RunL()
    1.77 +	EWapErrHttpGatewaySessionDisconnect	= -20012,	// The session was disconnected by the WAP Gateway
    1.78 +	EWapErrHttpGatewayTransactionAbort	= -20011,	// A transaction was aborted by the gateway or the stack
    1.79 +	EWapErrHttpGatewayCannotBeReached	= -20010,	// A session could not be established with the WAP Gateway
    1.80 +	// Note that EWapErrHttpAuthenticationFailed and EWapErrHttpAuthenticationCancelled are now information status codes - see below.
    1.81 +	EWapErrHttpWtlsCipherRejected		= -20009,	// The user rejected the cipher strength negotiated in WTLS
    1.82 +	EWapErrHttpWtlsServerCertRejected	= -20008,	// The user rejected the certificate from the WAP GW
    1.83 +	EWapErrHttpWtlsBadServerCert		= -20007,	// WTLS rejected the certificate obtained from the WAP GW
    1.84 +	EWapErrHttpWtlsConfigFailed			= -20006,	// Failed to configure the WTLS layer of the WAP Stack
    1.85 +	EWapErrHttpNetDialSetupFailed		= -20005,	// Failed to configure Net Dial
    1.86 +	EWapErrHttpWapAPReadFailure			= -20004,	// An error occurred when reading the WAP AP from CommsDB
    1.87 +	EWapErrHttpUnsupportedMethod		= -20003,	// An HTTP method was specified that is not supported
    1.88 +	EWapErrHttpCannotFindPlugin			= -20002,	// Plug-in server failed to create an HTTP plugin
    1.89 +	EWapErrHttpCannotFindServer			= -20001,	// URL specified a non-existent or inaccessible domain
    1.90 +	EWapErrHttpGeneralError				= -20000,	// Unspecified error condition
    1.91 +
    1.92 +	//
    1.93 +	//	XMLLIB ERROR CODES
    1.94 +	//
    1.95 +
    1.96 +	// XmlLib
    1.97 +#define XmlLibErrorBase -13200
    1.98 +	EWapErrXmlLibInvalidDocument				= XmlLibErrorBase,
    1.99 +	EWapErrXmlLibDocumentBuffered				= XmlLibErrorBase -  1,
   1.100 +	EWapErrXmlLibDocumentAlreadyValid			= XmlLibErrorBase -  2,
   1.101 +	EWapErrXmlLibInvalidDTD						= XmlLibErrorBase -  3,
   1.102 +
   1.103 +	// Validator
   1.104 +#define XmlValidatorErrorBase -13100
   1.105 +	EWapErrXmlLibIllegalTagName					= XmlValidatorErrorBase,
   1.106 +	EWapErrXmlLibIllegalFixedAttributeValue		= XmlValidatorErrorBase -  1,
   1.107 +	EWapErrXmlLibMissingRequiredAttribute		= XmlValidatorErrorBase -  2,
   1.108 +	EWapErrXmlLibMissingDocument				= XmlValidatorErrorBase -  4,
   1.109 +	EWapErrXmlLibInvalidDocumentStructure		= XmlValidatorErrorBase -  6,
   1.110 +	EWapErrXmlLibIllegalAttributeValue			= XmlValidatorErrorBase -  7,
   1.111 +
   1.112 +	// Parser
   1.113 +#define XmlParserErrorBase -13000
   1.114 +	EWapErrXmlLibMissingCDATASectionEndTag		= XmlParserErrorBase,
   1.115 +	EWapErrXmlLibInvalidAttributeDeclaration	= XmlParserErrorBase -  1,
   1.116 +	EWapErrXmlLibEndTagMismatch					= XmlParserErrorBase -  2,
   1.117 +	EWapErrXmlLibInvalidCharacterReference		= XmlParserErrorBase -  3,
   1.118 +	EWapErrXmlLibUnknownEntityReference			= XmlParserErrorBase -  4,
   1.119 +	EWapErrXmlLibNoDTD							= XmlParserErrorBase -  5,
   1.120 +	EWapErrXmlLibMissingDocumentRootNode		= XmlParserErrorBase -  6,
   1.121 +	EWapErrXmlLibInvalidXmlVersionDefinition	= XmlParserErrorBase -  7,
   1.122 +	EWapErrXmlLibRootElementNameMismatch		= XmlParserErrorBase -  8,
   1.123 +
   1.124 +
   1.125 +	//
   1.126 +	//	WMLLIB ERROR CODES
   1.127 +	//
   1.128 +
   1.129 +	// WmlLib
   1.130 +	// No WmlLib (interface module) specific errors defined
   1.131 +
   1.132 +	// Validator
   1.133 +#define WmlValidatorErrorBase -12100
   1.134 +	EWapErrWmlLibAccessViolation			= WmlValidatorErrorBase -   1,
   1.135 +	EWapErrWmlLibInvalidVariableReference	= WmlValidatorErrorBase - 	2,
   1.136 +	EWapErrWmlLibInvalidConversionMethod	= WmlValidatorErrorBase -   3,
   1.137 +	EWapErrWmlLibIllegalVariableName		= WmlValidatorErrorBase -   4,
   1.138 +	EWapErrWmlLibIllegalTaskCountOnAnchor	= WmlValidatorErrorBase -   5,
   1.139 +	EWapErrWmlLibNULLVariableName			= WmlValidatorErrorBase -   6,
   1.140 +	EWapErrWmlLibNestedTables               = WmlValidatorErrorBase -   7,
   1.141 +	EWapErrWmlLibDuplicateDoNodeName        = WmlValidatorErrorBase -   8,
   1.142 +	EWapErrWmlLibUsageOfReservedWord        = WmlValidatorErrorBase -   9,
   1.143 +	EWapErrWmlLibZeroTableColumns           = WmlValidatorErrorBase -  10,
   1.144 +	EWapErrWmlLibNonWmlDocument				= WmlValidatorErrorBase -  11,
   1.145 +	EWapErrWmlLibMultipleMetaPropertyName   = WmlValidatorErrorBase -  12,
   1.146 +	EWapErrWmlLibEventBindingConflict       = WmlValidatorErrorBase -  14,
   1.147 +	EWapErrWmlLibMultipleAccessElements		= WmlValidatorErrorBase -  15,
   1.148 +	EWapErrWmlLibNonUniqueIds				= WmlValidatorErrorBase -  16,
   1.149 +	EWapErrWmlLibVariableInInvalidLocation	= WmlValidatorErrorBase -  17,
   1.150 +
   1.151 +	// Parser
   1.152 +#define WmlParserErrorBase -12000
   1.153 +	EWapErrWmlLibNullNode					= WmlParserErrorBase,
   1.154 +	EWapErrWmlLibCDATANodeWithoutParent		= WmlParserErrorBase -   1,
   1.155 +
   1.156 +
   1.157 +	// 
   1.158 +	// WAP Engine 'native' error codes
   1.159 +	//
   1.160 +	EWapErrSubDocumentNotFound	= -10027,
   1.161 +	EWapErrCannotCreateDeck		= -10026,			// Failed to create a deck
   1.162 +	EWapErrMimeTypeMissing		= -10025,			// Engine tried to access the mime-type attribute in a
   1.163 +													// tree node but it was missing
   1.164 +	EWapErrUnknownDocument		= -10024,
   1.165 +	EWapErrInvalidDTD			= -10023,
   1.166 +	EWapErrDTDUnavailable		= -10022,			// Document cannot be validated as DTD is not available
   1.167 +
   1.168 +	EWapErrUnknownScheme = -10021,					// unknown scheme
   1.169 +	EWapErrCorruptScheme = -10020,					// scheme contains invalid characters
   1.170 +	EWapErrCorruptUrl	 = -10019,					// part of url contains invalid characters
   1.171 +
   1.172 +	EWapErrPluginNotFound = -10018,					// couldn't find the requested plugin
   1.173 +
   1.174 +	EWapErrImageConversionFailed = -10017,			// image data handler got error from media server
   1.175 +
   1.176 +	EWapErrAccessPointNotSetUpForCSD	=  -10016,	// Access point lacked info for Data call
   1.177 +	EWapErrAccessPointNotSetUpForSMS	=  -10015,
   1.178 +	EWapErrAccessPointNotSetUpForUSSD	=  -10014,
   1.179 +	EWapErrAccessPointNotSetUpGeneric	=  -10013,
   1.180 +	EWapErrProtocolNotSupported			=  -10012,	// Current network does not support the requested service
   1.181 +
   1.182 +	EWapErrAuthorizationFailed			= -10011,
   1.183 +		
   1.184 +	EWapErrScriptObscureLibraryCall	= -10010,		// The script function was unavailable
   1.185 +	EWapErrScriptIllegalAction		= -10009,		// The script attempted an illegal action and was terminated
   1.186 +	EWapErrScriptCorrupt			= -10008,		// Script had errors
   1.187 +	EWapErrScriptError				= -10007,		// Script returned a fatal error
   1.188 +	EWapErrScriptNotFound			= -10006,		// Requested script was not found
   1.189 +		
   1.190 +	EWapErrDataCallUnavailable	= -10005,			// The data call is being used by another application
   1.191 +	EWapErrDataCallDropped		= -10004,			// CSD connection was closed 
   1.192 +
   1.193 +	EWapErrAccessViolation		= -10003,			// Access to the document was denied
   1.194 +	EWapErrDocumentCorrupted	= -10002,
   1.195 +	EWapErrDocumentNotFound		= -10001,
   1.196 +	EWapErrGeneral				= -10000,
   1.197 +
   1.198 +	//
   1.199 +	// PPP connection 'inherited' error codes
   1.200 +	//
   1.201 +	EWapErrPppIfLRDBadLine			   = -3059,	// ??
   1.202 +	EWapErrPppIfDNSNotFound			= -3058,	// ??
   1.203 +	EWapErrPppIfCallbackNotAcceptable = -3057,	// NTRAS: client requested server Callback but was refused
   1.204 +	EWapErrPppIfChangingPassword      = -3056,	// NTRAS: User's password is currently being changed
   1.205 +	EWapErrPppIfNoDialInPermission    = -3055,	// NTRAS: User has not got dial-in permission on the server
   1.206 +	EWapErrPppIfPasswdExpired         = -3054,	// NTRAS: User's password has expired
   1.207 +	EWapErrPppIfRestrictedLogonHours  = -3053,	// NTRAS: User is attempting to log-in outside their hours
   1.208 +	EWapErrPppIfAccountDisabled       = -3052,	// NTRAS: User's account has been disabled
   1.209 +	EWapErrPppIfAuthNotSecure         = -3051,	// ??
   1.210 +	EWapErrPppIfAuthenticationFailure = -3050,	// The supplied password was wrong??
   1.211 +
   1.212 +	//
   1.213 +	// NetDial 'inherited' error codes
   1.214 +	//
   1.215 +	EWapErrNetDialScriptError	= -3005,	// NetDial Exit Condition - Script Error
   1.216 +	EWapErrNetDialScriptTimeOut	= -3004,	// NetDial Exit Condition - Script Timed Out
   1.217 +	EWapErrNetDialLoginFail		= -3003,	// NetDial Exit Condition - Login Failure
   1.218 +	EWapErrNetDialModemError	= -3002,	// NetDial Exit Condition - Modem error
   1.219 +	EWapErrNetDialNoModem		= -3001,	// NetDial Exit Condition - No Modem Response
   1.220 +
   1.221 +	//
   1.222 +	// ETEL 'inherited' error codes
   1.223 +	//
   1.224 +	EWapErrEtelModemSettingsCorrupt		= -2018,
   1.225 +	EWapErrEtelModemNotDetected			= -2017,
   1.226 +	EWapErrEtelAnswerAlreadyOutstanding	= -2016,
   1.227 +	EWapErrEtelUnknownModemCapability		= -2015,
   1.228 +	EWapErrEtelWrongModemType				= -2014,
   1.229 +	EWapErrEtelPortNotLoanedToClient		= -2013,
   1.230 +	EWapErrEtelNotFaxOwner					= -2012,
   1.231 +	EWapErrEtelFaxChunkNotCreated			= -2011,
   1.232 +	EWapErrEtelConfigPortFailure			= -2010,
   1.233 +	EWapErrEtelNoDialTone					= -2009,
   1.234 +	EWapErrEtelNoAnswer					= -2008,
   1.235 +	EWapErrEtelCallNotActive				= -2007,
   1.236 +	EWapErrEtelInitialisationFailure		= -2006,
   1.237 +	EWapErrEtelNoClientInterestedInThisCall= -2005,
   1.238 +	EWapErrEtelBusyDetected				= -2004,
   1.239 +	EWapErrEtelNoCarrier					= -2003,
   1.240 +	EWapErrEtelAlreadyCallOwner			= -2002,
   1.241 +	EWapErrEtelDuplicatePhoneName			= -2001,
   1.242 +	EWapErrEtelNotCallOwner				= -2000,
   1.243 +
   1.244 +	//
   1.245 +	// General EPOC 'inherited' error codes
   1.246 +	//
   1.247 +	EWapErrEpocTimedOut						= -33,
   1.248 +	EWapErrEpocNotFound						= -1,
   1.249 +	EWapErrEpocAccessDenied						= -21,
   1.250 +
   1.251 +	// 
   1.252 +	// 
   1.253 +	// Wap engine status messages
   1.254 +	//
   1.255 +	EWapStatusDownloadProgress = 1,		// Amount complete in aValue (0...100)
   1.256 +	EWapStatusDownloadComplete,			// Document fetch is complete
   1.257 +	EWapStatusSubDocumentChanged,		// XML subdocument (card in WML) has changed 
   1.258 +	EWapStatusRefreshRequest,			// Observer is requested to refresh display
   1.259 +	EWapStatusError,					// Error
   1.260 +	EWapStatusInformational,			// Information other than download progress
   1.261 +	EWapStatusInitialisingConnection	= KHttpPluginStatusBase,
   1.262 +	EWapStatusConnecting				= KHttpPluginStatusBase + 1,
   1.263 +	EWapStatusAuthenticating			= KHttpPluginStatusBase + 2,
   1.264 +	EWapStatusConnected					= KHttpPluginStatusBase + 3,
   1.265 +	EWapStatusDisconnecting				= KHttpPluginStatusBase + 4,
   1.266 +	EWapStatusHttpAuthenticationFailed	= KHttpPluginStatusBase + 10,		// The user's password was rejected by the origin server
   1.267 +	EWapStatusHttpAuthenticationAborted	= KHttpPluginStatusBase + 11,		// The user cancelled the password box
   1.268 +	EWapStatusHttp_401_Unauthorized		= KHttpPluginStatusBase + 401,		// occurs when HTTP authentication is used, username/password dialogs raised as a response. Need to consider how UI deals with authentication failures here.
   1.269 +	EWapStatusValidating				= KWapDocumentLoadStatusBase,		// Validating document
   1.270 +	EWapStatusReceivingErrorDeck		= KWapDocumentLoadStatusBase + 1	// Receiving error deck
   1.271 +
   1.272 +} TWapEngineStatus;
   1.273 +
   1.274 +enum TWmlFetchFlag
   1.275 +	{
   1.276 +	EWmlFetchNoFlag		= 0x00,
   1.277 +	EWmlFetchReload		= 0x01,
   1.278 +	EWmlFetchTimerFetch	= 0x02
   1.279 +	};
   1.280 +
   1.281 +#endif // __WAPENGINESTANDARD_H__