diff -r 000000000000 -r ff3b6d0fd310 cellular/telephonysettings/src/PsetVariationProxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cellular/telephonysettings/src/PsetVariationProxy.cpp Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,88 @@ +/* +* 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: Implementation of CPSetVariationProxy class. +* +* +*/ + + +#include "PsetVariationProxy.h" +#include +#include +#include + +// --------------------------------------------------------------------------- +// Constructor +// --------------------------------------------------------------------------- +// +CPSetVariationProxy::CPSetVariationProxy() + { + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +CPSetVariationProxy::~CPSetVariationProxy() + { + } + +// --------------------------------------------------------------------------- +// NewL +// --------------------------------------------------------------------------- +// +CPSetVariationProxy* CPSetVariationProxy::NewL( + const TUid& aUid, + const TUint aId ) + { + CPSetVariationProxy* self = new ( ELeave ) CPSetVariationProxy(); + CleanupStack::PushL( self ); + self->ConstructL( aUid, aId ); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// ConstructL +// --------------------------------------------------------------------------- +// +void CPSetVariationProxy::ConstructL( + const TUid& aUid, + const TUint aId ) + { + TInt keySetting = 0; + CRepository* centralRepository = CRepository::NewLC( aUid ); + User::LeaveIfError( centralRepository->Get( aId, keySetting ) ); + + if( ( aUid == KCRUidPhoneSettings ) && + ( keySetting ) ) + { + iFeature |= KCallWaitingDistiquishNotProvisioned; + } + else if ( aUid == KCRUidTelSrvVariation ) + { + iFeature |= keySetting; + } + + CleanupStack::PopAndDestroy( centralRepository ); + } + +// --------------------------------------------------------------------------- +// IsFeatureEnabled +// --------------------------------------------------------------------------- +// +TBool CPSetVariationProxy::IsFeatureEnabled( TUint aFeature ) const + { + return aFeature&iFeature; + }