diff -r 608f67c22514 -r 896e9dbc5f19 internetradio2.0/irsettings/src/irsettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internetradio2.0/irsettings/src/irsettings.cpp Wed Aug 18 09:40:26 2010 +0300 @@ -0,0 +1,578 @@ +/* +* Copyright (c) 2009 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: +* +*/ +#include +#include +#include +#include +#include +#include + +#include "irdebug.h" +#include "irsettings.h" +#include "irinternalcrkeys.h" + +// Constants +const TInt KSix = 6; +const TInt KFifty = 50; +const TInt KTimeSize = 60000000 ; + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C CIRSettings* CIRSettings::OpenL() + { + IRLOG_DEBUG( "CIRSettings::OpenL() - Entering" ); + CIRSettings* self = static_cast( Dll::Tls() ); + + if ( self ) + { + User::LeaveIfError( self->Open() ); + } + else + { + self = new ( ELeave ) CIRSettings; + CleanupClosePushL( *self ); + self->ConstructL(); + CleanupStack::Pop( self ); + } + IRLOG_DEBUG( "CIRSettings::OpenL() - Exiting" ); + return self; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +CIRSettings::CIRSettings() + { + IRLOG_DEBUG( "CIRSettings::CIRSettings" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +void CIRSettings::ConstructL() + { + IRLOG_DEBUG( "CIRSettings::ConstructL() - Enter" ); + + iRepository = CRepository::NewL(KCRUidInternetRadio); + + User::LeaveIfError( iFs.Connect() ); + TParse parse; + // Parses out the private path of the running process. + User::LeaveIfError( iFs.PrivatePath( iPrivatePath ) ); + + TParsePtrC phoneMemoryRootPath( PathInfo::PhoneMemoryRootPath() ); + TPtrC drive( phoneMemoryRootPath.Drive() ); + User::LeaveIfError( parse.Set( iPrivatePath, &drive, NULL ) ); + iPrivatePath = parse.FullName(); + + BaflUtils::EnsurePathExistsL( iFs, parse.FullName() ); + + IRLOG_DEBUG2("CIRSettings::ConstructL - iPrivatePath = %S", &iPrivatePath ); + + User::LeaveIfError( Dll::SetTls( this ) ); + + IRLOG_DEBUG( "CIRSettings::ConstructL() - Exit" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +CIRSettings::~CIRSettings() + { + IRLOG_DEBUG( "CIRSettings::~CIRSettings() - Entering" ); + delete iRepository; + iFs.Close(); + + Dll::FreeTls(); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CIRSettings::IsFlagTermsAndConditionsL() + { + IRLOG_DEBUG( "CIRSettings::IsFlagTermsAndConditionsL() - Entering" ); + TInt value = 0; + User::LeaveIfError( iRepository->Get(KIRTermsAndConditionsFlag, value) ); + IRLOG_DEBUG( "CIRSettings::IsFlagTermsAndConditionsL() - Exiting" ); + return value == 1 ? ETrue : EFalse; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetFlagTermsAndConditionsL() + { + IRLOG_DEBUG( "CIRSettings::SetFlagTermsAndConditionsL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRTermsAndConditionsFlag, 1)); + IRLOG_DEBUG( "CIRSettings::SetFlagTermsAndConditionsL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::ReSetFlagTermsAndConditionsL() + { + IRLOG_DEBUG( "CIRSettings::ReSetFlagTermsAndConditionsL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRTermsAndConditionsFlag, 0)); + IRLOG_DEBUG( "CIRSettings::ReSetFlagTermsAndConditionsL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetIrappVersionL() const + { + IRLOG_DEBUG( "CIRSettings::GetIrappVersionL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRIrAppVersion, (TDes&)iIrappVersion) ); + IRLOG_DEBUG( "CIRSettings::GetIrappVersionL() - Exiting" ); + return iIrappVersion; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetIRIDL(const TDesC& aIrid) + { + IRLOG_DEBUG( "CIRSettings::SetIRIDL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRIrId, aIrid) ); + IRLOG_DEBUG( "CIRSettings::SetIRIDL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetIRIDL() const + { + IRLOG_DEBUG( "CIRSettings::GetIRIDL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRIrId, (TDes&)iIRID) ); + IRLOG_DEBUG( "CIRSettings::GetIRIDL() - Exiting" ); + return iIRID; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetISDSBaseUrlL() const + { + IRLOG_DEBUG( "CIRSettings::GetISDSBaseUrlL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRIsdsUrl, (TDes&)iISDSBaseUrl) ); + IRLOG_DEBUG( "CIRSettings::GetISDSBaseUrlL() - Exiting" ); + return iISDSBaseUrl; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetISDSBaseUrlL(const TDesC& aIsdsUrl) + { + IRLOG_DEBUG( "CIRSettings::SetISDSBaseUrlL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRIsdsUrl, aIsdsUrl) ); + IRLOG_DEBUG( "CIRSettings::SetISDSBaseUrlL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::GetVolumeSetting() const + { + IRLOG_DEBUG( "CIRSettings::GetVolumeSetting() - Entering" ); + TInt value = KSix; + TInt err = iRepository->Get(KIRPlayerVolume, value); + if(err) + { + IRLOG_DEBUG( "CIRSettings::GetVolumeSetting() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::GetVolumeSetting() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetVolumeSettingL(TInt aPlayVolume) + { + IRLOG_DEBUG( "CIRSettings::SetVolumeSettingL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRPlayerVolume, aPlayVolume)); + IRLOG_DEBUG( "CIRSettings::SetVolumeSettingL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CIRSettings::IsUpdateAvailableL() + { + IRLOG_DEBUG( "CIRSettings::IsUpdateAvailableL() - Entering" ); + TBool value = ETrue; + User::LeaveIfError( iRepository->Get(KIRUpdateAvailablity, value) ); + IRLOG_DEBUG( "CIRSettings::IsUpdateAvailableL() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetUpdateAvailableL() + { + IRLOG_DEBUG( "CIRSettings::SetUpdateAvailableL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRUpdateAvailablity, 1)); + IRLOG_DEBUG( "CIRSettings::SetUpdateAvailableL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::ReSetUpdateAvailableL() + { + IRLOG_DEBUG( "CIRSettings::ReSetUpdateAvailableL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRUpdateAvailablity, 0)); + IRLOG_DEBUG( "CIRSettings::ReSetUpdateAvailableL() - Exiting" ); + } + + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::GetLogRunningNo() const + { + IRLOG_DEBUG( "CIRSettings::GetLogRunningNo() - Entering" ); + TInt value = 1; + TInt err = iRepository->Get(KIRSessionLogIndex, value); + if(err) + { + IRLOG_DEBUG( "CIRSettings::GetLogRunningNo() - Error" ); + } + IRLOG_DEBUG( "CIRSettings::GetLogRunningNo() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetLogRunningNoL() + { + IRLOG_DEBUG( "CIRSettings::SetLogRunningNoL() - Entering" ); + TInt value = GetLogRunningNo(); + value++; + User::LeaveIfError ( iRepository->Set(KIRSessionLogIndex,value)); + IRLOG_DEBUG( "CIRSettings::SetLogRunningNoL() - Exiting" ); + } + + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetTimeOutL(TInt aTimeOut) + { + IRLOG_DEBUG( "CIRSettings::SetTimeOutL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRHttpTimeout, aTimeOut) ); + IRLOG_DEBUG( "CIRSettings::SetTimeOutL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::GetTimeOut() const + { + IRLOG_DEBUG( "CIRSettings::GetTimeOut() - Entering" ); + TInt value = KTimeSize; + TInt err = iRepository->Get(KIRHttpTimeout, value) ; + if(err) + { + IRLOG_DEBUG( "CIRSettings::GetTimeOut() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::GetTimeOut() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetSilencePeriodL(TUint aSilencePeriod) + { + IRLOG_DEBUG( "CIRSettings::SetSilencePeriodL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRNewVersionNotificationInterval, (TInt)aSilencePeriod) ); + IRLOG_DEBUG( "CIRSettings::SetSilencePeriodL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TUint CIRSettings::GetSilencePeriodL() const + { + IRLOG_DEBUG( "CIRSettings::GetSilencePeriodL() - Entering" ); + TInt value =0; + User::LeaveIfError( iRepository->Get(KIRNewVersionNotificationInterval, value) ); + IRLOG_DEBUG( "CIRSettings::GetSilencePeriodL() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetSilencePeriodStartL(const TDesC& aSilencePeriodStart) + { + IRLOG_DEBUG( "CIRSettings::SetSilencePeriodStartL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRNewVersionNotificationStartingTime, aSilencePeriodStart) ); + IRLOG_DEBUG( "CIRSettings::SetSilencePeriodStartL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetSilencePeriodStartL() const + { + IRLOG_DEBUG( "CIRSettings::GetSilencePeriodStartL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRNewVersionNotificationStartingTime, + (TDes&)iSilencePeriodStartTime) ); + IRLOG_DEBUG( "CIRSettings::GetSilencePeriodStartL() - Exiting" ); + return iSilencePeriodStartTime; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetPreferredQualityL(TInt aQualityValue) + { + IRLOG_DEBUG( "CIRSettings::SetPreferredQualityL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRPreferredQuality, aQualityValue) ); + IRLOG_DEBUG( "CIRSettings::SetPreferredQualityL() - Exiting" ); + } + + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::GetPreferredQuality() const + { + IRLOG_DEBUG( "CIRSettings::GetPreferredQuality() - Entering" ); + TInt value = 0; + TInt err = iRepository->Get(KIRPreferredQuality, value); + if(err) + { + IRLOG_DEBUG( "CIRSettings::GetPreferredQuality() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::GetPreferredQuality() - Exiting" ); + return value; + } + +EXPORT_C TInt CIRSettings::GetSongHistoryShow() const +{ + IRLOG_DEBUG( "CIRSettings::GetSongHistoryShow() - Entering" ); + TInt value = 0; + TInt err = iRepository->Get(KIRSongHistoryFTU, value); + if(err) + { + IRLOG_DEBUG( "CIRSettings::GetSongHistoryShow() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::GetSongHistoryShow() - Exiting" ); + return value; +} + +EXPORT_C void CIRSettings::SetSongHisotryShowL(TInt aShowFlag) +{ + IRLOG_DEBUG( "CIRSettings::SetSongHisotryShow() - Entering" ); + User::LeaveIfError(iRepository->Set(KIRSongHistoryFTU, aShowFlag)); + IRLOG_DEBUG( "CIRSettings::SetSongHisotryShow() - Exiting" ); +} + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetMaxPresetCountL(TInt aMaxCount) + { + IRLOG_DEBUG( "CIRSettings::SetMaxPresetCountL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRFavoritesMaxNum, aMaxCount) ); + IRLOG_DEBUG( "CIRSettings::SetMaxPresetCountL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::MaxPresetCount() + { + IRLOG_DEBUG( "CIRSettings::MaxPresetCount() - Entering" ); + TInt value = KFifty; + TInt err = iRepository->Get(KIRFavoritesMaxNum, value) ; + if(err) + { + IRLOG_DEBUG( "CIRSettings::MaxPresetCount() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::MaxPresetCount() - Exiting" ); + return value; + } + + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetTimeCorrectionL(TInt aCorrection) + { + IRLOG_DEBUG( "CIRSettings::SetTimeCorrectionL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRTimeOffset, aCorrection) ); + IRLOG_DEBUG( "CIRSettings::SetTimeCorrectionL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CIRSettings::TimeCorrection() const + { + IRLOG_DEBUG( "CIRSettings::TimeCorrection() - Entering" ); + TInt value = 0; + TInt err = iRepository->Get(KIRTimeOffset, value) ; + if(err) + { + IRLOG_DEBUG( "CIRSettings::TimeCorrection() - Error" ); + } + + IRLOG_DEBUG( "CIRSettings::TimeCorrection() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::PrivatePath() const + { + IRLOG_DEBUG( "CIRSettings::PrivatePath" ); + return iPrivatePath; + } + +// --------------------------------------------------------------------------- +// SetStartingViewIdL() +// Sets the starting view Id in cenrep +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetStartingViewIdL(TUint32 aStartingViewId) + { + IRLOG_DEBUG( "CIRSettings::SetStartingViewIdL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRStartingViewId, (TInt)aStartingViewId) ); + IRLOG_DEBUG( "CIRSettings::SetStartingViewIdL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// GetStartingViewIdL() +// Gets the starting view Id from cenrep +// --------------------------------------------------------------------------- +// +EXPORT_C TUint32 CIRSettings::GetStartingViewIdL() const + { + IRLOG_DEBUG( "CIRSettings::GetStartingViewIdL() - Entering" ); + TInt value = 0; + User::LeaveIfError( iRepository->Get(KIRStartingViewId, value) ); + IRLOG_DEBUG( "CIRSettings::GetStartingViewIdL() - Exiting" ); + return value; + } + +// --------------------------------------------------------------------------- +// GetGlobalAdvFlagL() +// Gets the global advertisement flag from cenrep +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CIRSettings::GetGlobalAdvFlagL() +{ + IRLOG_DEBUG( "CIRSettings::GetGlobalAdvFlagL() - Entering" ); + TBool value = ETrue; + User::LeaveIfError( iRepository->Get(KIRGlobalAdvEnabled, value) ); + IRLOG_DEBUG( "CIRSettings::GetGlobalAdvFlagL() - Exiting" ); + return value; +} + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetManuallyInputtedStationUrlL() const + { + IRLOG_DEBUG( "CIRSettings::GetManuallyInputtedStationUrlL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRManuallyInputStationUrl, (TDes&)iStationUrl) ); + IRLOG_DEBUG( "CIRSettings::GetManuallyInputtedStationUrlL() - Exiting" ); + return iStationUrl; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetManuallyInputtedStationUrlL(const TDesC& aUrl) + { + IRLOG_DEBUG( "CIRSettings::SetManuallyInputtedStationUrlL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRManuallyInputStationUrl, aUrl) ); + IRLOG_DEBUG( "CIRSettings::SetManuallyInputtedStationUrlL() - Exiting" ); + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C const TDesC& CIRSettings::GetManuallyInputtedStationNameL() const + { + IRLOG_DEBUG( "CIRSettings::GetManuallyInputtedStationNameL() - Entering" ); + User::LeaveIfError( iRepository->Get(KIRManuallyInputStationName, (TDes&)iStationName) ); + IRLOG_DEBUG( "CIRSettings::GetManuallyInputtedStationNameL() - Exiting" ); + return iStationName; + } + +// --------------------------------------------------------------------------- +// description_if_needed +// --------------------------------------------------------------------------- +// +EXPORT_C void CIRSettings::SetManuallyInputtedStationNameL(const TDesC& aName) + { + IRLOG_DEBUG( "CIRSettings::SetManuallyInputtedStationNameL() - Entering" ); + User::LeaveIfError ( iRepository->Set(KIRManuallyInputStationName, aName) ); + IRLOG_DEBUG( "CIRSettings::SetManuallyInputtedStationNameL() - Exiting" ); + }