diff -r e8c1ea2c6496 -r 8758140453c0 apploader/Src/TestAppLoaderKeyEvents.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apploader/Src/TestAppLoaderKeyEvents.cpp Thu Jan 21 12:53:44 2010 +0000 @@ -0,0 +1,110 @@ +// Copyright (c) 2006-2009 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 "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// This contains CTestAppLoaderKeyEvents +// +// + +// USER includes +#include "TestAppLoaderKeyEvents.h" + +// EPOC includes +#include + +/*@{*/ +const TInt KDelayMultiplier = 1000; + +/// Parameters +_LIT(KKey, "key%d"); +_LIT(KDelay, "delay%d"); + +/// Key codes +_LIT(KKeyNull, "EKeyNull"); +_LIT(KKeyDevice0, "EKeyDevice0"); +_LIT(KKeyDevice1, "EKeyDevice1"); +/*@}*/ + +// constructor +CTestAppLoaderKeyEvents::CTestAppLoaderKeyEvents() +: CTestAppLoaderBase() + { + SetTestStepName(_L("KeyEvents")); + } + +TBool CTestAppLoaderKeyEvents::GetKeyCodeFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TKeyCode& aResult, TStdScanCode& aScanCode) + { + TPtrC str; + TBool ret=GetStringFromConfig(aSectName, aKeyName, str); + + if ( ret ) + { + if ( str==KKeyNull ) + { + aResult=EKeyNull; + aScanCode=EStdKeyNull; + } + else if ( str==KKeyDevice0 ) + { + aResult=EKeyDevice0; + aScanCode=EStdKeyDevice0; + } + else if ( str==KKeyDevice1 ) + { + aResult=EKeyDevice1; + aScanCode=EStdKeyDevice1; + } + } + + return ret; + } + +// Each test step must supply a implementation for doTestStepL +enum TVerdict CTestAppLoaderKeyEvents::doTestStepL( void ) + { + // Printing to the console and log file + INFO_PRINTF1(_L("TEST-> KEY EVENTS")); + + RWsSession ws; + User::LeaveIfError(ws.Connect()); + CleanupClosePushL(ws); + TBuf tempStore; + TInt index=0; + TBool moreData=ETrue; + TKeyCode keyCode; + TStdScanCode scanCode; + TInt delay; + while ( moreData ) + { + tempStore.Format(KKey(), ++index); + if ( GetKeyCodeFromConfig(ConfigSection(), tempStore, keyCode, scanCode) ) + { + TKeyEvent event = {keyCode, scanCode, 0, 0}; + ws.SimulateKeyEvent(event); + ws.Flush(); + + tempStore.Format(KDelay(), index); + if ( GetIntFromConfig(ConfigSection(), tempStore, delay) ) + { + User::After(delay*KDelayMultiplier); + } + } + else + { + moreData=EFalse; + } + } + CleanupStack::PopAndDestroy(&ws); + + // test steps return a result + return TestStepResult(); + }