usbmgmt/usbmgrtest/t_usb_charging/inc/testbase.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
#ifndef __TESTBASE_H__
93c0009bd947 201036_01
hgs
parents:
diff changeset
    19
#define __TESTBASE_H__
93c0009bd947 201036_01
hgs
parents:
diff changeset
    20
93c0009bd947 201036_01
hgs
parents:
diff changeset
    21
#include <e32base.h>
93c0009bd947 201036_01
hgs
parents:
diff changeset
    22
#include <e32keys.h>
93c0009bd947 201036_01
hgs
parents:
diff changeset
    23
93c0009bd947 201036_01
hgs
parents:
diff changeset
    24
class MTestManager;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    25
93c0009bd947 201036_01
hgs
parents:
diff changeset
    26
#define LeaveIfErrorL(aError) \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    27
	{ \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    28
	if ( aError ) \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    29
		{ \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    30
		iManager.Write(_L8("LEAVE: line %d, code %d"), __LINE__, aError); \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    31
		User::Leave(aError); \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    32
		} \
93c0009bd947 201036_01
hgs
parents:
diff changeset
    33
	} 
93c0009bd947 201036_01
hgs
parents:
diff changeset
    34
93c0009bd947 201036_01
hgs
parents:
diff changeset
    35
class CTestBase : public CBase
93c0009bd947 201036_01
hgs
parents:
diff changeset
    36
/**
93c0009bd947 201036_01
hgs
parents:
diff changeset
    37
 * Abstract base class for tests.
93c0009bd947 201036_01
hgs
parents:
diff changeset
    38
 */
93c0009bd947 201036_01
hgs
parents:
diff changeset
    39
	{
93c0009bd947 201036_01
hgs
parents:
diff changeset
    40
public:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    41
	CTestBase(MTestManager& aManager);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    42
	~CTestBase();
93c0009bd947 201036_01
hgs
parents:
diff changeset
    43
93c0009bd947 201036_01
hgs
parents:
diff changeset
    44
public:
93c0009bd947 201036_01
hgs
parents:
diff changeset
    45
	// Tests may implement either of these to pick up user selections. 
93c0009bd947 201036_01
hgs
parents:
diff changeset
    46
	// Single-key entries require you to implement the TKeyCode overload; 
93c0009bd947 201036_01
hgs
parents:
diff changeset
    47
	// multi-key selections require you to implement the descriptor overload.
93c0009bd947 201036_01
hgs
parents:
diff changeset
    48
	virtual void ProcessKeyL(TKeyCode aKeyCode);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    49
	virtual void ProcessKeyL(const TDesC8& aString);
93c0009bd947 201036_01
hgs
parents:
diff changeset
    50
93c0009bd947 201036_01
hgs
parents:
diff changeset
    51
	virtual void DisplayTestSpecificMenu() = 0;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    52
93c0009bd947 201036_01
hgs
parents:
diff changeset
    53
protected: // unowned
93c0009bd947 201036_01
hgs
parents:
diff changeset
    54
	MTestManager& iManager;
93c0009bd947 201036_01
hgs
parents:
diff changeset
    55
	};
93c0009bd947 201036_01
hgs
parents:
diff changeset
    56
93c0009bd947 201036_01
hgs
parents:
diff changeset
    57
#endif // __TESTBASE_H__