diff -r 8ee96d21d9bf -r 7e0eff37aedb gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPluginModel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPluginModel.h Wed Sep 01 12:20:44 2010 +0100 @@ -0,0 +1,358 @@ +/* +* 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 "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: Display Settings model. +* +*/ + + +#ifndef GSDISPLAYPLUGINMODEL_H +#define GSDISPLAYPLUGINMODEL_H + +#include +#include +#include +#include +#include + +class CGSDisplayPluginContainer; + +// CONSTANTS +// maximum string sizes +const TInt KGSMaxImagePath = 256; // max lenght of image paths +const TInt KGSMaxWNText = 50; // max length of welcome note text +const TInt KGSMaxSSText = 15; // max lenght of screen saver text +const TInt KGSWelcomeNoteTypeValue = 0; +const TInt KGSScreenSaverObjectValue = 0; +const TInt KGSScreenSaverPeriodValue = 5; +const TInt KGSWNTextIndex = 1; +const TInt KGSWNImageIndex = 2; +const TInt KGSBgImageIndex = 1; +const TInt KGSSSTextObjectIndex = 0; + +//for switching values in SwitchValue() +const TInt KGSSettingOff = 0; +const TInt KGSSettingOn = 1; + +// Setting values for Background and Welcome note image +const TInt KGSUWNoteSupportedValue = 1; // default is show the item +const TInt KGSWelcomeNoteTypeImage = 2; + +_LIT( KGSWelcomeNoteImgPath, "c:\\private\\100058ec\\welcomeimage.mbm" ); + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CGSBackgroundImage; + +// CLASS DEFINITION +/** +* CGSDisplayPluginModel is the model class of GS display plugin. +* It provides functions to get and set setting values. +* @lib GSDisplayPlugin.lib +* @since Series 60_3.1 + +*/ +NONSHARABLE_CLASS( CGSDisplayPluginModel ): public CBase, + public MCenRepNotifyHandlerCallback + { + public: // Constructor and destructor + /** + * Two-phased constructor + * @param aInitBackgrooundApi Set to ETrue if CGSBackgroundImage is to + * be initialized. This is not to possible if model is created in + * a process without a Avkon UI. + */ + static CGSDisplayPluginModel* NewL( TBool aInitBackgroundApi ); + static CGSDisplayPluginModel* NewL(); + + /** + * Destructor + */ + ~CGSDisplayPluginModel(); + + public: // new ones + + /** + * Returns welcome note type. + * @return 0: default + * 1: text + * 2: image + */ + TInt WelcomeNoteTypeL(); + + /** + * Sets welcomenote type. + * @param aType Type of the welcome note. + */ + void SetWelcomeNoteTypeL( TInt aType ); + + /** + * Gets welcome note text from shared data. + * @param aNote Descriptor which will contain the welcome note text. + * Max length is KGSMaxWNText. + */ + void WelcomeNoteTextL( TDes& aNote ); + + /** + * Stores welcome note text to shared data. + * @param aNote Descriptor which contains the welcome note text. + * Max length is KGSMaxWNText. + */ + void SetWelcomeNoteTextL( const TDesC& aNote ); + + /** + * Returns the deviation from the calibrated contrast value. + * @return Deviation from the calibrated contrast value. + * Min value is -15 and max value is 15. + */ + TInt ContrastL(); + + /** + * Sets the deviation from the calibrated contrast value. + * @param aContrast Deviation from the calibrated contrast value. + * Min value is -15 and max value is 15. + */ + void SetContrastL( const TInt aContrast ); + + /** + * Return value tells what is screen saver object. + * @return 0: text + * 1: time and date + */ + TInt ScreenSaverObjectL(); + + /** + * Sets screen saver object. + * @param aObject screen saver object. + */ + void SetScreenSaverObjectL( const TInt aObject ); + + /** + * Gets screen saver text from shared data. + * @param aText Descriptor which will contain the screen saver text. + * Max length is KGSMaxSSText. + */ + void GetScreenSaverTextL( TDes& aText ); + + /** + * Stores screen saver text to shared data. + * @param aText Descriptor which contains the screen saver text. + * Max length is KGSMaxSSText. + */ + void SetScreenSaverTextL( const TDesC& aText ); + + /** + * Returns the period of time after which the screen saver starts + * if the keys are not pressed. + * @return Minutes between 1 and 30. + */ + TInt ScreenSaverAndKeyguardPeriodL(); + + /** + * Sets the period of time after which the screen saver starts + * if the keys are not pressed. + * @param aPeriod Screen saver period (minutes between 1 and 30). + */ + void SetScreenSaverAndKeyguardPeriodL( const TInt aPeriod ); + + /** + * Returns the period of time after which the backlight fades out + * if the keys are not pressed. + * @return Seconds between 5 and 60. + */ + TInt BacklightPeriodL(); + + /** + * Sets the period of time after which the backlights fades out + * if the keys are not pressed. + * @param aPeriod backlight period (seconds between 5 and 60). + */ + void SetBacklightPeriodL( const TInt aPeriod ); + + /** + * Checks whether the user welcome note is supported + * @return TInt + */ + TInt IsUWNoteSupportedL(); + + /** + * Returns the deviation from the calibrated brightness value. + * @return Deviation from the calibrated brightness value. + * Min value is 1 and max value is 31. + */ + TInt BrightnessL(); + + /** + * Sets the deviation from the calibrated brightness value. + * @param aBrightness Deviation from the calibrated brightness value. + * Min value is 1 and max value is 31. + */ + void SetBrightnessL( const TInt aBrightness ); + + /** + * Returns the deviation from the calibrated light sensor value. + * @return Deviation from the calibrated light sensor value. + * Min value is 1 and max value is 5. + */ + TInt AmbientLightSensorL(); + + /** + * Sets the deviation from the calibrated light sensor value. + * @param aSensorSensivity Deviation from the calibrated brightness value. + * Min value is 1 and max value is 5. + */ + void SetAmbientLightSensorL( const TInt aSensorSensitivity ); + + /** + * Returns the current display text size. + * @return One of the following values: + * Large + * Normal (default) + * Small + */ + TInt DisplayTextSizeL(); + + /** + * Set the new display text size. + * @param aSize. One of the following values: + * Large + * Normal (default) + * Small + */ + void SetDisplayTextSizeL( TInt aSize ); + + + /** + * Get the Power Save Led value + * @return: + * 0: Disabled + * 1: Enabled + */ + TInt PowerSaveLedL(); + + /** + * Set the Power Save Led value + * @param aPowerLedState + * 0: Disabled + * 1: Enabled + */ + void SetPowerSaveLedL( const TInt aPowerLedState ); + + /** + * Checks Power Save Led support + * @return: + * 0: Disabled + * 1: Enabled + */ + TInt CheckPowerSaveLedSupportL(); + + /** + * @return pointer to background image. Does not transfer ownership. + */ + CGSBackgroundImage* BackgroundImage(); + + /** + * Checks ScreenSaver timeout support + * @return: + * ETrue: ScreenSaver timeout setting is supported + * EFalse: ScreenSaver timeout setting is not supported + */ + TBool CheckScreenSaverTimeoutSupportL(); + + /** + * Checks if Operator Logo setting item is to be made visible. + * @return ETrue if setting item is to be shown. + * EFalse if setting item is not to be shown. + */ + TBool ShowOperatorLogoSettingL(); + + /** + * Gets operator logo state. + * @return KGSSettingOn if logo is used. + * KGSSettingOff if logo is not used. + */ + TInt OperatorLogoL(); + + /** + * @param + */ + void SetOperatorLogoL( TInt aOperatorLogo ); + + /** + * @param + */ + void SetOwner( CGSDisplayPluginContainer* aPlugin); + + private: // Private constructors + + /** + * Default C++ contructor + */ + CGSDisplayPluginModel(); + + /** + * Symbian OS default constructor + * @return void + */ + void ConstructL( TBool aInitBackgroundApi ); + + /** + * Initialize CenRep keys used in this class + */ + void InitializeCentralRepositoryL(); + + /** + * Un-initialize CenRep keys used in this class + */ + void UninitializeCentralRepository(); + + private: // new ones + + void SetBackLightValueL(); + TInt ScaleIntensityValues( TInt aValue, TBool aSample ); + TInt ScaleLightSensorValues( TInt aValue, TBool aDirection ); + + // From MCenRepNotifyHandlerCallback + void HandleNotifyInt( TUint32 aId, TInt aNewValue); + + private: + //Central repository objects + CRepository* iPersonalizationRepository; + CRepository* iStartupConfRepository; + CRepository* iScreensaverRepository; + CRepository* iLightRepository; + CRepository* iSecurityRepository; + CRepository* iGSVariationRepository; + CRepository* iAvkonRepository; + // Used for OperatorLogo + CCenRepNotifyHandler* iNotifyHandlerForOpLogo; + CCenRepNotifyHandler* iNotifyHandlerForOpLogoVisible; + CGSDisplayPluginContainer* iContainer; + + //P&S keys + RProperty* iCoreAppProperty; + + //local variated constants + TInt iLocalVariationValues; + + CGSBackgroundImage* iBackgroundApi; + }; + +#endif //GSDISPLAYPLUGINMODEL_H + +// End of File \ No newline at end of file