kerneltest/e32test/dmav2/t_dma2.h
changeset 247 d8d70de2bd36
parent 139 95f71bcdcdb7
equal deleted inserted replaced
201:43365a9b78a3 247:d8d70de2bd36
   595 	void DoCalibrationTransfer(TUint64 &atime);
   595 	void DoCalibrationTransfer(TUint64 &atime);
   596 	TInt QueueAsyncRequest(TRequestStatus &aRequestState,TUint64 &atime);
   596 	TInt QueueAsyncRequest(TRequestStatus &aRequestState,TUint64 &atime);
   597 	};
   597 	};
   598 
   598 
   599 /**
   599 /**
       
   600 Used for testing Pause and Resume ( Negative Testing)
       
   601 
       
   602 Extends CSingle transfer by adding the capability to test
       
   603 Pause  & Resume() API. Expects that Pause and Resume is not supported
       
   604 */
       
   605 class CPauseResumeNegTest : public CSingleTransferTest
       
   606 	{
       
   607 public:
       
   608 	 CPauseResumeNegTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected)
       
   609 		:CSingleTransferTest(aName, aIterations, aArgs, aExpected)
       
   610 	 {}
       
   611 
       
   612 	~CPauseResumeNegTest();
       
   613 
       
   614 	virtual void RunTest();
       
   615 	virtual void PrintTestType() const;
       
   616 
       
   617 	virtual CTest* Clone() const {return new  CPauseResumeNegTest(*this);}
       
   618 
       
   619 	// The methods below is a setters ie. The Named Parameter Idiom
       
   620 	// @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18
       
   621 	inline CPauseResumeNegTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;}
       
   622 	};
       
   623 
       
   624 
       
   625 /**
       
   626 Used for testing element counting 
       
   627 
       
   628 Extends CSingle transfer by adding the capability to test
       
   629 Element Counting APIs
       
   630 */
       
   631 class CElementCountingTest : public CSingleTransferTest
       
   632 	{
       
   633 public:
       
   634 	 CElementCountingTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected)
       
   635 		:CSingleTransferTest(aName, aIterations, aArgs, aExpected)
       
   636 	 {}
       
   637 
       
   638 	~CElementCountingTest();
       
   639 
       
   640 	virtual void RunTest();
       
   641 	virtual void PrintTestType() const;
       
   642 
       
   643 	virtual CTest* Clone() const {return new CElementCountingTest(*this);}
       
   644 
       
   645 	// The methods below is a setters ie. The Named Parameter Idiom
       
   646 	// @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18
       
   647 	inline CElementCountingTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;}
       
   648 	};
       
   649 
       
   650 
       
   651 /**
       
   652 Used for testing Linking of DMA Channels ( Negative Testing)
       
   653 
       
   654 Extends CSingle transfer by adding the capability to test DMA channel linking
       
   655 Expects that channel linking is not supported
       
   656 */
       
   657 class CLinkChannelTest : public CSingleTransferTest
       
   658 	{
       
   659 public:
       
   660 	 CLinkChannelTest(const TDesC& aName, TInt aIterations, const TDmaTransferArgs& aArgs, const TResultSet& aExpected)
       
   661 		:CSingleTransferTest(aName, aIterations, aArgs, aExpected)
       
   662 	 {}
       
   663 
       
   664 	~CLinkChannelTest();
       
   665 
       
   666 	virtual void RunTest();
       
   667 	virtual void PrintTestType() const;
       
   668 
       
   669 	virtual CTest* Clone() const {return new  CLinkChannelTest(*this);}
       
   670 
       
   671 	// The methods below is a setters ie. The Named Parameter Idiom
       
   672 	// @see http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.18
       
   673 	inline CLinkChannelTest& UseNewDmaApi(TBool aFlag) {CSingleTransferTest::UseNewDmaApi(aFlag); return *this;}
       
   674 	};
       
   675 
       
   676 
       
   677 /**
   600 This class will be used for tests which benchmark certain DMA operations
   678 This class will be used for tests which benchmark certain DMA operations
   601 */
   679 */
   602 class CDmaBenchmark : public CSingleTransferTest
   680 class CDmaBenchmark : public CSingleTransferTest
   603 	{
   681 	{
   604 public:
   682 public: