diff -r f5050f1da672 -r 04becd199f91 javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/browserpreferences.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/inc/browserpreferences.h Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,279 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Nokia Corporation - S60 implementation + *******************************************************************************/ + + +#ifndef BROWSERPREFERENCES_H +#define BROWSERPREFERENCES_H + + +#include "eswtexpanded.hrh" + + +class CSwtBrowserVpnApItem; +class CSwtBrowserApItem; + +const TUint KWmlNoDefaultAccessPoint = KMaxTUint; + + +/** + * Struct for MPreferencesObserver + */ +struct TPreferencesValues +{ + // Setting Values + TUint iDefaultAccessPoint; + CSwtBrowserApItem* iDefaultAPDetails; //cache all data + TUint iAssocVpn; + TBool iAccessPointSelectionMode; + TBool iAutoLoadImages; + TInt iFontSize; + TBool iTextWrap; + TWmlSettingsCookies iCookies; + TBool iPageOverview; + TBool iBackList; + TBool iAutoRefresh; + TWmlSettingsECMA iEcma; + TWmlSettingsIMEI iIMEINotification; + TUint32 iEncoding; + TWmlSettingsFullScreen iFullScreen; + TBool iQueryOnExit; + TBool iSendReferrer; + TWmlSettingsHomePage iHomePgType; + TBool iHTTPSecuritySupressed; + TBool iConnDialogs; + TBool iHttpSecurityWarnings; + TInt iMediaVolume; + HBufC* iSearchPgURL; + HBufC* iHomePgURL; + TBool iPopupBlocking; + TWmlSettingsFormData iFormDataSaving; + TWmlSettingsAutomaticUpdating iAutomaticUpdating; + TUint iAutomaticUpdatingAP; +}; + + +/** + * Enum for MPreferencesObserver + */ +enum TPreferencesEvent +{ + EPreferencesActivate, // Preferences opened + EPreferencesDeactivate, // Preferences closed + EPreferencesItemChange // Setting change has occurred +}; + + +/** + * MPreferencesObserver + * Observer for the MPreferences Class. + * @lib eswt + */ +class MPreferencesObserver +{ +public: + + /** + * From MPreferencesObserver + * Observer for Preference changes + * @param aEvent The type of preference event which happened + * @param aValues A struct of all settings values + * @return void + */ + virtual void HandlePreferencesChangeL(const TPreferencesEvent aEvent, + TPreferencesValues& aValues, TBrCtlDefs::TBrCtlSettings aSettingType) = 0; +}; + + +/** + * MBrowserPreferences + * Interface for Preferences handling. + * @lib eswt + */ +class MBrowserPreferences +{ +public: // New functions + + /** + * Returns a structure containing all of the settings according to the + * central repository values + * @return Returns references of TPreferencesValues which contains all preferences + */ + virtual const TPreferencesValues& AllPreferencesL() = 0; + + /** + * To access DefaultAccessPoint setting + * @return UID for default accesspoint + */ + virtual TUint DefaultAccessPoint() const = 0; + + /** + * To access vpn item if exists. + * @param aDefaultAccessPoint UID for the accesspoint + * @param aVpnItem Vpn Item + * @return ETrue when vpn item is valid, EFalse otherwise. + */ + virtual TBool VpnDataL(TUint aDefaultAccessPoint, + CSwtBrowserVpnApItem& aVpnItem) = 0; + + /** + * To access HTTP security warnings setting + * @return ETrue if security warnings are enabled + */ + virtual TBool HttpSecurityWarnings() const = 0; + + /** + * To check whether the CDMA UI local feature ("R-BrUI2") is + * supported or not. + * @param aFeature The feature to check. + * @return ETrue when the feature is supported, EFalse otherwise. + */ + virtual TBool CdmaUiLocalFeatureSupported(const TInt aFeature) const = 0; + + /** + * To access ShowConnectionDialogs setting + * @return ETrue if the dialog is confirmed, otherwise EFalse.. + */ + virtual TBool ShowConnectionDialogs() const = 0; + + /** + * To check that a ui local feature is supported or not + * @param aFeature Feature to check + * @return Returns ETrue if feature is supported + */ + virtual TBool UiLocalFeatureSupported(const TInt aFeature) const = 0; + + /** + * To modify DefaultAccessPoint setting. + * @param aDefaultAccessPoint Id of default accesspoint/ + * @param aAssocVpn Associated Vpn. + * @return void. + */ + virtual void SetDefaultAccessPointL(TUint aDefaultAccessPoint, + TUint aAssocVpn = KWmlNoDefaultAccessPoint) = 0; + + /** + * To modify FontSize setting + * @param aFontSize Set new font size + * @return void. + */ + virtual void SetFontSizeL(TInt aFontSize) = 0; + + /** + * To modify Encoding setting + * @param aEncoding The encoding to set. + * @return void. + */ + virtual void SetEncodingL(TUint32 aEncoding) = 0; + + /** + * To access to the list of self download content types. + * See CBrCtlInterface::SetSelfDownloadContentTypesL()! + * @return Returns the pointer to the string which indicates download content types. + */ + virtual TPtrC SelfDownloadContentTypesL() = 0; + + /** + * To access Default Access Point Always Ask settings. + * @return Returns ETrue when always ask mode is on, otherwise EFalse. + */ + virtual TBool AccessPointSelectionMode() = 0; + + /** + * To modify Default Access Point Settings + * @param aAccessPointSelectionMode Access point selection mode. + * @return void. + */ + virtual void SetAccessPointSelectionModeL( + TWmlSettingsAccessPointSelectionMode aAccessPointSelectionMode) = 0; + + /** + * To access AutoLoadImages setting. + * @return Value of setting + */ + virtual TBool AutoLoadImages() const = 0; + + /** + * To access BackList setting. + * @return Value of setting + */ + virtual TBool BackList() const = 0; + + /** + * To access AutoRefresh setting. + * @return Value of setting + */ + virtual TBool AutoRefresh() const = 0; + + /** + * To access Cookies setting + * @return TWmlSettingsCookies + */ + virtual TWmlSettingsCookies Cookies() const = 0; + + /** + * To access ECMA setting + * @return TWmlSettingsECMA + */ + virtual TWmlSettingsECMA Ecma() const = 0; + + /** + * Get IMEI notification setting + * @return EWmlSettingsIMEIEnable if notification is enabled, + * otherwise EWmlSettingsIMEIDisable + */ + virtual TWmlSettingsIMEI IMEINotification() const = 0; + + /** + * Sends/Don not send the referrer header + * 0 = Do not send the referrer header + * 1 = Send the referrer header + * @return ETrue if Send referrer header is enabled + */ + virtual TBool SendReferrer() const = 0; + + /** + * To access PageOverview setting. + * @return Value of setting + */ + virtual TBool PageOverview() const = 0; + + /** + * To access Form Data Saving setting. + * @return value of setting + */ + virtual TWmlSettingsFormData FormDataSaving() const = 0; + + /** + * Adds an observer to be notified about changes. Derived classes MUST + * notify all observers when preferences changed! + * @param anObserver Observer to be notified about events. + * @return void. + */ + virtual void AddObserverL(MPreferencesObserver* anObserver) = 0; + + /** + * Removes an observer. + * @param anObserver The observer. + * @return void. + */ + virtual void RemoveObserver(MPreferencesObserver* anObserver) = 0; + + /** + * Notifies observer. + * @param TPreferencesEvent The preference event. + * @param aSettingType the setting type. + * @return void. + */ + virtual void NotifyObserversL(TPreferencesEvent aEvent, + TBrCtlDefs::TBrCtlSettings aSettingType) = 0; +}; + +#endif // BROWSERPREFERENCES_H