Update contrib.
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
18 #ifndef TESTCASE0681_H
19 #define TESTCASE0681_H
21 //----------------------------------------------------------------------------------------------
22 //! @SYMTestCaseID PBASE-T_OTGDI-0681
23 //! @SYMTestCaseDesc B-Device SRP/HNP attempt, A-Device detects SRP, responds with BusRespondSrp
28 //! @SYMTestPriority 1
29 //! @SYMTestActions 1. B-Device triggers SRP, A-Device waits to detect SRP
30 //! 2. A-Device calls BusRespondSrp
31 //! 3. A-Device and B-Device arrive in swapped roles (B-Host, A-Peripheral)
32 //! 4. A-Peripheral waits to arrive in configured state, B-Device waits to become B-Peripheral
33 //! 5. B-Host enumerates newly attached peripheral, and suspends it
34 //! 6. A-Peripheral waits to arrive in suspended state
35 //! 7. Role swap occurs automatically
36 //! 8. A-Device and B-Device wait to arrive in default roles (A-Host, B-Peripheral)
37 //! 9. B-Peripheral waits to arrive in configured state, A-Device waits to become A-Peripheral
38 //! 10. A-Host enumerates newly attached peripheral, and suspends it
39 //! 11. B-Peripheral waits to arrive in suspended state
40 //! 12. B-Device makes a bus request, HNP occurs. Test repeats from step 3, 3 times.
41 //! 13. A-Device drops VBus
42 //! 14. A-Device and B-Device both observe VBus dropping.
44 //! @SYMTestExpectedResults SRP is detected and responded to. VBus rises, followed by multiple role swaps,
45 //! followed by VBus dropping (all within 30 seconds)
46 //! @SYMTestStatus Defined
47 //----------------------------------------------------------------------------------------------
50 class CTestCase0681 : public CTestCaseB2BRoot
53 static CTestCase0681* NewL(TBool aHost);
54 virtual ~CTestCase0681();
56 virtual void ExecuteTestCaseL();
58 static void CancelKB(CTestCaseRoot *pThis);
62 TInt GetStepIndex() { return(iCaseStep); };
65 CTestCase0681(TBool aHost);
68 virtual void StepB2BPreconditions();
76 ELoadLdd, // Load LDDs, trigger FDFActor
77 EPerformSrp, // B-device performs SRP, A-device prepares to detect it
78 EAReceivedSrp, // A-device responds to SRP
79 ESwappedRoles, // B-device as peripheral, A-device as host
80 EAConfigured, // A-Device is configured
81 EASuspended, // A-device is suspended
82 EDefaultRoles, // B-device as peripheral, A-device as host
83 EBConfigured, // B-Device is configured
84 EBSuspended, // B-device is suspended
86 EDropVBus, // Tidyup steps
94 TInt iStateRetry; // swallow other events
96 TInt iHNPCounter; // We want to do a full HNP cycle (A-Host->A-Peripheral->A-Host) x 3
98 const static TTestCaseFactoryReceipt<CTestCase0681> iFactoryReceipt;
103 #endif // TESTCASE0681_H