--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlLinkResolver.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,161 @@
+/*
+* 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: Handle links and embedded content that are not fetched from the network
+*
+*/
+
+
+#ifndef BRCTLLINKRESOLVER_H
+#define BRCTLLINKRESOLVER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+
+/**
+* The browser guesses the expected content type from
+* the HTML element in which the content was defined.
+*/
+enum TBrCtlLoadContentType
+ {
+ ELoadContentTypeAny, ///< The content type is unknown
+ /**
+ * The content is one of the following:
+ * HTML, XHTML, WML
+ */
+ ELoadContentTypeMarkup,
+ ELoadContentTypeImage, ///< The content is an image
+ ELoadContentTypeCss, ///< The content is a cascading style sheet
+ ELoadContentTypeJavascript, ///< The content is Javascript
+ ELoadContentTypePlugin, ///< The content is data for a Netscape plug-in
+ /**
+ * The content is data for SoundStart. SoundStart is an attribute
+ * that is added to an anchor <a> tag to play audio when an anchor
+ * is in focus or selected.
+ */
+ ELoadContentTypeSound
+ };
+
+
+// FORWARD DECLARATIONS
+class MBrCtlLinkContent;
+
+/**
+* The MBrCtlLinkResolver class provides the content of an embedded link
+* or the content of a load request that was initiated by the user.
+* This class is used when the host application stores markup text or
+* other information in a private store. For example, this class could be
+* used for e-mail applications.
+*
+* Usage:
+*
+* @code
+* #include <BrCtlLinkResolver.h>
+*
+*
+* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
+* @lib BrowserEngine.lib
+* @file BrCtlLinkResolver.h
+* @endcode *
+*/
+class MBrCtlLinkResolver
+ {
+ public: // New functions
+
+ /**
+ * Browser plug-in calls this method when embedded link is found.
+ * Used with ECapabilityClientResolveEmbeddedURL
+ * @since 2.8
+ * @param aEmbeddedUrl The url of the embedded content
+ * @param aCurrentUrl The url of the current page
+ * @param aLoadContentType Type of the embedded content
+ * Values: One of the following:
+ * ELoadContentTypeAny, ELoadContentTypeMarkup, ELoadContentTypeImage
+ * ELoadContentTypeCss, ELoadContentTypeJavascript, ELoadContentTypePlug-in
+ * @param aEmbeddedLinkContent a callback interface to return the embedded content
+ * @return ETrue if the host application resolves the link.
+ * EFalse if the host application does not resolve the link.
+ * @attention The host application makes this request by setting
+ * the ECapabilityClientResolveEmbeddedURL function.
+ */
+ virtual TBool ResolveEmbeddedLinkL(const TDesC& aEmbeddedUrl,
+ const TDesC& aCurrentUrl,
+ TBrCtlLoadContentType aLoadContentType,
+ MBrCtlLinkContent& aEmbeddedLinkContent) = 0;
+
+ /**
+ * Browser plug-in calls this method when the user requests to load content via selecting a link, or any other way. Used with ECapabilityClientNotifyURL
+ * @since 2.8
+ * @param aUrl The requested url
+ * @param aCurrentUrl The url of the current page
+ * @param aBrCtlLinkContent a callback interface to return the embedded content
+ * @return ETrue if the host application resolves the link.
+ * EFalse if the host application does not resolve the link.
+ * @attention The host application requests that the browser plug-in call
+ * this function to load new content by setting the ECapabilityClientNotifyURL function.
+ */
+ virtual TBool ResolveLinkL(const TDesC& aUrl, const TDesC& aCurrentUrl,
+ MBrCtlLinkContent& aBrCtlLinkContent) = 0;
+
+ /**
+ * Cancel all outstanding resolving operations
+ * @since 2.8
+ * @return void
+ */
+ virtual void CancelAll() = 0;
+ };
+
+
+/**
+* The MBrCtlLinkContent class is an interface that loads the resolved content.
+*
+* Usage:
+*
+* @code
+* #include <BrCtlLinkResolver.h>
+*
+*
+* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
+* @lib BrowserEngine.lib
+* @file BrCtlLinkResolver.h
+* @endcode *
+*/
+class MBrCtlLinkContent
+ {
+ public: // New functions
+ /**
+ * Resolver calls this method when content is resolved.
+ * @param aContentType The content type of the response
+ * @param aCharset The charset of the response. May be empty in case of image
+ * @param aContentBuf content data. Ownership is not transfered
+ * @return void
+ */
+ virtual void HandleResolveComplete(const TDesC& aContentType,
+ const TDesC& aCharset,
+ const HBufC8* aContentBuf) = 0;
+
+ /**
+ * This method is called if there is some error while resolving the content
+ * @param aError system wide error code.
+ * @return void
+ */
+ virtual void HandleResolveError(TInt aError) = 0;
+ };
+
+
+
+#endif // BRCTLLINKRESOLVER_H
+
+// End of File