--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/BrowserAppInc/BrowserPopupEngine.h Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2002 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 CBrowserPopupEngine
+*
+*
+*/
+
+
+#ifndef __BROWSERPOPUPENGINE_H
+#define __BROWSERPOPUPENGINE_H
+
+// INCLUDE FILES
+#include <f32file.h>
+#include <e32base.h>
+#include <badesca.h>
+
+// CLASS DECLARATION
+
+/**
+* CBrowserPopupEngine.
+*
+* @lib Browser.app
+* @since Series 60 3.0
+*/
+class CBrowserPopupEngine : public CBase
+{
+ public:// Constructors and destructor
+ /**
+ * Default constructor.
+ */
+ CBrowserPopupEngine();
+ /**
+ * Destructor.
+ */
+ ~CBrowserPopupEngine();
+ static CBrowserPopupEngine* NewLC();
+ static CBrowserPopupEngine* NewL();
+ public:// New functions
+ /**
+ * Adds url to white list
+ * @param aUrl url to ad to white list
+ */
+ void AddUrlToWhiteListL(const TDesC& aUrl);
+ /**
+ * Checks whether the url is on the white list
+ * @param aUrl url to check
+ * @return ETrue if the url is on white list
+ */
+ TBool IsUrlOnWhiteListL(const TDesC& aUrl);
+
+ void RemoveUrlFromWhiteListL(const TDesC& aUrl);
+
+ private:
+ void ConstructL();
+ /**
+ * Checks whether the url is in white cache
+ * @param aUrl url to check
+ * @return ETrue if the url is in white cache
+ */
+ TBool IsUrlInWhiteCacheL(const TDesC& aUrl);
+ /**
+ * Checks whether the url is in the white file
+ * @param aUrl url to check
+ * @return ETrue if the url is in white file
+ */
+ TBool IsUrlInWhiteFileL(const TDesC& aUrl);
+ /**
+ * Checks whether the url is in file
+ * @param aUrl url to check
+ * @return ETrue if the url is in file
+ */
+ TBool IsUrlInFileL(const RFile* aFile, const TDesC& aUrl);
+ /**
+ * Checks whether the url is in the cache
+ * @param aUrl url to check
+ * @return ETrue if the url is in cache
+ */
+ TBool IsUrlInCacheL( const CDesCArrayFlat* aCacheArray, const TDesC& aUrl, const TInt aLoadedurlno );
+ /**
+ * Loads urls to cache
+ * @param aFile file where from the urls will be loaded
+ * @param aCacheArray where to load the urls
+ * @param aLoadedUrlNo number of loaded urls
+ */
+ void LoadUrlsToCacheL(const RFile* aFile, CDesCArrayFlat* aCacheArray, TInt* aLoadedUrlNo);
+ /**
+ * Adds url to cache
+ * @param aCacheArray array where to add the url
+ * @param aUrl url to add to cache
+ */
+ void AddUrlToCacheL( CDesCArrayFlat* aCacheArray, const TDesC& aUrl );
+ /**
+ * Converts TDesc16 to TPtrC8
+ * @param aString string to convert
+ * @return a TPtrC8
+ */
+ TPtrC8 TDesC16ToTPtrC8(const TDesC16 &aString);
+ /**
+ * Converts TDesc8 to TPtrC16
+ * @param aString string to convert
+ * @return a TPtrC16
+ */
+ TPtrC16 TDesC8ToTPtrC16(const TDesC8 &aString);
+ /**
+ * Converts TDesc16 to HBufC8
+ * @param aString string to convert
+ * @return a pointer to HBufC8
+ */
+ HBufC8 *TDesC16ToHBufC8LC(const TDesC16 &string);
+ /**
+ * Converts TDesc8 to HBufC16
+ * @param aString string to convert
+ * @return a pointer to HBufC16
+ */
+ HBufC16 *TDesC8ToHBufC16LC(const TDesC8 &aString);
+ /**
+ * Opens the database
+ * @param aFile pointer to the file handle
+ * @param aIsBlack whether the databas is black
+ * @return
+ */
+ void OpenDatabaseL(RFile* aFile);
+ /**
+ * Handles order changes in the database
+ * @param aFile database file
+ * @param aUrl the url which cause the hange
+ * @param aExists whether the url exists in the database allready
+ * @param aIsBlack whether the database is black
+ * @param aToAdd whether to add the url to the database
+ * @return
+ */
+ void HandleUrlOrderChangeL(RFile* aFile, const TDesC& aUrl, const TBool aExists,const TBool aToAdd );
+ /**
+ * Removes Url from the cache
+ * @param aCacheArray
+ * @param aUrl
+ * @param aCacheNo
+ * @return
+ */
+ void RemoveUrlFromCacheL( CDesCArrayFlat* aCacheArray, const TDesC& aUrl, TInt &aCacheNo );
+ /**
+ * Checks whether the database is valid
+ * @param aFile pointer to the file which will be checked
+ * @return ETrue if the file is OK
+ */
+ TBool CheckDbValidity(RFile* aFile);
+ //member variables
+ RFs iFs;
+ RFile iWhiteListFile;//stores the white urls
+ CDesCArrayFlat* iCachedWhiteUrls;//owned
+ TInt iWhiteCacheNo;//number of white urls loaded to cache
+};
+
+
+
+#endif //__BROWSERPOPUPENGINE_H
\ No newline at end of file