usbmgmt/usbmgrtest/t_usb_charging/inc/activeconsole.h
author hgs
Thu, 16 Sep 2010 12:03:29 +0800
changeset 49 93c0009bd947
permissions -rw-r--r--
201036_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
93c0009bd947 201036_01
hgs
parents:
diff changeset
     1
/*
93c0009bd947 201036_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
93c0009bd947 201036_01
hgs
parents:
diff changeset
     3
* All rights reserved.
93c0009bd947 201036_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
93c0009bd947 201036_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
93c0009bd947 201036_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
93c0009bd947 201036_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
93c0009bd947 201036_01
hgs
parents:
diff changeset
     8
*
93c0009bd947 201036_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
93c0009bd947 201036_01
hgs
parents:
diff changeset
    11
*
93c0009bd947 201036_01
hgs
parents:
diff changeset
    12
* Contributors:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    13
*
93c0009bd947 201036_01
hgs
parents:
diff changeset
    14
* Description:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    15
*
93c0009bd947 201036_01
hgs
parents:
diff changeset
    16
*/
93c0009bd947 201036_01
hgs
parents:
diff changeset
    17
93c0009bd947 201036_01
hgs
parents:
diff changeset
    18
#include <e32base.h>
93c0009bd947 201036_01
hgs
parents:
diff changeset
    19
#include <e32keys.h>
93c0009bd947 201036_01
hgs
parents:
diff changeset
    20
#include "testmanager.h"
93c0009bd947 201036_01
hgs
parents:
diff changeset
    21
93c0009bd947 201036_01
hgs
parents:
diff changeset
    22
class CTestBase;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    23
class CConsoleBase;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    24
93c0009bd947 201036_01
hgs
parents:
diff changeset
    25
class CActiveConsole : public CActive, public MTestManager
93c0009bd947 201036_01
hgs
parents:
diff changeset
    26
/**
93c0009bd947 201036_01
hgs
parents:
diff changeset
    27
 * Active Object console class. This is the means by which the user interacts 
93c0009bd947 201036_01
hgs
parents:
diff changeset
    28
 * with the program.
93c0009bd947 201036_01
hgs
parents:
diff changeset
    29
 */
93c0009bd947 201036_01
hgs
parents:
diff changeset
    30
	{
93c0009bd947 201036_01
hgs
parents:
diff changeset
    31
public:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    32
	static CActiveConsole* NewLC(CConsoleBase& aConsole);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    33
	~CActiveConsole();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    34
93c0009bd947 201036_01
hgs
parents:
diff changeset
    35
public:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    36
	void RequestCharacter();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    37
	TKeyCode Getch();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    38
93c0009bd947 201036_01
hgs
parents:
diff changeset
    39
private:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    40
	CActiveConsole(CConsoleBase& aConsole);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    41
	void ConstructL();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    42
93c0009bd947 201036_01
hgs
parents:
diff changeset
    43
private: // utility
93c0009bd947 201036_01
hgs
parents:
diff changeset
    44
	void SelectTestL();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    45
	void StopCurrentTest();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    46
	void DisplayMainMenu();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    47
	void DoActionKeyL(TKeyCode aKey);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    48
93c0009bd947 201036_01
hgs
parents:
diff changeset
    49
private: // from MTestManager
93c0009bd947 201036_01
hgs
parents:
diff changeset
    50
	void TestFinished();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    51
	void Write(TRefByValue<const TDesC8> aFmt, ...);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    52
	void WriteNoReturn(TRefByValue<const TDesC8> aFmt, ...);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    53
	void GetNumberL(TUint& aNumber);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    54
93c0009bd947 201036_01
hgs
parents:
diff changeset
    55
private: // from CActive
93c0009bd947 201036_01
hgs
parents:
diff changeset
    56
	void RunL();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    57
	void DoCancel();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    58
	TInt RunError(TInt aError);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    59
93c0009bd947 201036_01
hgs
parents:
diff changeset
    60
private: // owned
93c0009bd947 201036_01
hgs
parents:
diff changeset
    61
	CTestBase* iTest;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    62
	TBuf8<10> iInputBuffer;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    63
93c0009bd947 201036_01
hgs
parents:
diff changeset
    64
private: // unowned
93c0009bd947 201036_01
hgs
parents:
diff changeset
    65
	CConsoleBase& iConsole;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    66
	};