diff -r 481242ead638 -r 48e827313edd browserui/browser/FavouritesInc/BrowserFaviconHandler.h --- a/browserui/browser/FavouritesInc/BrowserFaviconHandler.h Tue Feb 02 00:12:41 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,184 +0,0 @@ -/* -* Copyright (c) 2005 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: Header file for CBrowserFaviconHandler -* -* -*/ - - -#ifndef __BROWSERFAVICONHANDLER_H -#define __BROWSERFAVICONHANDLER_H - -// INCLUDE FILES -#include -#include -#include "BrowserFaviconScaler.h" - -// CLASS DECLARATION -class MApiProvider; -class CFavouritesItemList; -class CFavouritesItem; - -class MBrowserFaviconObserver - { - public: - virtual TInt DrawFavicons() = 0; - }; - -/** -* CBrowserFaviconHandler. -* -* @lib Browser.app -* @since Series 60 3.1 -*/ -class CBrowserFaviconHandler : public CActive, - public MBrowserFaviconScalerCallback - { - public: // Constructors - - /** - * @param aApiProvider access to AppUi functions - * @param aIconArray an array of icons - * @param aObserver observer for drawing favicons - * @param aFaviconSize size in pixels of the favicons - */ - static CBrowserFaviconHandler* NewLC( - MApiProvider& aApiProvider, - CArrayPtr* aIconArray, - MBrowserFaviconObserver& aObserver, - TSize aFaviconSize ); - - /** - * @param aApiProvider access to AppUi functions - * @param aIconArray an array of icons - * @param aObserver observer for drawing favicons - * @param aFaviconSize size in pixels of the favicons - */ - static CBrowserFaviconHandler* NewL( - MApiProvider& aApiProvider, - CArrayPtr* aIconArray, - MBrowserFaviconObserver& aObserver, - TSize aFaviconSize ); - - /** - * Destructor. - */ - ~CBrowserFaviconHandler(); - - protected: // Constructor and destructor - - /** - * @param aApiProvider access to AppUi functions - * @param aObserver observer for drawing favicons - * @param aFaviconSize size in pixels of the favicons - */ - CBrowserFaviconHandler( MApiProvider& aApiProvider, - MBrowserFaviconObserver& aObserver, - TSize aFaviconSize ); - - public: // from MBrowserFaviconScalerCallback - void ScalingCompletedL(CFbsBitmap* aResult, const TRect& aTargetRect); - - public: // from CActive - - /** - * Cancel any outstanding requests - */ - void DoCancel(); - - /** - * Handles object`s request completion event. - */ - void RunL(); - - public: // New functions - - - /** - * Initiates getting favicons for the favourites list - * @param aFavItems a list of favourites items - */ - void StartGetFaviconsL( CFavouritesItemList* aFavItems ); - - /** - * Appends the icon to the icon array - * @param aItem the favourites item which is being checked for favicons - * @return Index of favicon array in iIconArray - */ - TInt GetFaviconArrayIndex( const CFavouritesItem& aItem ); - - /** - * Updates the handle to icon array - * @param aIconArray an array of icons - */ - - void UpdateIconArray(CArrayPtr* aIconArray); - - protected: // New functions - - /** - * Gets the favicon for a given url from the Favicon Engine - * @param aUrl a url to check if there is an associated favicon - */ - void GetFaviconL(); - - /** - * Rescales a favicon to fit into the list box graphic pane - * and stores the result in iIconArray - */ - void RescaleFaviconL(); - - /** - * Appends the icon to the icon array - * @return Leave code - */ - TInt AppendToIconArray(); - - - private: // New functions - - void ConstructL( CArrayPtr* aIconArray ); - - // Structures - struct TFaviconIndex - { - TInt iFavouritesItemIndex; - TInt iIndex; - }; - - // Members - MApiProvider& iApiProvider; // NOT owned - MBrowserFaviconObserver& iObserver; // NOT owned - - CArrayPtr* iIconArray; // NOT owned - CArrayFixFlat* iFaviconArrayIndices; // owned - - CFavouritesItemList* iFavItems; // NOT owned - TSize iFaviconSize; - - CGulIcon* iFavicon; // NOT owned - HBufC* iUrl; // owned - - // Counters - TInt iFavItemsCurrentIndex; // position in the favourites item list - TInt iFaviconsFound; // counter for number of favicon which have been found - - TBool iWasLastItemFavicon; - CBrowserFaviconScaler* iBmpScaler; // owned - TBool iHasMask; - }; - - - -#endif // __BROWSERFAVICONHANDLER_H