diff -r 6df133bd92e1 -r 075425b8d9a4 radioengine/settings/inc/cradioenginesettings.h --- a/radioengine/settings/inc/cradioenginesettings.h Fri Jun 04 10:21:36 2010 +0100 +++ b/radioengine/settings/inc/cradioenginesettings.h Fri Jun 11 13:38:32 2010 +0300 @@ -22,23 +22,36 @@ #include "mradioenginesettings.h" #include "mradiosettingssetter.h" #include "cradioregion.h" -#include "mradiorepositoryentityobserver.h" -#include "cradiosettingsbase.h" // Forward declarations class MRadioSettingsObserver; +class CRepository; +class CRadioSettingsImp; + +// Constants + +/** + * Maximum size of the network country code. + * From CTelephony::TNetworkInfoV1 in etel3rdparty.h + */ +enum { KNetworkCountryCodeSize = 4 }; + +/** + * Maximum size of the network identity. + * From CTelephony::TNetworkInfoV1 in etel3rdparty.h + */ +enum { KNetworkIdentitySize = 8 }; /** * Concrete implementation of radio settings. */ -NONSHARABLE_CLASS( CRadioEngineSettings ) : public CRadioSettingsBase +NONSHARABLE_CLASS( CRadioEngineSettings ) : public CBase , public MRadioSettingsSetter - , public MRadioRepositoryEntityObserver { public: - static CRadioEngineSettings* NewL( CRadioRepositoryManager& aRepositoryManager, CCoeEnv& aCoeEnv ); + static CRadioEngineSettings* NewL( CRadioSettingsImp& aRadioSettingsImp ); ~CRadioEngineSettings(); @@ -49,7 +62,7 @@ private: - CRadioEngineSettings( CRadioRepositoryManager& aRepositoryManager, CCoeEnv& aCoeEnv ); + CRadioEngineSettings( CRadioSettingsImp& aRadioSettingsImp ); void ConstructL(); @@ -73,10 +86,8 @@ TUint32 MaxFrequency() const; TUint32 MinFrequency() const; TInt DecimalCount() const; - TBool RdsAfSearchEnabled() const; TRadioRegion DefaultRegion() const; TPtrC NetworkId() const; - TPtrC SubscriberId() const; TPtrC CountryCode() const; // from base class MRadioSettingsSetter @@ -93,25 +104,31 @@ TInt SetPowerOn( TBool aPowerState ); TInt SetTunedFrequency( TUint32 aFrequency ); TInt SetRegionId( TInt aRegion ); - TInt SetRdsAfSearch( TBool aEnabled ); TInt SetNetworkId( const TDesC& aNetworkId ); - TInt SetSubscriberId( const TDesC& aSubscriberId ); TInt SetCountryCode( const TDesC& aCountryCode ); -// from base class MRadioRepositoryEntityObserver - - void HandleRepositoryValueChangeL( const TUid& aUid, TUint32 aKey, TInt aValue, TInt aError ); - void HandleRepositoryValueChangeL( const TUid& /*aUid*/, TUint32 /*aKey*/, const TReal& /*aValue*/, TInt /*aError*/ ) {} - void HandleRepositoryValueChangeL( const TUid& /*aUid*/, TUint32 /*aKey*/, const TDesC8& /*aValue*/, TInt /*aError*/ ) {} - void HandleRepositoryValueChangeL( const TUid& /*aUid*/, TUint32 /*aKey*/, const TDesC16& /*aValue*/, TInt /*aError*/ ) {} - // New functions /** + * Initializes the data holders + */ + void InitializeDataHolders(); + + /** + * Gets a repository value and sets the default value if the key is not found + */ + TBool GetRepositoryValue( int aKey, TInt& aValue, TInt aDefault ); + + /** + * Sets a boolean value to cenrep and data holder + */ + TInt SetFlagValue( int aKey, int aFlagId, TInt aValue ); + + /** * Initializes the regions as defined in the resource file. */ void InitializeRegionsL(); - + /** * Converts Region ID to index * @@ -133,17 +150,34 @@ * The observer for the setting changes. * Not own. */ - MRadioSettingsObserver* iObserver; + MRadioSettingsObserver* iObserver; /** * The available regions. */ - RRadioRegionArray iRegions; + RRadioRegionArray iRegions; /** * The current region. */ - TInt iCurrentRegionIdx; + TInt iCurrentRegionIdx; + + CRadioSettingsImp& iRadioSettingsImp; + + RResourceFile iResFile; + + CRepository* iRepository; + + // Data holders for quick access + TBitFlags iFlags; + TBuf iNetworkId; + TBuf iCountryCode; + TInt iHeadsetVolume; + TInt iSpeakerVolume; + TUint32 iFrequency; + TInt iDefaultMinVolume; + TRadioRegion iDefaultRegion; + TRadioRegion iRegionId; };