diff -r 481242ead638 -r 48e827313edd pushmtm/MtmUtilSrc/PushMtmSettings.cpp --- a/pushmtm/MtmUtilSrc/PushMtmSettings.cpp Tue Feb 02 00:12:41 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,320 +0,0 @@ -/* -* Copyright (c) 2002 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: CPushMtmSettings class definition. -* -*/ - - - -// INCLUDE FILES - -#include "PushMtmSettings.h" -#include "PushInitiatorList.h" -#include "PushMtmUtilPanic.h" -#include "PushMtmLog.h" -#include "PushMtmPrivateCRKeys.h" -#include -#include -#include -#include -#include - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CPushMtmSettings::NewL -// --------------------------------------------------------- -// -EXPORT_C CPushMtmSettings* CPushMtmSettings::NewL() - { - CPushMtmSettings* self = CPushMtmSettings::NewLC(); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------- -// CPushMtmSettings::NewLC -// --------------------------------------------------------- -// -EXPORT_C CPushMtmSettings* CPushMtmSettings::NewLC() - { - PUSHLOG_ENTERFN("CPushMtmSettings::NewLC") - - CPushMtmSettings* self = new (ELeave) CPushMtmSettings(); - CleanupStack::PushL( self ); - self->ConstructL(); - - PUSHLOG_LEAVEFN("CPushMtmSettings::NewLC") - return self; - } - -// --------------------------------------------------------- -// CPushMtmSettings::~CPushMtmSettings -// --------------------------------------------------------- -// -EXPORT_C CPushMtmSettings::~CPushMtmSettings() - { - PUSHLOG_ENTERFN("CPushMtmSettings::~CPushMtmSettings") - delete iPushInitiatorList; - if ( iFeatureManagerInitialized ) - { - FeatureManager::UnInitializeLib(); - iFeatureManagerInitialized = EFalse; - } - PUSHLOG_LEAVEFN("CPushMtmSettings::~CPushMtmSettings") - } - -// --------------------------------------------------------- -// CPushMtmSettings::SetServiceReception -// --------------------------------------------------------- -// -EXPORT_C void CPushMtmSettings::SetServiceReception( TBool aReceive ) - { - PUSHLOG_WRITE_FORMAT - ("CPushMtmSettings::SetServiceReception <%d>",aReceive?1:0) - if ( iServiceReception != aReceive ) - { - iServiceReception = aReceive; - iServiceReceptionChanged = ETrue; - } - } - -// --------------------------------------------------------- -// CPushMtmSettings::SetServiceLoadingType -// --------------------------------------------------------- -// -EXPORT_C void CPushMtmSettings::SetServiceLoadingType( TServiceLoading aType ) - { - PUSHLOG_WRITE_FORMAT - ("CPushMtmSettings::SetServiceLoadingType <%d>",(TInt)aType) - if ( iServiceLoadingType != aType ) - { - iServiceLoadingType = aType; - iServiceLoadingTypeChanged = ETrue; - } - } - -// --------------------------------------------------------- -// CPushMtmSettings::ServiceReception -// --------------------------------------------------------- -// -EXPORT_C TBool CPushMtmSettings::ServiceReception() const - { - PUSHLOG_WRITE_FORMAT - ("CPushMtmSettings::ServiceReception <%d>",(TInt)iServiceReception) - return iServiceReception; - } - -// --------------------------------------------------------- -// CPushMtmSettings::ServiceLoadingType -// --------------------------------------------------------- -// -EXPORT_C CPushMtmSettings::TServiceLoading - CPushMtmSettings::ServiceLoadingType() const - { - PUSHLOG_WRITE_FORMAT - ("CPushMtmSettings::ServiceLoadingType <%d>",(TInt)iServiceLoadingType) - return iServiceLoadingType; - } - -// --------------------------------------------------------- -// CPushMtmSettings::PushInitiatorList -// --------------------------------------------------------- -// -EXPORT_C CPushInitiatorList& CPushMtmSettings::PushInitiatorList() const - { - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - return *iPushInitiatorList; - } - -// --------------------------------------------------------- -// CPushMtmSettings::LoadL -// --------------------------------------------------------- -// -EXPORT_C void CPushMtmSettings::LoadL() - { - PUSHLOG_ENTERFN("CPushMtmSettings::LoadL") - - Reset(); // Remove outdated data. - - // Open the Repository for reading: - CRepository* repository = CRepository::NewL( KCRUidPushMtm ); - CleanupStack::PushL( repository ); - - InternalizeL( *repository ); - - CleanupStack::PopAndDestroy( repository ); // repository - - // ******************** Reset indicators *********************** - iServiceReceptionChanged = EFalse; - iServiceLoadingTypeChanged = EFalse; - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - iPushInitiatorList->ResetChanged(); - - PUSHLOG_LEAVEFN("CPushMtmSettings::LoadL") - } - -// --------------------------------------------------------- -// CPushMtmSettings::SaveL -// --------------------------------------------------------- -// -EXPORT_C void CPushMtmSettings::SaveL( const TBool aForce ) - { - PUSHLOG_ENTERFN("CPushMtmSettings::SaveL") - PUSHLOG_WRITE_FORMAT(" aForce <%d>",aForce?1:0) - PUSHLOG_WRITE_FORMAT(" SR changed <%d>",iServiceReceptionChanged?1:0) - PUSHLOG_WRITE_FORMAT(" SL changed <%d>",iServiceLoadingTypeChanged?1:0) - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - PUSHLOG_WRITE_FORMAT(" WL changed <%d>",iPushInitiatorList->Changed()?1:0) - - if ( aForce || ( iServiceReceptionChanged || - iServiceLoadingTypeChanged || - iPushInitiatorList->Changed() ) ) - { - // Save the settings to Repository. - CRepository* repository = CRepository::NewL( KCRUidPushMtm ); - CleanupStack::PushL( repository ); - - ExternalizeL( *repository ); - - CleanupStack::PopAndDestroy( repository ); // repository - - // ***************** Reset indicators *********************** - iServiceReceptionChanged = EFalse; - iServiceLoadingTypeChanged = EFalse; - __ASSERT_DEBUG( iPushInitiatorList, - UtilPanic( EPushMtmUtilPanNull ) ); - iPushInitiatorList->ResetChanged(); - } - - PUSHLOG_LEAVEFN("CPushMtmSettings::SaveL") - } - -// --------------------------------------------------------- -// CPushMtmSettings::RestoreFactorySettingsL -// --------------------------------------------------------- -// -EXPORT_C void CPushMtmSettings::RestoreFactorySettingsL() - { - PUSHLOG_ENTERFN("CPushMtmSettings::RestoreFactorySettingsL") - - // The factory settings are stored in the shared data. - CRepository* repository = CRepository::NewL( KCRUidPushMtm ); - CleanupStack::PushL( repository ); - User::LeaveIfError( repository->Reset() ); - PUSHLOG_WRITE(" repository->Reset OK") - CleanupStack::PopAndDestroy( repository ); // repository - - // Load up-to-date values. - LoadL(); - - PUSHLOG_LEAVEFN("CPushMtmSettings::RestoreFactorySettingsL") - } - -// --------------------------------------------------------- -// CPushMtmSettings::ConstructL -// --------------------------------------------------------- -// -void CPushMtmSettings::ConstructL() - { - // Create an empty push initiator list. - iPushInitiatorList = CPushInitiatorList::NewL(); - FeatureManager::InitializeLibL(); - iFeatureManagerInitialized = ETrue; - // Initialize: - LoadL(); - } - -// --------------------------------------------------------- -// CPushMtmSettings::CPushMtmSettings -// --------------------------------------------------------- -// -CPushMtmSettings::CPushMtmSettings() -: CBase(), - iServiceReception( ETrue ), - iServiceLoadingType( EManual ), - iServiceReceptionChanged ( EFalse ), - iServiceLoadingTypeChanged ( EFalse ), - iFeatureManagerInitialized( EFalse ) - { - } - -// --------------------------------------------------------- -// CPushMtmSettings::Reset -// --------------------------------------------------------- -// -void CPushMtmSettings::Reset() - { - PUSHLOG_ENTERFN("CPushMtmSettings::Reset") - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - iPushInitiatorList->ResetAndDestroy(); - PUSHLOG_LEAVEFN("CPushMtmSettings::Reset") - } - -// --------------------------------------------------------- -// CPushMtmSettings::ExternalizeL -// --------------------------------------------------------- -// -void CPushMtmSettings::ExternalizeL( CRepository& aRepository ) const - { - PUSHLOG_ENTERFN("CPushMtmSettings::ExternalizeL") - - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - - TInt value; - PUSHLOG_WRITE_FORMAT - (" iServiceReception <%d>",(TInt)iServiceReception) - value = iServiceReception ? 1 : 0; - User::LeaveIfError( aRepository.Set( KPushMtmServiceReception, value ) ); - PUSHLOG_WRITE(" SR written") - - PUSHLOG_WRITE_FORMAT - (" iServiceLoadingType <%d>",(TInt)iServiceLoadingType) - value = ( iServiceLoadingType == CPushMtmSettings::EManual ) ? 1 : 0; - User::LeaveIfError( aRepository.Set( KPushMtmServiceLoading, value ) ); - PUSHLOG_WRITE(" SL written") - - iPushInitiatorList->ExternalizeL( aRepository ); - - PUSHLOG_LEAVEFN("CPushMtmSettings::ExternalizeL") - } - -// --------------------------------------------------------- -// CPushMtmSettings::InternalizeL -// --------------------------------------------------------- -// -void CPushMtmSettings::InternalizeL( CRepository& aRepository ) - { - PUSHLOG_ENTERFN("CPushMtmSettings::InternalizeL") - - __ASSERT_DEBUG( iPushInitiatorList, UtilPanic( EPushMtmUtilPanNull ) ); - - TInt value(0); - User::LeaveIfError( aRepository.Get( KPushMtmServiceReception, value ) ); - PUSHLOG_WRITE_FORMAT(" KPushMtmServiceReception <%d>",(TInt)value) - iServiceReception = ( value == 1 ) ? ETrue : EFalse; - PUSHLOG_WRITE(" SR loaded") - - User::LeaveIfError( aRepository.Get( KPushMtmServiceLoading, value ) ); - PUSHLOG_WRITE_FORMAT(" KPushMtmServiceLoading <%d>",(TInt)value) - iServiceLoadingType = ( value == 1 ) ? CPushMtmSettings::EManual : - CPushMtmSettings::EAutomatic; - PUSHLOG_WRITE(" SL loaded") - - iPushInitiatorList->InternalizeL( aRepository ); - - PUSHLOG_LEAVEFN("CPushMtmSettings::InternalizeL") - } - -// End of File.