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 "OpenFileByHandle1512.h"
24 CTestMmfVclntOpenFile1512::CTestMmfVclntOpenFile1512(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 CTestMmfVclntOpenFile1512* CTestMmfVclntOpenFile1512::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aRec)
37 CTestMmfVclntOpenFile1512* self = new (ELeave) CTestMmfVclntOpenFile1512(aTestName,aSectName,aKeyName,aRec);
41 CTestMmfVclntOpenFile1512* CTestMmfVclntOpenFile1512::NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aRec)
43 CTestMmfVclntOpenFile1512* self = CTestMmfVclntOpenFile1512::NewL(aTestName,aSectName,aKeyName,aRec);
44 CleanupStack::PushL(self);
48 void CTestMmfVclntOpenFile1512::MvruoOpenComplete(TInt aError)
51 INFO_PRINTF1(_L("Open complete callback"));
52 CActiveScheduler::Stop();
55 void CTestMmfVclntOpenFile1512::MvruoRecordComplete(TInt aError)
58 INFO_PRINTF1(_L("Record complete callback"));
59 CActiveScheduler::Stop();
62 void CTestMmfVclntOpenFile1512::MvruoPrepareComplete(TInt aError)
65 INFO_PRINTF1(_L("Prepare complete callback"));
66 CActiveScheduler::Stop();
69 void CTestMmfVclntOpenFile1512::MvruoEvent(const TMMFEvent& /*aEvent*/)
74 * Load and initialise an audio file.
76 TVerdict CTestMmfVclntOpenFile1512::DoTestStepL()
78 return( PerformTestStepL() );
81 TVerdict CTestMmfVclntOpenFile1512::PerformTestStepL()
85 INFO_PRINTF1(_L("Test : Video Recorder - OpenFileL(RFile&)"));
90 User::LeaveIfError(fs.Connect());
91 CleanupClosePushL(fs);
92 User::LeaveIfError(fs.ShareProtected());
94 iError = KErrTimedOut;
97 if(!GetStringFromConfig(iSectName,iKeyName,filename))
102 User::LeaveIfError(file.Replace(fs,filename,EFileWrite));
103 CleanupClosePushL(file);
105 CVideoRecorderUtility* rec = CVideoRecorderUtility::NewL(*this);
106 CleanupStack::PushL(rec);
107 TFourCC invalidDataType(0xAA, 0xAA, 0xAA, 0xAA);
109 const TUid KVidTstControllerUid = {KMmfVideoTestControllerUid};
110 TRAP(iError,rec->OpenFileL(file,
112 KVidTstControllerUid,
113 KUidMdaBmpClipFormat,
117 if(iError == KErrNone)
119 INFO_PRINTF1(_L("CVideoRecorderUtility: Open file"));
120 // Wait for initialisation callback
121 CActiveScheduler::Start();
124 if(iError == KErrNotSupported)
130 if ((iError == KErrNone) && (rec != NULL))
133 CActiveScheduler::Start();
134 if(iError != KErrNone)
136 INFO_PRINTF2(_L("Prepare callback : error %d"), iError);
142 iError = KErrTimedOut;
144 INFO_PRINTF1(_L("CVideoRecorderUtility: Record"));
145 // Wait for init callback
146 CActiveScheduler::Start();
147 if(iError == KErrNone)
158 INFO_PRINTF1(_L("CVideoRecorderUtility: Destroy"));
159 User::After(KOneSecond); // wait for deletion to shut down devsound
160 if(iError != KErrNone)
162 ERR_PRINTF2( _L("CVideoRecorderUtility failed with error %d"),iError );
165 CleanupStack::PopAndDestroy(3, &fs);