diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MCETestUI/MCETestUIEngine/src/TMCETestUIEngineCmdSelectProfile.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/MCETestUI/MCETestUIEngine/src/TMCETestUIEngineCmdSelectProfile.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2005 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. +* +*/ + + + + +// INCLUDES + +#include "TMCETestUIEngineCmdSelectProfile.h" +#include "CMCETestUIEngineProfileContainer.h" +#include "CMCETestUIQuestionSingleSelection.h" +#include "CMCETestUIEngineProfile.h" + + +// ----------------------------------------------------------------------------- +// TMCETestUIEngineCmdSelectProfile::TMCETestUIEngineCmdSelectProfile +// ----------------------------------------------------------------------------- +// +TMCETestUIEngineCmdSelectProfile::TMCETestUIEngineCmdSelectProfile( + CMCETestUIEngine& aEngine ) + :TMCETestUIEngineCmdBase( aEngine ) + { + } + +// ----------------------------------------------------------------------------- +// TMCETestUIEngineCmdSelectProfile::ExecuteL +// ----------------------------------------------------------------------------- +// +EXPORT_C void TMCETestUIEngineCmdSelectProfile::ExecuteL() + { + + CMCETestUIEngineProfileContainer& profileContainer = + iEngine.ProfileContainer(); + + const RPointerArray& profiles = + profileContainer.AvailableProfiles(); + + CMCETestUIQuestionSingleSelection* question = + CMCETestUIQuestionSingleSelection::NewLC(); + + question->SetCaptionL( KUserQuestionSelectProfile ); + + for ( TInt i = 0; i < profiles.Count(); ++i ) + { + const TDesC8& providerName = profiles[i]->ProviderName(); + HBufC* providerName16 = HBufC16::NewLC( providerName.Length() ); + TPtr providerNamePtr = providerName16->Des(); + providerNamePtr.Copy( providerName ); + + question->AddChoiceL( *providerName16 ); + + CleanupStack::PopAndDestroy( providerName16 ); + providerName16 = NULL; + } + + TInt selectedProfile = iEngine.AskQuestionL( *question ); + + CleanupStack::PopAndDestroy( question ); + + if ( selectedProfile >= 0 && selectedProfile < profiles.Count() ) + { + profileContainer.TakeProfileIntoUseL( *(profiles[selectedProfile]) ); + } + } + +// ----------------------------------------------------------------------------- +// TMCETestUIEngineCmdSelectProfile::Caption +// ----------------------------------------------------------------------------- +// +EXPORT_C const TDesC& TMCETestUIEngineCmdSelectProfile::Caption() const + { + return KCommandCaptionSelectProfile; + } + + + + +// End of File