sl@0: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // REQ1952
sl@0: // 
sl@0: //
sl@0: 
sl@0: #ifndef __DRMTESTVIDPLAYER_H__
sl@0: #define __DRMTESTVIDPLAYER_H__
sl@0: 
sl@0: #include <fbs.h>
sl@0: #include "TSI_MMFVCLNT.h"
sl@0: #include "TestPlayer.h"
sl@0: 
sl@0: /**
sl@0:  *
sl@0:  * DRM Get Frame from unprotected file 
sl@0:  *
sl@0:  * @class CTestStepVidPlayerDRMGetFrame
sl@0:  *
sl@0:  * @xxxx
sl@0:  *
sl@0:  */
sl@0: 
sl@0: class CTestStepVidPlayerDRMGetFrame : public CTestVclntVideoFile
sl@0: 	{
sl@0: public:
sl@0: 	static CTestStepVidPlayerDRMGetFrame* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	virtual TVerdict DoTestStepL();
sl@0: 	virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0: 	virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError);
sl@0: private:
sl@0: 	CTestStepVidPlayerDRMGetFrame(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	};
sl@0: 
sl@0: /**
sl@0:  *
sl@0:  * DRM Get Frame from protected file 
sl@0:  *
sl@0:  * @class CTestStepVidPlayerDRMGetFrame
sl@0:  *
sl@0:  * @xxxx
sl@0:  *
sl@0:  */
sl@0: class CTestStepVidPlayerDRMGetFrameProtected : public CTestVclntVideoFile
sl@0: 	{
sl@0: public:
sl@0: 	static CTestStepVidPlayerDRMGetFrameProtected* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	virtual TVerdict DoTestStepL();
sl@0: 	virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0: 	virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError);
sl@0: private:
sl@0: 	CTestStepVidPlayerDRMGetFrameProtected(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	};
sl@0: 
sl@0: /**
sl@0:  *
sl@0:  * Attempt ot open a DRM protected file and play with no rights set
sl@0:  *
sl@0:  * @class CTestStepVidPlayerDRMPlayNoRights
sl@0:  *
sl@0:  * @xxxx
sl@0:  *
sl@0:  */
sl@0: class CTestStepVidPlayerDRMPlayNoRights :public CTestVclntVideoFile
sl@0: 	{
sl@0: public:
sl@0: 	static CTestStepVidPlayerDRMPlayNoRights* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	virtual TVerdict DoTestStepL();
sl@0: 	virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0: private:
sl@0: 	CTestStepVidPlayerDRMPlayNoRights(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 
sl@0: 	};
sl@0: 
sl@0: /**
sl@0:  *
sl@0:  * Open a DRM protected video file and play with DRM agent providing 
sl@0:  * rights and MIME typ set
sl@0:  *
sl@0:  * @class CTestStepVidPlayerDRMPlayRights
sl@0:  *
sl@0:  * @xxxx
sl@0:  *
sl@0:  */
sl@0: class CTestStepVidPlayerDRMPlayRights :public CTestVclntVideoFile
sl@0: 	{
sl@0: public:
sl@0: 	static CTestStepVidPlayerDRMPlayRights* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 	virtual TVerdict DoTestStepL();
sl@0: 	virtual TVerdict DoTestL(CVideoPlayerUtility* aPlayer);
sl@0: private:
sl@0: 	CTestStepVidPlayerDRMPlayRights(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName);
sl@0: 
sl@0: 	};
sl@0: 
sl@0: TAny	GetDriveName(TDes& aFileName);
sl@0: 
sl@0: #endif //__DRMTESTVIDPLAYER_H__