webengine/browserrecognizers/inc/BrowserRec.h
changeset 0 dd21522fd290
child 68 92a765b5b3e7
--- /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 <apmrec.h>  // For CApaDataRecognizerType
+#include <Browser_Platform_Variant.hrh>
+
+// 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