applayerprotocols/wapbase/inc/Wapengstd.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/wapbase/inc/Wapengstd.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,284 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// WAP Engine Standard 
+// Standard status codes used by data handlers and the WAP engine. Note that some are exact duplicates of error
+// codes from sub-components (e.g. HTTP) or from components outside of the WAP Browser (e.g. NetDial, ETEL)
+// 
+//
+
+/**
+ @file WapEngStd.h 
+ @publishedAll
+ @deprecated
+*/
+ 
+#ifndef __WAPENGINESTANDARD_H__
+#define __WAPENGINESTANDARD_H__
+
+// System includes
+//
+#include <e32std.h>
+
+//
+// Status code offset for HTTP status values and stack connection progress
+// e.g. HTTP/200 becomes KHttpPluginStatusBase + 200
+//
+const TInt KHttpPluginStatusBase = 1000;
+const TInt KWapDocumentLoadStatusBase = 2000;
+
+typedef enum TWapEngineStatus
+{
+	// DRAFT
+	// Some of these errors MAY be handled in the control level.
+
+	//
+	// HTTP/1.1 Status/Error codes from 40x and 50x series
+	//
+	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.
+	EWapErrHttp_504_GatewayTimeout = -20504,			// not sure if this refers to Gateway in the WAP sense
+	EWapErrHttp_503_ServiceUnavailable = -20503,		// ?
+	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.
+	EWapErrHttp_501_NotImplemented = -20501,			// duh. Bad server.
+	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.
+
+	EWapErrHttp_415_UnsupportedMediaType = -20415,		// see RFC2068
+	EWapErrHttp_414_RequestUriTooLong = -20414,			// report to user
+	EWapErrHttp_413_RequestEntityTooLarge = -20413,		// see RFC2068
+	EWapErrHttp_412_PreconditionFailed = -20412,		// see RFC2068
+	EWapErrHttp_411_LengthRequired = -20411,			// error in our use of HTTP if this occurs.
+	EWapErrHttp_410_Gone = -20410,						// like 404, except more definite! report to user.
+	EWapErrHttp_409_Conflict = -20409,					// see RFC2068
+	EWapErrHttp_408_RequestTimeout = -20408,			//  dealt with in HTTP, shouldn't have to be presented to the user
+	EWapErrHttp_407_ProxyAuthenticationRequired = -20407,//  - not sure, we don't correctly deal with this at the moment. Is it needed?
+	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.
+	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?
+	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!
+	EWapErrHttp_403_Forbidden = -20403,					// the server HTTPD does refuses to return the requested document, for internal reasons not necessarily disclosed to the client
+	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.
+//
+//														// NOTE THAT HTTP/401 IS NOT TREATED AS AN ERROR, BECAUSE IT IS
+//														// FULLY HANDLED IN HTTP - see HTTP status codes below
+//
+	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?
+
+	//
+	// HTTP Data Provider plug-in 'inherited' error codes
+	//
+	EWapErrHttpReceivingErrorDeck		= -20014,	// Could not find document, so receiving an error deck
+	EWapErrHttpCancellationAbort		= -20013,	// Error code for leave when cancellation has occured during RunL()
+	EWapErrHttpGatewaySessionDisconnect	= -20012,	// The session was disconnected by the WAP Gateway
+	EWapErrHttpGatewayTransactionAbort	= -20011,	// A transaction was aborted by the gateway or the stack
+	EWapErrHttpGatewayCannotBeReached	= -20010,	// A session could not be established with the WAP Gateway
+	// Note that EWapErrHttpAuthenticationFailed and EWapErrHttpAuthenticationCancelled are now information status codes - see below.
+	EWapErrHttpWtlsCipherRejected		= -20009,	// The user rejected the cipher strength negotiated in WTLS
+	EWapErrHttpWtlsServerCertRejected	= -20008,	// The user rejected the certificate from the WAP GW
+	EWapErrHttpWtlsBadServerCert		= -20007,	// WTLS rejected the certificate obtained from the WAP GW
+	EWapErrHttpWtlsConfigFailed			= -20006,	// Failed to configure the WTLS layer of the WAP Stack
+	EWapErrHttpNetDialSetupFailed		= -20005,	// Failed to configure Net Dial
+	EWapErrHttpWapAPReadFailure			= -20004,	// An error occurred when reading the WAP AP from CommsDB
+	EWapErrHttpUnsupportedMethod		= -20003,	// An HTTP method was specified that is not supported
+	EWapErrHttpCannotFindPlugin			= -20002,	// Plug-in server failed to create an HTTP plugin
+	EWapErrHttpCannotFindServer			= -20001,	// URL specified a non-existent or inaccessible domain
+	EWapErrHttpGeneralError				= -20000,	// Unspecified error condition
+
+	//
+	//	XMLLIB ERROR CODES
+	//
+
+	// XmlLib
+#define XmlLibErrorBase -13200
+	EWapErrXmlLibInvalidDocument				= XmlLibErrorBase,
+	EWapErrXmlLibDocumentBuffered				= XmlLibErrorBase -  1,
+	EWapErrXmlLibDocumentAlreadyValid			= XmlLibErrorBase -  2,
+	EWapErrXmlLibInvalidDTD						= XmlLibErrorBase -  3,
+
+	// Validator
+#define XmlValidatorErrorBase -13100
+	EWapErrXmlLibIllegalTagName					= XmlValidatorErrorBase,
+	EWapErrXmlLibIllegalFixedAttributeValue		= XmlValidatorErrorBase -  1,
+	EWapErrXmlLibMissingRequiredAttribute		= XmlValidatorErrorBase -  2,
+	EWapErrXmlLibMissingDocument				= XmlValidatorErrorBase -  4,
+	EWapErrXmlLibInvalidDocumentStructure		= XmlValidatorErrorBase -  6,
+	EWapErrXmlLibIllegalAttributeValue			= XmlValidatorErrorBase -  7,
+
+	// Parser
+#define XmlParserErrorBase -13000
+	EWapErrXmlLibMissingCDATASectionEndTag		= XmlParserErrorBase,
+	EWapErrXmlLibInvalidAttributeDeclaration	= XmlParserErrorBase -  1,
+	EWapErrXmlLibEndTagMismatch					= XmlParserErrorBase -  2,
+	EWapErrXmlLibInvalidCharacterReference		= XmlParserErrorBase -  3,
+	EWapErrXmlLibUnknownEntityReference			= XmlParserErrorBase -  4,
+	EWapErrXmlLibNoDTD							= XmlParserErrorBase -  5,
+	EWapErrXmlLibMissingDocumentRootNode		= XmlParserErrorBase -  6,
+	EWapErrXmlLibInvalidXmlVersionDefinition	= XmlParserErrorBase -  7,
+	EWapErrXmlLibRootElementNameMismatch		= XmlParserErrorBase -  8,
+
+
+	//
+	//	WMLLIB ERROR CODES
+	//
+
+	// WmlLib
+	// No WmlLib (interface module) specific errors defined
+
+	// Validator
+#define WmlValidatorErrorBase -12100
+	EWapErrWmlLibAccessViolation			= WmlValidatorErrorBase -   1,
+	EWapErrWmlLibInvalidVariableReference	= WmlValidatorErrorBase - 	2,
+	EWapErrWmlLibInvalidConversionMethod	= WmlValidatorErrorBase -   3,
+	EWapErrWmlLibIllegalVariableName		= WmlValidatorErrorBase -   4,
+	EWapErrWmlLibIllegalTaskCountOnAnchor	= WmlValidatorErrorBase -   5,
+	EWapErrWmlLibNULLVariableName			= WmlValidatorErrorBase -   6,
+	EWapErrWmlLibNestedTables               = WmlValidatorErrorBase -   7,
+	EWapErrWmlLibDuplicateDoNodeName        = WmlValidatorErrorBase -   8,
+	EWapErrWmlLibUsageOfReservedWord        = WmlValidatorErrorBase -   9,
+	EWapErrWmlLibZeroTableColumns           = WmlValidatorErrorBase -  10,
+	EWapErrWmlLibNonWmlDocument				= WmlValidatorErrorBase -  11,
+	EWapErrWmlLibMultipleMetaPropertyName   = WmlValidatorErrorBase -  12,
+	EWapErrWmlLibEventBindingConflict       = WmlValidatorErrorBase -  14,
+	EWapErrWmlLibMultipleAccessElements		= WmlValidatorErrorBase -  15,
+	EWapErrWmlLibNonUniqueIds				= WmlValidatorErrorBase -  16,
+	EWapErrWmlLibVariableInInvalidLocation	= WmlValidatorErrorBase -  17,
+
+	// Parser
+#define WmlParserErrorBase -12000
+	EWapErrWmlLibNullNode					= WmlParserErrorBase,
+	EWapErrWmlLibCDATANodeWithoutParent		= WmlParserErrorBase -   1,
+
+
+	// 
+	// WAP Engine 'native' error codes
+	//
+	EWapErrSubDocumentNotFound	= -10027,
+	EWapErrCannotCreateDeck		= -10026,			// Failed to create a deck
+	EWapErrMimeTypeMissing		= -10025,			// Engine tried to access the mime-type attribute in a
+													// tree node but it was missing
+	EWapErrUnknownDocument		= -10024,
+	EWapErrInvalidDTD			= -10023,
+	EWapErrDTDUnavailable		= -10022,			// Document cannot be validated as DTD is not available
+
+	EWapErrUnknownScheme = -10021,					// unknown scheme
+	EWapErrCorruptScheme = -10020,					// scheme contains invalid characters
+	EWapErrCorruptUrl	 = -10019,					// part of url contains invalid characters
+
+	EWapErrPluginNotFound = -10018,					// couldn't find the requested plugin
+
+	EWapErrImageConversionFailed = -10017,			// image data handler got error from media server
+
+	EWapErrAccessPointNotSetUpForCSD	=  -10016,	// Access point lacked info for Data call
+	EWapErrAccessPointNotSetUpForSMS	=  -10015,
+	EWapErrAccessPointNotSetUpForUSSD	=  -10014,
+	EWapErrAccessPointNotSetUpGeneric	=  -10013,
+	EWapErrProtocolNotSupported			=  -10012,	// Current network does not support the requested service
+
+	EWapErrAuthorizationFailed			= -10011,
+		
+	EWapErrScriptObscureLibraryCall	= -10010,		// The script function was unavailable
+	EWapErrScriptIllegalAction		= -10009,		// The script attempted an illegal action and was terminated
+	EWapErrScriptCorrupt			= -10008,		// Script had errors
+	EWapErrScriptError				= -10007,		// Script returned a fatal error
+	EWapErrScriptNotFound			= -10006,		// Requested script was not found
+		
+	EWapErrDataCallUnavailable	= -10005,			// The data call is being used by another application
+	EWapErrDataCallDropped		= -10004,			// CSD connection was closed 
+
+	EWapErrAccessViolation		= -10003,			// Access to the document was denied
+	EWapErrDocumentCorrupted	= -10002,
+	EWapErrDocumentNotFound		= -10001,
+	EWapErrGeneral				= -10000,
+
+	//
+	// PPP connection 'inherited' error codes
+	//
+	EWapErrPppIfLRDBadLine			   = -3059,	// ??
+	EWapErrPppIfDNSNotFound			= -3058,	// ??
+	EWapErrPppIfCallbackNotAcceptable = -3057,	// NTRAS: client requested server Callback but was refused
+	EWapErrPppIfChangingPassword      = -3056,	// NTRAS: User's password is currently being changed
+	EWapErrPppIfNoDialInPermission    = -3055,	// NTRAS: User has not got dial-in permission on the server
+	EWapErrPppIfPasswdExpired         = -3054,	// NTRAS: User's password has expired
+	EWapErrPppIfRestrictedLogonHours  = -3053,	// NTRAS: User is attempting to log-in outside their hours
+	EWapErrPppIfAccountDisabled       = -3052,	// NTRAS: User's account has been disabled
+	EWapErrPppIfAuthNotSecure         = -3051,	// ??
+	EWapErrPppIfAuthenticationFailure = -3050,	// The supplied password was wrong??
+
+	//
+	// NetDial 'inherited' error codes
+	//
+	EWapErrNetDialScriptError	= -3005,	// NetDial Exit Condition - Script Error
+	EWapErrNetDialScriptTimeOut	= -3004,	// NetDial Exit Condition - Script Timed Out
+	EWapErrNetDialLoginFail		= -3003,	// NetDial Exit Condition - Login Failure
+	EWapErrNetDialModemError	= -3002,	// NetDial Exit Condition - Modem error
+	EWapErrNetDialNoModem		= -3001,	// NetDial Exit Condition - No Modem Response
+
+	//
+	// ETEL 'inherited' error codes
+	//
+	EWapErrEtelModemSettingsCorrupt		= -2018,
+	EWapErrEtelModemNotDetected			= -2017,
+	EWapErrEtelAnswerAlreadyOutstanding	= -2016,
+	EWapErrEtelUnknownModemCapability		= -2015,
+	EWapErrEtelWrongModemType				= -2014,
+	EWapErrEtelPortNotLoanedToClient		= -2013,
+	EWapErrEtelNotFaxOwner					= -2012,
+	EWapErrEtelFaxChunkNotCreated			= -2011,
+	EWapErrEtelConfigPortFailure			= -2010,
+	EWapErrEtelNoDialTone					= -2009,
+	EWapErrEtelNoAnswer					= -2008,
+	EWapErrEtelCallNotActive				= -2007,
+	EWapErrEtelInitialisationFailure		= -2006,
+	EWapErrEtelNoClientInterestedInThisCall= -2005,
+	EWapErrEtelBusyDetected				= -2004,
+	EWapErrEtelNoCarrier					= -2003,
+	EWapErrEtelAlreadyCallOwner			= -2002,
+	EWapErrEtelDuplicatePhoneName			= -2001,
+	EWapErrEtelNotCallOwner				= -2000,
+
+	//
+	// General EPOC 'inherited' error codes
+	//
+	EWapErrEpocTimedOut						= -33,
+	EWapErrEpocNotFound						= -1,
+	EWapErrEpocAccessDenied						= -21,
+
+	// 
+	// 
+	// Wap engine status messages
+	//
+	EWapStatusDownloadProgress = 1,		// Amount complete in aValue (0...100)
+	EWapStatusDownloadComplete,			// Document fetch is complete
+	EWapStatusSubDocumentChanged,		// XML subdocument (card in WML) has changed 
+	EWapStatusRefreshRequest,			// Observer is requested to refresh display
+	EWapStatusError,					// Error
+	EWapStatusInformational,			// Information other than download progress
+	EWapStatusInitialisingConnection	= KHttpPluginStatusBase,
+	EWapStatusConnecting				= KHttpPluginStatusBase + 1,
+	EWapStatusAuthenticating			= KHttpPluginStatusBase + 2,
+	EWapStatusConnected					= KHttpPluginStatusBase + 3,
+	EWapStatusDisconnecting				= KHttpPluginStatusBase + 4,
+	EWapStatusHttpAuthenticationFailed	= KHttpPluginStatusBase + 10,		// The user's password was rejected by the origin server
+	EWapStatusHttpAuthenticationAborted	= KHttpPluginStatusBase + 11,		// The user cancelled the password box
+	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.
+	EWapStatusValidating				= KWapDocumentLoadStatusBase,		// Validating document
+	EWapStatusReceivingErrorDeck		= KWapDocumentLoadStatusBase + 1	// Receiving error deck
+
+} TWapEngineStatus;
+
+enum TWmlFetchFlag
+	{
+	EWmlFetchNoFlag		= 0x00,
+	EWmlFetchReload		= 0x01,
+	EWmlFetchTimerFetch	= 0x02
+	};
+
+#endif // __WAPENGINESTANDARD_H__