First public contribution.
1 #ifndef __TEST_CASE_PBASE_T_USBDI_0489_H
2 #define __TEST_CASE_PBASE_T_USBDI_0489_H
5 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
7 * This component and the accompanying materials are made available
8 * under the terms of the License "Eclipse Public License v1.0"
9 * which accompanies this distribution, and is available
10 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
12 * Initial Contributors:
13 * Nokia Corporation - initial contribution.
18 * @file PBASE-T_USBDI-0489.h
27 #include "BaseTestCase.h"
28 #include "TestCaseFactory.h"
30 #include "modelleddevices.h"
31 #include "controltransferrequests.h"
33 #include "testdebug.h"
35 namespace NUnitTesting_USBDI
41 @SYMTestCaseID PBASE-T_USBDI-0489
48 @SYMTestActions 1. Open interface on connected device
49 2. Send a control transfer request that is NAK'd by the USB device
50 3. Cancel the outstanding transfer
51 4. Acknowledge transfer cancelled
52 @SYMTestExpectedResults Outstanding NAK control transfer is cancelled
53 @SYMTestStatus Implemented
57 class CUT_PBASE_T_USBDI_0489 : public CBaseTestCase, public MUsbBusObserver, public MCommandObserver
60 static CUT_PBASE_T_USBDI_0489* NewL(TBool aHostRole);
61 ~CUT_PBASE_T_USBDI_0489();
63 public: // From MBusObserver
64 void DeviceInsertedL(TUint aDeviceHandle);
65 void DeviceRemovedL(TUint aDeviceHandle);
66 void BusErrorL(TInt aError);
67 void DeviceStateChangeL(RUsbDevice::TDeviceState aPreviousState,RUsbDevice::TDeviceState aNewState,
68 TInt aCompletionCode);
70 public: // From MCommandObserver
71 void Ep0TransferCompleteL(TInt aCompletionCode);
74 CUT_PBASE_T_USBDI_0489(TBool aHostRole);
76 void ExecuteHostTestCaseL();
77 void ExecuteDeviceTestCaseL();
79 void DeviceDoCancel();
94 CEp0Transfer* iControlEp0;
95 RUsbInterface iUsbInterface0;
100 RUsbDeviceVendor* iTestDevice;
104 The functor to create this test case from the factory
106 const static TFunctorTestCase<CUT_PBASE_T_USBDI_0489,TBool> iFunctor;