diff -r 000000000000 -r 72b543305e3a email/imum/Utils/Inc/ImumInSettingsDataValidator.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Utils/Inc/ImumInSettingsDataValidator.inl Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,66 @@ +/* +* Copyright (c) 2006 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: ImumInSettingsDataValidator.inl +* +*/ + + + +// --------------------------------------------------------------------------- +// CImumInSettingsDataValidator::VerifyKeyL() +// --------------------------------------------------------------------------- +// +template +TType CImumInSettingsDataValidator::VerifyKeyL( + TSettings& aSettings, + const TUint aAttributeKey, + const TInt aMinValue, + const TInt aMaxValue, + const TInt aErrorCode ) const + { + TType value( 0 ); + if ( !( !aSettings.GetAttr( aAttributeKey, value ) && + value >= aMinValue && + value <= aMaxValue ) ) + { + User::Leave( aErrorCode ); + } + + return value; + } + + +// --------------------------------------------------------------------------- +// CImumInSettingsDataValidator::ValidateKey() +// --------------------------------------------------------------------------- +// +template +TType CImumInSettingsDataValidator::ValidateKey( + TSettings& aSettings, + const TUint aAttributeKey, + const TInt aMinValue, + const TInt aMaxValue ) + { + TType value( 0 ); + if ( !( !aSettings.GetAttr( aAttributeKey, value ) && + value >= aMinValue && + value <= aMaxValue ) ) + { + aSettings.Reset( aAttributeKey ); + aSettings.GetAttr( aAttributeKey, value ); + iFlags.SetFlag( ESettingsHaveChanged ); + } + + return value; + }