diff -r 000000000000 -r dd21522fd290 webengine/wmlengine/src/utils/include/CBrowserSettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/wmlengine/src/utils/include/CBrowserSettings.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,192 @@ +/* +* Copyright (c) 2003 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: +* +*/ + + +#ifndef __UTIL_SETTINGS_H +#define __UTIL_SETTINGS_H + +#include +#include +#include "nwx_defs.h" +#include "nwx_settings.h" + +// FYI: All key literals come from \epoc32\include\oem\SharedDataKeysVariant.h +// Please do not define key literal strings here. + +_LIT( KValueOn, "True" ); +_LIT( KValueOff, "False" ); + +class CRepository; + +enum TBrowserSetting + { + EFontSizeLevel = 0x1, + EEncoding = 0x2, + ECookiesEnabled = 0x4, + EImagesEnabled = 0x8, + EEcmaScriptEnabled = 0x10, + ETextWrapEnabled = 0x20, + EOriginalEncoding = 0x40, + EVerticalLayoutEnabled = 0x80, + ECSSFetchEnabled = 0x100, + EDisableSmallScreenLayout = 0x200, + EIsEmbedded = 0x400, + EIMEINotifyEnabled = 0x800, + ESendReferrerHeader = 0x1000, + EHttpSecurityWarnings = 0x2000 + }; + +/***************************************************************** + + Description: abstract observer calss + +******************************************************************/ +/*class MBrowserSettingsObserver + { + // + public: + + virtual void BrowserSettingChanged( enum TBrowserSetting aBrowserSetting ) = 0; + }; +*/ +/***************************************************************** + + Description: This class keeps track of the settings. + +******************************************************************/ + +NONSHARABLE_CLASS(CBrowserSettings) : public CBase + { + public: + + //Construction + + static CBrowserSettings* Instance(); + + ~CBrowserSettings(); + + // observer methods + //void SetObserver( MBrowserSettingsObserver* aBrowserSettingsObserver, + // TUint aObservedSettings ); + + void RemoveObserver( void ); + + // Access methods + NW_Bool GetStartFromHomepage(void); + + NW_Uint8 GetFontSizeLevel(void); + void SetFontSizeLevel(NW_Uint8 fontSizeLevel); + + NW_Uint16 GetEncoding(void); + void SetEncoding(NW_Uint16 encoding); + + NW_Bool GetCookiesEnabled(void); + void SetCookiesEnabled(const NW_Bool enabled); + + NW_Bool GetImagesEnabled(void); + void SetImagesEnabled(const NW_Bool enabled); + + NW_Bool GetEcmaScriptEnabled(void); + void SetEcmaScriptEnabled(const NW_Bool enabled); + + NW_Bool GetTextWrapEnabled(void); + void SetTextWrapEnabled(const NW_Bool enabled); + + NW_Bool GetAlwaysConfirmDtmfSending(void); + void SetAlwaysConfirmDtmfSending(const NW_Bool enabled); + + NW_Uint32 GetOriginalEncoding(void); + void SetOriginalEncoding(NW_Uint32 encoding); + + NW_Bool GetVerticalLayoutEnabled(void); + void SetVerticalLayoutEnabled(const NW_Bool enabled); + + void SetInternalVerticalLayoutEnabled(const NW_Bool enabled); + + void SetCSSFetchEnabled(const NW_Bool disabled); + NW_Bool GetCSSFetchEnabled(void); + + NW_Uint16 GetDefaultCharset(void); + void SetDefaultCharset(NW_Uint16 defaultCharset); + + void SetDisableSmallScreenLayout(const NW_Bool disabled); + NW_Bool GetDisableSmallScreenLayout(); + + NW_Bool GetIsBrowserEmbedded(void); + void SetIsBrowserEmbedded(const NW_Bool isEmbedded); + + TUint GetLocalFeatures(void); + + NW_Ucs2* GetTempFilesPath(void); + + NW_Uint8 GetMMCDrive(void); + + NW_Uint8 GetIMEINotifyEnabled(void); + void SetIMEINotifyEnabled(NW_Uint8 enabled); + + NW_Uint8 GetSendReferrerHeader(void); + void SetSendReferrerHeader(NW_Uint8 enabled); + + NW_Bool GetHttpSecurityWarnings(void); + void SetHttpSecurityWarnings(NW_Bool enabled); + + NW_Uint32 GetIAPId(void); + void SetIAPId(NW_Uint32 aIapId); + + private: + + CBrowserSettings(); + + // observer method + void PublishSettingChange( enum TBrowserSetting aBrowserSetting ); + + // Utility methods + TInt GetIntValue(const TUint32 aKey); + NW_Bool GetBooleanValue(const TUint32 aKey); + NW_Ucs2* GetStringValue( const TUint32 aKey ); + + private: + + NW_Bool iStartFromHomepage; + NW_Uint8 iFontSizeLevel; + NW_Uint16 iEncoding; + NW_Bool iCookiesEnabled; + NW_Bool iImagesEnabled; + NW_Uint8 iEcmaScriptEnabled; + NW_Uint8 iTextWrapEnabled; + NW_Uint32 iOriginalEncoding; + NW_Uint8 iVerticalLayoutEnabled; + NW_Bool iCSSFetchEnabled; + NW_Bool iDisableSmallScreenLayout; + NW_Uint16 iDefaultCharset; + + CRepository* iRepository; + NW_Bool iIsEmbedded; + TUint iFeatureBitmask; + NW_Ucs2* iTempFilesPath; + NW_Uint8 iMMCDrive; + NW_Uint8 iIMEINotifyEnabled; + NW_Uint8 iSendReferrerHeader; + NW_Bool iHttpSecurityWarnings; + NW_Bool iSecUI; + NW_Uint32 iIapId; + + //MBrowserSettingsObserver* iBrowserSettingsObserver; + TUint iObservedSettings; + }; + +#endif /* __UTIL_SETTINGS_H */