First public contribution.
1 // Copyright (c) 2004-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 "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.
16 #include "TestRecord.h"
17 #include "OpenFileByHandle0522.h"
24 CTestMmfVclntOpenFile0522::CTestMmfVclntOpenFile0522(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aRec)
27 // store the name of this test case
28 // this is the name that is used by the script file
29 // Each test step initialises it's own name
30 iTestStepName = aTestName;
31 iSectName = aSectName;
35 CTestMmfVclntOpenFile0522* CTestMmfVclntOpenFile0522::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aRec)
37 CTestMmfVclntOpenFile0522* self = new (ELeave) CTestMmfVclntOpenFile0522(aTestName,aSectName,aKeyName,aRec);
41 CTestMmfVclntOpenFile0522* CTestMmfVclntOpenFile0522::NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aRec)
43 CTestMmfVclntOpenFile0522* self = CTestMmfVclntOpenFile0522::NewL(aTestName,aSectName,aKeyName,aRec);
44 CleanupStack::PushL(self);
48 void CTestMmfVclntOpenFile0522::MvruoOpenComplete(TInt aError)
51 INFO_PRINTF1(_L("Open complete callback"));
52 CActiveScheduler::Stop();
55 void CTestMmfVclntOpenFile0522::MvruoRecordComplete(TInt aError)
58 INFO_PRINTF1(_L("Record complete callback"));
59 CActiveScheduler::Stop();
62 void CTestMmfVclntOpenFile0522::MvruoPrepareComplete(TInt aError)
65 INFO_PRINTF1(_L("Prepare complete callback"));
66 CActiveScheduler::Stop();
69 void CTestMmfVclntOpenFile0522::MvruoEvent(const TMMFEvent& /*aEvent*/)
74 * Load and initialise an audio file.
76 TVerdict CTestMmfVclntOpenFile0522::DoTestStepL()
80 INFO_PRINTF1(_L("Test : Video Recorder - OpenFileL(RFile&)"));
85 User::LeaveIfError(fs.Connect());
86 CleanupClosePushL(fs);
87 User::LeaveIfError(fs.ShareProtected());
89 iError = KErrTimedOut;
92 if(!GetStringFromConfig(iSectName,iKeyName,filename))
97 User::LeaveIfError(file.Open(fs,filename,EFileWrite));
98 CleanupClosePushL(file);
99 CVideoRecorderUtility* rec = CVideoRecorderUtility::NewL(*this);
100 CleanupStack::PushL(rec);
102 const TUid KVidTstControllerUid = {KMmfVideoTestControllerUid};
103 TRAP(iError,rec->OpenFileL(file, NULL, KVidTstControllerUid, KUidMdaBmpClipFormat));
105 if(iError == KErrNone)
107 INFO_PRINTF1(_L("CVideoRecorderUtility: Open file"));
108 // Wait for initialisation callback
109 CActiveScheduler::Start();
112 if(iError == KErrNotSupported)
118 if ((iError == KErrNone) && (rec != NULL))
121 CActiveScheduler::Start();
122 if(iError != KErrNone)
124 INFO_PRINTF2(_L("Prepare callback : error %d"), iError);
125 return EInconclusive;
130 iError = KErrTimedOut;
132 INFO_PRINTF1(_L("CVideoRecorderUtility: Record"));
133 // Wait for init callback
134 CActiveScheduler::Start();
135 if(iError == KErrNone)
139 User::After(1000000);
150 INFO_PRINTF1(_L("CVideoRecorderUtility: Destroy"));
151 CleanupStack::PopAndDestroy(rec);
152 User::After(KOneSecond); // wait for deletion to shut down devsound
153 if(iError != KErrNone)
155 ERR_PRINTF2( _L("CVideoRecorderUtility failed with error %d"),iError );
158 CleanupStack::PopAndDestroy(2,&fs);