--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/BrowserAppInc/ApiProvider.h Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,405 @@
+/*
+* Copyright (c) 2002-2007 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:
+* API provider.
+*
+*
+*/
+
+
+#ifndef MAPIPROVIDER_H
+#define MAPIPROVIDER_H
+
+// INCLUDE FILES
+#include "WmlBrowserBuild.h"
+#include "BrowserLoadObserver.h" // for LoadUrlType
+#ifdef __RSS_FEEDS
+#include "FeedsClientUtilities.h"
+#endif
+
+// FORWARD DECLARATIONS
+
+class MPreferences;
+class MCommsModel;
+class MConnection;
+class MDisplay;
+class MBmOTABinSender;
+
+//class MStartPageHandler;
+class CBrCtlInterface;
+class CBrowserDialogsProvider;
+class CFavouritesItem;
+class TFavouritesWapAp;
+class RHttpDownloadMgr;
+class CDownloadMgrUiDownloadsList;
+class CBrowserSpecialLoadObserver;
+class CBrowserSoftkeysObserver;
+class CBrowserPopupEngine;
+class CBrowserWindowManager;
+
+// CLASS DECLARATION
+
+/**
+* Interface to query several API implementations.
+*
+* @lib Browser.app
+* @since Series 60 1.2
+*/
+class MApiProvider
+ {
+ public: // New functions
+
+ /**
+ * Returns reference to the implementation of MDisplay.
+ * @since Series 60 1.2
+ * @return An implementation of MDisplay
+ */
+ virtual MDisplay& Display() const = 0;
+
+ /**
+ * Returns a reference to the implementaion of MConnection,
+ * through wich some high-level connection specific data can be set
+ * @since Series 60 1.2
+ * @return reference to MConnection object
+ */
+ virtual MConnection& Connection() const = 0;
+
+ /**
+ * Returns reference to the implementation of MPrefences.
+ * @since Series 60 1.2
+ * @return An implementation of MPrefences
+ */
+ virtual MPreferences& Preferences() const = 0;
+
+ /**
+ * Returns reference to the implementation of MCommsModel.
+ * @since Series 60 1.2
+ * @return An implementation of MCommsModel
+ */
+ virtual MCommsModel& CommsModel() const = 0;
+
+ /**
+ * Returns reference to the CBrCtlInterface
+ * @since Series 60 2.8
+ * @return A reference to CBrCtlInterface
+ */
+ virtual CBrCtlInterface& BrCtlInterface() const = 0;
+
+ /**
+ * Returns reference to CBrowserLoadObserver.
+ * @since Series 60 2.8
+ * @return An implementation of MBrCtlLoadEventObserver
+ */
+ virtual CBrowserLoadObserver& LoadObserver() const = 0;
+
+ virtual CBrowserSpecialLoadObserver& SpecialLoadObserver() const = 0;
+
+ virtual CBrowserSoftkeysObserver& SoftkeysObserver() const = 0;
+ /**
+ * Returns reference to CBrowserDialogsProvider.
+ * @since Series 60 2.8
+ * @return An implementation of MBrCtlDialogsProvider
+ */
+ virtual CBrowserDialogsProvider& DialogsProvider() const = 0;
+
+ /**
+ * Returns reference to the implementation of MBmOTABinSender.
+ * @since Series 60 1.2
+ * @return An implementation of MBmOTABinSender
+ */
+ virtual MBmOTABinSender& BmOTABinSenderL() = 0;
+
+ virtual CBrowserWindowManager& WindowMgr() const = 0;
+
+ virtual CBrowserPopupEngine& PopupEngine() const = 0;
+
+ /**
+ * Sets uid which should be activated if needed
+ * If not, it activates view immediately.
+ * @since Series 60 1.2
+ * @param aUid Uid of the view
+ */
+ virtual void SetViewToBeActivatedIfNeededL( TUid aUid, TInt aMessageId = 0 ) = 0;
+
+ /**
+ * In some cases it's not permitted to cancel fetching process.
+ * @since Series 60 1.2
+ * @return true is user can cancel fetch
+ */
+ virtual TBool IsCancelFetchAllowed() const = 0;
+
+ /**
+ * Returns Uid of the last used view.
+ * @since Series 60 1.2
+ * @return Uid of the last used view
+ */
+ virtual TUid LastActiveViewId() const = 0;
+
+ /**
+ * Sets uid of the last used view
+ * @since Series 60 1.2
+ * @param aUid Uid of the latest used view
+ */
+ virtual void SetLastActiveViewId( TUid aUid ) = 0;
+
+ /**
+ * Tells if WmlBrowser is in the middle of a shutdown process.
+ * @since Series 60 1.2
+ * @return ETrue if the app is being closed, otherwise with EFalse
+ */
+ virtual TBool ExitInProgress() const = 0;
+
+ /**
+ * Sets a flag in WmlBrowser to indicate shutdown process.
+ * @since Series 60 1.2
+ * @param aValue Determines if exit is in progress or not
+ */
+ virtual void SetExitInProgress( TBool aValue ) = 0;
+
+ /**
+ * Is there connection procedure ongoing?
+ * @since Series 60 1.2
+ * @return ETrue if connection procedure is ongoing
+ */
+ virtual TBool IsConnecting() const = 0;
+
+ /**
+ * Updates progress bar in contentview.
+ * @since Series 60 1.2
+ * @param aStatusMsg Progress bar text
+ */
+ virtual void UpdateNaviPaneL( TDesC& aStatusMsg ) = 0;
+
+ /**
+ * Set view to return to when closing the content view.
+ * @since Series60 1.2
+ * @param aUid View uid
+ */
+ virtual void SetViewToReturnOnClose( TUid const &aUid ) = 0;
+
+ /**
+ * Close the content view by activating the bookmarks view
+ * @since Series60 1.2
+ */
+ virtual void CloseContentViewL() = 0;
+
+ /**
+ * Is embedded mode ongoing?
+ * @since Series60 1.2
+ * @return ETrue if embedded mode is ongoing
+ */
+ virtual TBool IsEmbeddedModeOn() const = 0;
+
+ virtual TBool IsShutdownRequested() const = 0;
+
+ virtual void ExitBrowser(TBool aUserShutdown) = 0;
+
+ /**
+ * Is the avkon appshutter running
+ * @since Series60 2.0
+ * @return ETrue if AppShutter is active
+ */
+ virtual TBool IsAppShutterActive() const = 0;
+
+ /**
+ * Starts prefrences view if no valid ap
+ * @since Series60 2.0
+ * @return ETrue if access point has been set.
+ */
+ virtual TBool StartPreferencesViewL( TUint aListItems ) = 0;
+
+ /**
+ * Returns ETrue if at least one page has been loaded.
+ * @return ETrue if at least one page has been loaded.\n
+ * EFalse if no pages has been loaded.
+ */
+ virtual TBool IsPageLoaded() = 0;
+
+ /**
+ *
+ */
+ virtual TBool IsForeGround() const = 0;
+
+ /**
+ * Returns fetching status.
+ * @return ETrue if there is a fetch going on, EFalse otherwise.
+ */
+ virtual TBool Fetching() const = 0;
+
+ /**
+ * Returns content display status.
+ * @return ETrue if content of a new page is displayed, EFalse otherwise.
+ * (useful for zooming while page is loading)
+ */
+ virtual TBool ContentDisplayed() const = 0;
+
+ /**
+ * Sets the content display status.
+ * (useful for zooming while page is loading)
+ */
+ virtual void SetContentDisplayed( TBool aValue ) = 0;
+
+ /**
+ * Initiate fetching of bookmark.
+ * @param aBookmarkUid Uid of bookmark to fetch.
+ */
+ virtual void FetchBookmarkL( TInt aBookmarkUid ) = 0;
+
+ /**
+ * Initiate fetching of bookmark.
+ * @param aBookmarkItem Bookmark item to fetch.
+ */
+ virtual void FetchBookmarkL( const CFavouritesItem& aBookmarkItem ) = 0;
+
+ /**
+ * Initiate fetching of URL.
+ * @param aUrl URL to fetch.
+ * @param aUserName User name.
+ * @param aPassword Password.
+ * @param aAccessPoint AccessPoint.
+ */
+ virtual void FetchL(
+ const TDesC& aUrl,
+ const TDesC& aUserName,
+ const TDesC& aPassword,
+ const TFavouritesWapAp& aAccessPoint,
+ CBrowserLoadObserver::TBrowserLoadUrlType aUrlType
+ ) = 0;
+
+ /**
+ * Initiate fetching of URL with default AP, empty username and password.
+ * @param aUrl URL to fetch.
+ */
+ virtual void FetchL( const TDesC& aUrl, CBrowserLoadObserver::TBrowserLoadUrlType aUrlType = CBrowserLoadObserver::ELoadUrlTypeOther ) = 0;
+
+ /**
+ * Cancel fetching.
+ */
+ virtual void CancelFetch( TBool aIsUserInitiated ) = 0;
+
+ /**
+ * Sets requested AP.
+ * @param aAp the AP to use when connectionneeded is called.
+ */
+ virtual void SetRequestedAP( TInt aAp ) = 0;
+
+ virtual void SetExitFromEmbeddedMode( TBool aFlag ) = 0;
+
+ //To check and set iShowProgress flag that indicates that
+ //real downloading is going on ( we are not loading from cache )
+
+ virtual TBool IsProgressShown() const = 0;
+
+ virtual void SetProgressShown( TBool aProgressShown ) = 0;
+
+ virtual TBool StartedUp() const = 0;
+
+ virtual TUint32 RequestedAp() const = 0;
+
+ /**
+ * Logs a record of opened pages to AHLE
+ */
+ virtual void LogAccessToRecentUrlL( CBrCtlInterface& aBrCtlInterface ) = 0;
+
+ /**
+ * Logs a record of requested pages to Recent Url Store
+ */
+ virtual void LogRequestedPageToRecentUrlL( const TDesC& aUrl ) = 0;
+
+ /**
+ * Starts animation.
+ */
+ virtual void StartProgressAnimationL() = 0;
+
+ /**
+ * Stops animation.
+ */
+ virtual void StopProgressAnimationL() = 0;
+
+#ifdef __RSS_FEEDS
+ /**
+ * Returns reference to FeedsClientUtilities.
+ */
+ virtual CFeedsClientUtilities& FeedsClientUtilities() const = 0;
+#endif // __RSS_FEEDS
+
+ /**
+ * Returns Uid of the previous active view from the view history.
+ * @since Series 60 3.1
+ * @return Uid of the previous active view
+ */
+ virtual TUid GetPreviousViewFromViewHistory() = 0;
+
+ /**
+ * Set the View for in which the last CBA update was made
+ * @since 5.0
+ */
+ virtual void SetLastCBAUpdateView( TUid aView ) = 0;
+
+ /**
+ * Get the view in which the last CBA update was made
+ * @since 5.0
+ * @return TUid of last view for which CBA was updated
+ */
+ virtual TUid GetLastCBAUpdateView() = 0;
+
+
+ /**
+ * Return if Flash plugin is present in the system or not
+ * @param none
+ * @return TBool
+ */
+ virtual TBool FlashPresent( ) = 0;
+
+ /**
+ * Check state of LaunchHomePage command for dimmed state in options menu and shortcut keymap
+ * @return ETrue is LaunchHomePage command should be dimmed in options menu and shortcut keymap
+ * EFalse otherwise
+ * @param none
+ */
+ virtual TBool IsLaunchHomePageDimmedL() = 0;
+
+ /**
+ * Return if the Browser was originally launched directly into the feeds view
+ * @param none
+ * @return TBool
+ */
+ virtual TBool BrowserWasLaunchedIntoFeeds() = 0;
+
+ /**
+ * Set flag to ETrue if called from another application.
+ * @since Series 60 1.2
+ * @param aValue Is browser called from some another App.
+ */
+ virtual void SetCalledFromAnotherApp( TBool aValue ) = 0;
+
+ /**
+ * Get flag if called from another application.
+ * @since Series 60 3.1
+ * @return Etrue if browser is called from some another App.
+ */
+ virtual TBool CalledFromAnotherApp() = 0;
+ /**
+ * Check from CCoeAppUi if a Dialog or Menu is diplayed on top of the view
+ * @return ETrue if Dialog or Menu is displayed
+ * EFalse otherwise
+ * @param none
+ */
+ virtual TBool IsDisplayingMenuOrDialog() = 0;
+
+};
+
+#endif
+
+// End of File