diff -r 6385c4c93049 -r 8e6fa1719340 browserui/browser/BrowserAppInc/ApiProvider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserui/browser/BrowserAppInc/ApiProvider.h Wed Sep 01 12:31:04 2010 +0100 @@ -0,0 +1,413 @@ +/* +* 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; + + /** + * API to complete the delayed UI initialization. Invoked once after first view is up. + * @return ETrue if successful + * EFalse otherwise + * @param none + */ + virtual TBool CompleteDelayedInit() = 0; + +}; + +#endif + +// End of File