os/kernelhwsrv/kerneltest/e32test/usbho/t_usbdi/inc/PBASE-T_USBDI-0495.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 #ifndef __TEST_CASE_PBASE_T_USBDI_0495_H
     2 #define __TEST_CASE_PBASE_T_USBDI_0495_H
     3 
     4 /*
     5 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     6 * All rights reserved.
     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".
    11 *
    12 * Initial Contributors:
    13 * Nokia Corporation - initial contribution.
    14 *
    15 * Contributors:
    16 *
    17 * Description:
    18 * @file PBASE-T_USBDI-0495.h
    19 * @internalComponent
    20 * 
    21 *
    22 */
    23 
    24 
    25 
    26  
    27 #include "BaseBulkTestCase.h"
    28 
    29 
    30 namespace NUnitTesting_USBDI
    31 	{
    32 const TUint8 KNumInitialRequests	= 4;
    33 /**
    34 
    35 	
    36 	@SYMTestCaseID				PBASE-T_USBDI-0495
    37 	@SYMTestCaseDesc			Test use of two queued bulk OUT transfers to send a large amount of data
    38 	@SYMFssID 
    39 	@SYMPREQ					1305
    40 	@SYMREQ						7055 [USBD : Bulk transfers]
    41 	@SYMTestType				UT
    42 	@SYMTestPriority			1 
    43 	@SYMTestActions 			1. Open interfaces to connected device
    44 								2. Request two bulk OUT transfers
    45 								3. When each completes request another one until specified number of bytes sent
    46 								4. Validate data as it is read
    47 	@SYMTestExpectedResults 	Round trip transfer data is not corrupt
    48 	@SYMTestStatus				Draft
    49 	
    50 
    51 */
    52 
    53 class CUT_PBASE_T_USBDI_0495 :  public CBaseBulkTestCase,
    54 								public MTransferObserver,
    55 								public MCommandObserver
    56 	
    57 	{
    58 public:
    59 	static CUT_PBASE_T_USBDI_0495* NewL(TBool aHostRole);
    60 	~CUT_PBASE_T_USBDI_0495(); 
    61 
    62 public: // From MUsbBusObserver
    63 	void DeviceInsertedL(TUint aDeviceHandle);
    64 
    65 public: // From MCommandObserver
    66 	void Ep0TransferCompleteL(TInt aCompletionCode);
    67 
    68 public: // From MTransferObserver
    69 	void TransferCompleteL(TInt aTransferId,TInt aCompletionCode);
    70 
    71 private:
    72 	CUT_PBASE_T_USBDI_0495(TBool aHostRole);
    73 	void ConstructL();
    74 	void KillTransfers();
    75 	TInt PerformNextTransfer(TInt aTransferId);
    76 
    77 private:
    78 	
    79 	enum TCaseStep
    80 		{
    81 		EInProgress,
    82 		EPassed,
    83 		EFailed,
    84 		ERequestRepeatedReadAndValidate,
    85 		ETransfer,
    86 		ERequestPrepareEndpointValidationResult,
    87 		ERequestValidationResult
    88 		};
    89 
    90 		TUint iNumWriteBytesRequested;
    91 		TCaseStep iCaseStep;
    92 		TPtr8 iRequestValidationResultPtr;
    93 
    94 private:
    95 	/**
    96 	The functor for this test case
    97 	*/
    98 	const static TFunctorTestCase<CUT_PBASE_T_USBDI_0495,TBool> iFunctor;
    99 	};
   100 
   101 	} //end namespace
   102 
   103 #endif