First public contribution.
1 #ifndef __TEST_CASE_PBASE_T_USBDI_0496_H
2 #define __TEST_CASE_PBASE_T_USBDI_0496_H
5 * Copyright (c) 2008-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-0496.h
27 #include "BaseBulkTestCase.h"
30 namespace NUnitTesting_USBDI
32 const TUint8 KNumInitialRequests = 4;
36 @SYMTestCaseID PBASE-T_USBDI-0496
37 @SYMTestCaseDesc Test use of two queued bulk IN transfers to retrieve large amount of data
40 @SYMREQ 7055 [USBD : Bulk transfers]
43 @SYMTestActions 1. Open interfaces to connected device
44 2. Request two bulk IN transfers
45 3. When each completes request another one until specified number of bytes read
46 4. Validate data as it is read
47 @SYMTestExpectedResults Round trip transfer data is not corrupt
53 class CUT_PBASE_T_USBDI_0496 : public CBaseBulkTestCase,
54 public MTransferObserver,
55 public MCommandObserver
59 static CUT_PBASE_T_USBDI_0496* NewL(TBool aHostRole);
60 ~CUT_PBASE_T_USBDI_0496();
62 public: // From MUsbBusObserver
63 void DeviceInsertedL(TUint aDeviceHandle);
65 public: // From MCommandObserver
66 void Ep0TransferCompleteL(TInt aCompletionCode);
68 public: // From MTransferObserver
69 void TransferCompleteL(TInt aTransferId,TInt aCompletionCode);
72 CUT_PBASE_T_USBDI_0496(TBool aHostRole);
75 TUint8 Index(TUint8 aTransferId);
76 TInt ValidatePreviousAndPerformNextTransfers(TInt aTransferId);
85 ERequestRepeatedWrite,
89 TUint iNumBytesExpected[KMaxNumInTransfers];
90 TUint iValidationStringStartPointTransfer[KMaxNumInTransfers];
91 TInt iExpectedNextTransferNumber;
92 TUint iNumBytesRequestedSoFar;
94 TBool iIsTransferError;
96 TInt iCountWaitForRequestShortfall;
100 The functor for this test case
102 const static TFunctorTestCase<CUT_PBASE_T_USBDI_0496,TBool> iFunctor;