diff -r 000000000000 -r dd21522fd290 webengine/browserrecognizers/inc/BrowserRec.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/browserrecognizers/inc/BrowserRec.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: Recognizer for the bowser supported MIME types +* +*/ + +#ifndef BROWSEREC_H +#define BROWSEREC_H + +// includes +#include // For CApaDataRecognizerType +#include + +// constants +const TUid KUidMimeBrowserRecognizer = { 0x1005A02 }; + +const TInt KBrowserRecognizerImplUIDValue = 0x101F880E; +const TUid KUidBrowserRecognizerImpl = { KBrowserRecognizerImplUIDValue }; + +#ifndef BRDO_WML_DISABLED_FF +const TInt KSupportedMimetypes(13); +#else +const TInt KSupportedMimetypes(9); +#endif + +// Exported mimetypes +#ifndef BRDO_WML_DISABLED_FF +_LIT8( KWMLCMimeType, "application/vnd.wap.wmlc" ); +_LIT8( KWMLMimeType, "text/vnd.wap.wml" ); +_LIT8( KWMLSCMimeType, "application/vnd.wap.wmlscriptc" ); +_LIT8( KWBXMLMimeType, "application/vnd.wap.wbxml1" ); +#endif +_LIT8( KHTMLMimeType, "text/html" ); +_LIT8( KXHTMLMimeType1, "application/vnd.wap.xhtml+xml" ); +_LIT8( KXHTMLMimeType2, "application/xhtml+xml" ); +_LIT8( KCssMimeType, "text/css" ); +_LIT8( KJavaSCMimeType, "application/x-javascript" ); +_LIT8( KJavaEcmaMimeType, "text/ecmascript" ); +_LIT8( KMultiMixedMimeType, "multipart/mixed" ); +_LIT8( KOPMLMimeType, "text/x-opml" ); + +// File extensions +#ifndef BRDO_WML_DISABLED_FF +_LIT( KDotWMLC, ".wmlc" ); +_LIT( KDotWMLSC, ".wmlsc" ); +_LIT( KDotWBXML, ".wbxml" ); +#endif +_LIT( KDotHTML, ".html" ); +_LIT( KDotHTM, ".htm" ); +_LIT( KDotXHTML, ".xhtml" ); +_LIT( KDotXHTML2, ".xht" ); +_LIT( KDotCss, ".css" ); +_LIT( KDotJavaScript, ".js" ); +_LIT( KDotEcmaScript, ".es" ); +_LIT( KDotOPML, ".opml" ); + +// +// CBrowserRecognizer +// +class CBrowserRecognizer : public CApaDataRecognizerType + { + public: // from CApaDataRecognizerType + CBrowserRecognizer(); + + static CApaDataRecognizerType* CreateRecognizerL(); + + virtual TUint PreferredBufSize(); + virtual TDataType SupportedDataTypeL(TInt aIndex) const; + + private: // from CApaDataRecognizerType + virtual void DoRecognizeL(const TDesC& aName, const TDesC8& aBuffer); + + // New funtions + private: + + TBool CheckForWMLC( const TDesC8& aBuffer ); + TBool CheckWbxmlVersion( TUint8 byte ); + TBool CheckWbxmlPubId( TUint8 byte ); + TBool CheckForHtml( const TDesC8& aBuffer ); + TBool CheckForXhtml( const TDesC8& aBuffer ); + TBool CheckForWML( const TDesC8& aBuffer ); + TBool CheckForOPML( const TDesC8& aBuffer ); + }; + +#endif // BROWSEREC_H + +// END FILE