os/mm/mmplugins/lib3gpunittest/inc/tsu3gplibraryapi.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
//
sl@0
    15
sl@0
    16
sl@0
    17
#ifndef TSU3GPLIBRARYAPI_H
sl@0
    18
#define TSU3GPLIBRARYAPI_H
sl@0
    19
sl@0
    20
#include <test/testexecutestepbase.h>
sl@0
    21
#include <c3gplibrary.h>
sl@0
    22
#include <stdlib.h>
sl@0
    23
#include <stdio.h>
sl@0
    24
#include <stddef.h>
sl@0
    25
#include <f32file.h>
sl@0
    26
#include <sys/unistd.h>
sl@0
    27
#include <badesca.h>
sl@0
    28
sl@0
    29
_LIT( K3GPLibTestFilePath, "c:\\3gplibrary\\" );
sl@0
    30
sl@0
    31
const TInt KBufferSize = 1024; // buffer size for read audio/video frames
sl@0
    32
const TInt KNotLeave = 11;
sl@0
    33
sl@0
    34
// define different test files
sl@0
    35
_LIT(KEmptyFileString, "");
sl@0
    36
_LIT(KInvalidFileString, "c:\3gplibrary\aaa.3gp"); // Non-existing file
sl@0
    37
_LIT(KNoAudioNoVideo, "MP4-NO-A-V");
sl@0
    38
_LIT(KSameLenAudioVideo, "3GP-SAME-LEN");
sl@0
    39
_LIT(KAudioOnly, "3GP-AUDIO-ONLY");
sl@0
    40
_LIT(KVideoOnly, "MP4-VIDEO-ONLY");
sl@0
    41
_LIT(KAudioMore, "3GP-AUDIO-MORE");
sl@0
    42
_LIT(KVideoMore, "3GP-VIDEO-MORE");
sl@0
    43
_LIT(KSqcp, "3G2-H263-QCEL");
sl@0
    44
_LIT(KEsds, "MP4-QCEL");
sl@0
    45
_LIT(KWmaFile, "WMA");
sl@0
    46
_LIT(KUnsupportedAudioCodec, "UNSUPORTED-AUDIO-CODEC");
sl@0
    47
_LIT(KUnsupportedVideo, "UNSUPPORTED-VIDEO");
sl@0
    48
_LIT(KUnsupportedAudioStream, "UNSUPORTED-AUDIO-STREAM");
sl@0
    49
_LIT(KMisMatch, "MISMATCHED");
sl@0
    50
_LIT(KMultiUdta, "USER-ATOM-ALL");
sl@0
    51
sl@0
    52
// Base class used for most test cases to open and close parser, parse data from file
sl@0
    53
class C3GPLibParser_base : public CTestStep
sl@0
    54
	{
sl@0
    55
public:
sl@0
    56
	TVerdict doTestStepPreambleL();
sl@0
    57
	TVerdict doTestStepPostambleL();
sl@0
    58
	TInt CheckError(TInt aError, TInt aExpectError, const TDesC& aFunction);
sl@0
    59
	void FileOpenL(TUint aFileMode = EFileRead | EFileShareReadersOnly);
sl@0
    60
	void FileClose();
sl@0
    61
	void FileOpen64L(TUint aFileMode = EFileRead | EFileShareReadersOnly);
sl@0
    62
	void FileClose64();
sl@0
    63
	void ParserOpenL(C3GPParse* aParser, TInt aExpectedError = KErrNone);	
sl@0
    64
	void ParserOpenFileL(C3GPParse* aParser, TInt aExpectedError = KErrNone);
sl@0
    65
	void ParserCompleteL(C3GPParse* aParser);
sl@0
    66
	void ParserOpenFileHandleL(C3GPParse* aParser, TUint aFileMode = EFileRead | EFileShareReadersOnly, TInt aExpectedError = KErrNone);
sl@0
    67
	void ParserCompleteHandleL(C3GPParse* aParser);
sl@0
    68
	void ParserOpenFileHandle64L(C3GPParse* aParser, TUint aFileMode = EFileRead | EFileShareReadersOnly, TInt aExpectedError = KErrNone);
sl@0
    69
	void ParserCompleteHandle64L(C3GPParse* aParser);
sl@0
    70
	void ParserOpenCafLC(C3GPParse* aParser, TInt aExpectedError = KErrNone);
sl@0
    71
	void ParserCompleteCafL(C3GPParse* aParser);
sl@0
    72
	void InsertDataL(C3GPParse* aParse, RFile aFile, TInt aBufferSize, TInt aPos);
sl@0
    73
	TInt ReadAudioVideoFrame(C3GPParse* aParse, TBool aRepeat = ETrue, TBool aReadAudio = EFalse);
sl@0
    74
	TInt GetClipProperties(C3GPParse* aParse, TInt& videoError, TUint& videoLength, TUint& audioLength);
sl@0
    75
	TInt ParserGetDecoderInfo(C3GPParse* aParser);
sl@0
    76
	TInt CallUDTApi(C3GPParse* aParse, TUint32 aUdtType, TUint& aIndex, T3GPUdtaLocation aLocation = E3GPUdtaVideoTrak);
sl@0
    77
protected:
sl@0
    78
	void DoGetVideoAudioAttributesL(C3GPParse* aParser);
sl@0
    79
	TInt DoReadFrame(C3GPParse* aParse);
sl@0
    80
	void DoSeekTestL(C3GPParse* aParser);
sl@0
    81
	void ReadFrameBufferModeL(C3GPParse* aParser);		
sl@0
    82
protected:
sl@0
    83
	RBuf iInputFile;
sl@0
    84
	RBuf iTestSection;
sl@0
    85
	RFs iFsSession;
sl@0
    86
	RFile iSourceFile;
sl@0
    87
	RFile64 iSourceFile64;
sl@0
    88
	};
sl@0
    89
sl@0
    90
// Base class for asynchronous read
sl@0
    91
class C3GPLib_AsyncObserver : public C3GPLibParser_base, public M3GPParseCallback
sl@0
    92
	{
sl@0
    93
public:
sl@0
    94
	C3GPLib_AsyncObserver::C3GPLib_AsyncObserver();
sl@0
    95
	TVerdict doTestStepPreambleL();
sl@0
    96
	TVerdict doTestStepPostambleL();
sl@0
    97
	TInt ReadAudioVideoFrameAsync(C3GPParse* aParse, TBool aReadAudio = EFalse, TBool aCancel = EFalse);
sl@0
    98
	
sl@0
    99
	// from M3GPParseCallback
sl@0
   100
	virtual void AudioFramesAvailable(TInt aError, TUint aReturnedFrames, 
sl@0
   101
			TUint aTimeStampInMs, TUint aTimeStampInTimescale);		
sl@0
   102
	virtual void  VideoFrameAvailable(TInt aError, TBool aKeyFrame, TUint 
sl@0
   103
			aTimeStampInMs, TUint aTimeStampInTimescale);
sl@0
   104
	
sl@0
   105
protected:
sl@0
   106
		TBool iWaitForNotification;
sl@0
   107
		TBool iAsyncLastNotificationFromAudio;
sl@0
   108
		CActiveSchedulerWait* iSchedulerWait;
sl@0
   109
		TInt iAsyncError;
sl@0
   110
		TUint iAsyncAudioTimeStampInMs; 
sl@0
   111
		TUint iAsyncAudioReturnedFrames;
sl@0
   112
		TUint iAsyncAudioTimestampInTimescale;
sl@0
   113
		TUint iAsyncVideoTimeStampInMs; 
sl@0
   114
		TBool iAsyncVideoKeyFrame;
sl@0
   115
		TUint iAsyncVideoTimestampInTimescale;
sl@0
   116
	};
sl@0
   117
sl@0
   118
_LIT(KTestCase_0001, "MM-3GP-PARSE-U-0001-CP");
sl@0
   119
class C3GPLibParser_0001 : public C3GPLibParser_base
sl@0
   120
	{
sl@0
   121
public:
sl@0
   122
	C3GPLibParser_0001();
sl@0
   123
	TVerdict doTestStepL();
sl@0
   124
private:
sl@0
   125
	void OpenCompleteL(C3GPParse* aParser);
sl@0
   126
	};
sl@0
   127
sl@0
   128
_LIT(KTestCase_0002, "MM-3GP-PARSE-U-0002-CP");
sl@0
   129
class C3GPLibParser_0002 : public C3GPLibParser_base
sl@0
   130
	{
sl@0
   131
public:
sl@0
   132
	C3GPLibParser_0002();
sl@0
   133
	TVerdict doTestStepL();
sl@0
   134
private:
sl@0
   135
	void OpenCompleteBufferModeL(C3GPParse* aParser);
sl@0
   136
	};
sl@0
   137
sl@0
   138
_LIT(KTestCase_0003, "MM-3GP-PARSE-U-0003-CP");
sl@0
   139
class C3GPLibParser_0003 : public C3GPLibParser_base
sl@0
   140
	{
sl@0
   141
public:
sl@0
   142
	C3GPLibParser_0003();
sl@0
   143
	TVerdict doTestStepL();
sl@0
   144
private:
sl@0
   145
	void OpenCompleteFileHandleL(C3GPParse* aParser);
sl@0
   146
	};
sl@0
   147
	
sl@0
   148
_LIT(KTestCase_0004, "MM-3GP-PARSE-U-0004-CP");
sl@0
   149
class C3GPLibParser_0004 : public C3GPLibParser_base
sl@0
   150
	{
sl@0
   151
public:
sl@0
   152
	C3GPLibParser_0004();
sl@0
   153
	TVerdict doTestStepL();
sl@0
   154
	};
sl@0
   155
sl@0
   156
_LIT(KTestCase_0005, "MM-3GP-PARSE-U-0005-CP");
sl@0
   157
class C3GPLibParser_0005 : public C3GPLibParser_base
sl@0
   158
	{
sl@0
   159
public:
sl@0
   160
	C3GPLibParser_0005();
sl@0
   161
	TVerdict doTestStepL();
sl@0
   162
private:
sl@0
   163
	void GetVideoAudioAttributesL(C3GPParse* aParser);
sl@0
   164
	};
sl@0
   165
sl@0
   166
_LIT(KTestCase_0006, "MM-3GP-PARSE-U-0006-CP");
sl@0
   167
class C3GPLibParser_0006 : public C3GPLibParser_base
sl@0
   168
	{
sl@0
   169
public:
sl@0
   170
	C3GPLibParser_0006();
sl@0
   171
	TVerdict doTestStepL();
sl@0
   172
private:
sl@0
   173
	enum TBufferModeTest
sl@0
   174
		{
sl@0
   175
		ENumBufferedBytes,
sl@0
   176
		EClipProperties,
sl@0
   177
		EDecoderInfo,
sl@0
   178
		EVideoFrameProp,
sl@0
   179
		};
sl@0
   180
	
sl@0
   181
	void VideoAudioAttributesBufferModeL(C3GPParse* aParser);
sl@0
   182
	TInt CallTest(C3GPParse* aParse, TBufferModeTest aTest, TInt aExpectedNumBuffered = 0);
sl@0
   183
	TInt GetVideoAudioAttributes(C3GPParse* aParse, TBufferModeTest aTest);
sl@0
   184
	TInt GetVideoFramePropAndNumVideoFrame(C3GPParse* aParse, TBool aExpectPass);
sl@0
   185
	};
sl@0
   186
sl@0
   187
_LIT(KTestCase_0007, "MM-3GP-PARSE-U-0007-CP");
sl@0
   188
class C3GPLibParser_0007 : public C3GPLibParser_base
sl@0
   189
	{
sl@0
   190
public:
sl@0
   191
	C3GPLibParser_0007();
sl@0
   192
	TVerdict doTestStepL();
sl@0
   193
private:
sl@0
   194
	void GetstreamableL(C3GPParse* aParser);
sl@0
   195
	};
sl@0
   196
	
sl@0
   197
_LIT(KTestCase_0008, "MM-3GP-PARSE-U-0008-CP");
sl@0
   198
class C3GPLibParser_0008 : public C3GPLibParser_base
sl@0
   199
	{
sl@0
   200
public:
sl@0
   201
	C3GPLibParser_0008();
sl@0
   202
	TVerdict doTestStepL();
sl@0
   203
private:
sl@0
   204
	void GetstreamableL(C3GPParse* aParser);
sl@0
   205
	};
sl@0
   206
		
sl@0
   207
_LIT(KTestCase_0011, "MM-3GP-PARSE-U-0011-CP");
sl@0
   208
class C3GPLibParser_0011 : public C3GPLibParser_base
sl@0
   209
	{
sl@0
   210
public:
sl@0
   211
	C3GPLibParser_0011();
sl@0
   212
	TVerdict doTestStepL();
sl@0
   213
private:
sl@0
   214
	void ReadFrameL(C3GPParse* aParse);
sl@0
   215
	};
sl@0
   216
sl@0
   217
_LIT(KTestCase_0014, "MM-3GP-PARSE-U-0014-CP");
sl@0
   218
class C3GPLibParser_0014 : public C3GPLib_AsyncObserver
sl@0
   219
	{
sl@0
   220
public:
sl@0
   221
	C3GPLibParser_0014();
sl@0
   222
	TVerdict doTestStepL();
sl@0
   223
	TVerdict doTestStepPreambleL();
sl@0
   224
	TVerdict doTestStepPostambleL();
sl@0
   225
private:
sl@0
   226
	void ReadFrameAsyncL(C3GPParse* aParser);
sl@0
   227
	TInt DoReadFrameAsync(C3GPParse* aParser, TBool aCancel = EFalse);
sl@0
   228
private:
sl@0
   229
	CActiveScheduler* iScheduler;
sl@0
   230
	};
sl@0
   231
sl@0
   232
_LIT(KTestCase_0015, "MM-3GP-PARSE-U-0015-CP");
sl@0
   233
class C3GPLibParser_0015 : public C3GPLibParser_base
sl@0
   234
	{
sl@0
   235
public:
sl@0
   236
	C3GPLibParser_0015();
sl@0
   237
	TVerdict doTestStepL();
sl@0
   238
private:
sl@0
   239
	void ReadFrameL(C3GPParse* aParser);
sl@0
   240
	};
sl@0
   241
sl@0
   242
_LIT(KTestCase_0016, "MM-3GP-PARSE-U-0016-CP");
sl@0
   243
class C3GPLibParser_0016 : public C3GPLibParser_base
sl@0
   244
	{
sl@0
   245
public:
sl@0
   246
	C3GPLibParser_0016();
sl@0
   247
	TVerdict doTestStepL();
sl@0
   248
private:
sl@0
   249
	void GetFrameTypeL(C3GPParse* aParser);
sl@0
   250
	};
sl@0
   251
	
sl@0
   252
_LIT(KTestCase_0017, "MM-3GP-PARSE-U-0017-CP");
sl@0
   253
class C3GPLibParser_0017 : public C3GPLibParser_base
sl@0
   254
	{
sl@0
   255
public:
sl@0
   256
	C3GPLibParser_0017();
sl@0
   257
	TVerdict doTestStepL();
sl@0
   258
private:
sl@0
   259
	void GetQcelModeL(C3GPParse* aParser);
sl@0
   260
	};
sl@0
   261
sl@0
   262
_LIT(KTestCase_0021, "MM-3GP-PARSE-U-0021-CP");
sl@0
   263
class C3GPLibParser_0021 : public C3GPLibParser_base
sl@0
   264
	{
sl@0
   265
public:
sl@0
   266
	C3GPLibParser_0021();
sl@0
   267
	TVerdict doTestStepL();
sl@0
   268
private:
sl@0
   269
	void GetH263LevelL(C3GPParse* aParser);
sl@0
   270
	};
sl@0
   271
sl@0
   272
_LIT(KTestCase_0023, "MM-3GP-PARSE-U-0023-CP");
sl@0
   273
class C3GPLibParser_0023 : public C3GPLibParser_base
sl@0
   274
	{
sl@0
   275
public:
sl@0
   276
	C3GPLibParser_0023();
sl@0
   277
	TVerdict doTestStepL();
sl@0
   278
private:
sl@0
   279
	void GetDecoderInfoL(C3GPParse* aParser);
sl@0
   280
	};
sl@0
   281
sl@0
   282
_LIT(KTestCase_0027, "MM-3GP-PARSE-U-0027-CP");
sl@0
   283
class C3GPLibParser_0027 : public C3GPLibParser_base
sl@0
   284
	{
sl@0
   285
public:
sl@0
   286
	C3GPLibParser_0027();
sl@0
   287
	TVerdict doTestStepL();
sl@0
   288
private:
sl@0
   289
	void SeekTestL(C3GPParse* aParser);
sl@0
   290
	TInt ParserSeek(C3GPParse* aParser, TInt aLen, TUint& aAudioPos, TUint& aVideoPos);
sl@0
   291
	};
sl@0
   292
		
sl@0
   293
_LIT(KTestCase_0031, "MM-3GP-PARSE-U-0031-CP");
sl@0
   294
class C3GPLibParser_0031 : public C3GPLibParser_base
sl@0
   295
	{
sl@0
   296
public:
sl@0
   297
	C3GPLibParser_0031();
sl@0
   298
	TVerdict doTestStepL();
sl@0
   299
private:
sl@0
   300
	void SeekTestL(C3GPParse* aParser);
sl@0
   301
	};
sl@0
   302
	
sl@0
   303
_LIT(KTestCase_0032, "MM-3GP-PARSE-U-0032-CP");
sl@0
   304
class C3GPLibParser_0032 : public C3GPLibParser_base
sl@0
   305
	{
sl@0
   306
public:
sl@0
   307
	C3GPLibParser_0032();
sl@0
   308
	TVerdict doTestStepL();
sl@0
   309
private:
sl@0
   310
	void GetFrameAvailabilityL(C3GPParse* aParser);
sl@0
   311
	void DoGetFrameAvailabilityL(C3GPParse* aParser);
sl@0
   312
	};
sl@0
   313
sl@0
   314
_LIT(KTestCase_0033, "MM-3GP-PARSE-U-0033-CP");
sl@0
   315
class C3GPLibParser_0033 : public C3GPLibParser_base
sl@0
   316
	{
sl@0
   317
public:
sl@0
   318
	C3GPLibParser_0033();
sl@0
   319
	TVerdict doTestStepL();
sl@0
   320
private:
sl@0
   321
	void VideoInfoL(C3GPParse* aParser);
sl@0
   322
	};
sl@0
   323
	
sl@0
   324
_LIT(KTestCase_0034, "MM-3GP-PARSE-U-0034-CP");
sl@0
   325
class C3GPLibParser_0034 : public C3GPLibParser_base
sl@0
   326
	{
sl@0
   327
public:
sl@0
   328
	C3GPLibParser_0034();
sl@0
   329
	TVerdict doTestStepL();
sl@0
   330
private:
sl@0
   331
	void VideoInfoBufferModeL(C3GPParse* aParser);
sl@0
   332
	};
sl@0
   333
	
sl@0
   334
_LIT(KTestCase_0035, "MM-3GP-PARSE-U-0035-CP");
sl@0
   335
class C3GPLibParser_0035 : public C3GPLibParser_base
sl@0
   336
	{
sl@0
   337
public:
sl@0
   338
	C3GPLibParser_0035();
sl@0
   339
	TVerdict doTestStepL();
sl@0
   340
private:
sl@0
   341
	void GetUserDataAtomL(C3GPParse* aParser);
sl@0
   342
	};
sl@0
   343
	
sl@0
   344
_LIT(KTestCase_0036, "MM-3GP-PARSE-U-0036-CP");
sl@0
   345
class C3GPLibParser_0036 : public C3GPLibParser_base
sl@0
   346
	{
sl@0
   347
public:
sl@0
   348
	C3GPLibParser_0036();
sl@0
   349
	TVerdict doTestStepL();
sl@0
   350
private:
sl@0
   351
	void GetUserDataAtomL(C3GPParse* aParser);
sl@0
   352
	};
sl@0
   353
sl@0
   354
_LIT(KTestCase_0037, "MM-3GP-PARSE-U-0037-CP");
sl@0
   355
class C3GPLibParser_0037 : public C3GPLibParser_base
sl@0
   356
	{
sl@0
   357
public:
sl@0
   358
	C3GPLibParser_0037();
sl@0
   359
	TVerdict doTestStepL();
sl@0
   360
private:
sl@0
   361
	void VideoDependencyL(C3GPParse* aParser);
sl@0
   362
	};
sl@0
   363
sl@0
   364
_LIT(KTestCase_0038, "MM-3GP-PARSE-U-0038-CP");
sl@0
   365
class C3GPLibParser_0038 : public C3GPLibParser_base
sl@0
   366
	{
sl@0
   367
public:
sl@0
   368
	C3GPLibParser_0038();
sl@0
   369
	TVerdict doTestStepL();
sl@0
   370
private:
sl@0
   371
	void VideoInfoL(C3GPParse* aParser);
sl@0
   372
	};
sl@0
   373
sl@0
   374
_LIT(KTestCase_0039, "MM-3GP-PARSE-U-0039-CP");
sl@0
   375
class C3GPLibParser_0039 : public C3GPLibParser_base
sl@0
   376
	{
sl@0
   377
public:
sl@0
   378
	C3GPLibParser_0039();
sl@0
   379
	TVerdict doTestStepL();
sl@0
   380
private:
sl@0
   381
	void AudioAndVideoFrameL(C3GPParse* aParser);
sl@0
   382
	};
sl@0
   383
sl@0
   384
_LIT(KTestCase_0041, "MM-3GP-PARSE-U-0041-CP");
sl@0
   385
class C3GPLibParser_0041 : public C3GPLibParser_base
sl@0
   386
	{
sl@0
   387
public:
sl@0
   388
	C3GPLibParser_0041();
sl@0
   389
	TVerdict doTestStepPreambleL();
sl@0
   390
	TVerdict doTestStepPostambleL();
sl@0
   391
	TVerdict doTestStepL();
sl@0
   392
private:
sl@0
   393
	void MultipleParserL(C3GPParse* aParser1, C3GPParse* aParser2, C3GPParse* aParser3);
sl@0
   394
private:
sl@0
   395
	RBuf iInputFile1;
sl@0
   396
	RBuf iInputFile2;
sl@0
   397
	};
sl@0
   398
	
sl@0
   399
_LIT(KTestCase_0043, "MM-3GP-PARSE-U-0043-CP");
sl@0
   400
class C3GPLibParser_0043 : public C3GPLibParser_base
sl@0
   401
	{
sl@0
   402
public:
sl@0
   403
	C3GPLibParser_0043();
sl@0
   404
	TVerdict doTestStepL();
sl@0
   405
private:
sl@0
   406
	void SeekBufferModeL(C3GPParse* aParser);
sl@0
   407
	};
sl@0
   408
sl@0
   409
_LIT(KTestCase_0045, "MM-3GP-PARSE-U-0045-CP");
sl@0
   410
class C3GPLibParser_0045 : public C3GPLib_AsyncObserver
sl@0
   411
	{
sl@0
   412
public:
sl@0
   413
	C3GPLibParser_0045();
sl@0
   414
	TVerdict doTestStepPreambleL();
sl@0
   415
	TVerdict doTestStepL();
sl@0
   416
	TVerdict doTestStepPostambleL();	
sl@0
   417
private:
sl@0
   418
	void TestParserWithLargeFileL(C3GPParse* aParser);
sl@0
   419
	TInt DoReadFrameAsync(C3GPParse* aParser, TBool aCancel = EFalse);
sl@0
   420
private:
sl@0
   421
	CActiveScheduler* iScheduler;
sl@0
   422
	};
sl@0
   423
sl@0
   424
_LIT(KTestCase_0047, "MM-3GP-PARSE-U-0047-CP");
sl@0
   425
class C3GPLibParser_0047 : public C3GPLibParser_base
sl@0
   426
	{
sl@0
   427
public:
sl@0
   428
	C3GPLibParser_0047();
sl@0
   429
	TVerdict doTestStepL();
sl@0
   430
private:
sl@0
   431
	void ReadFrameL(C3GPParse* aParser);
sl@0
   432
	};
sl@0
   433
sl@0
   434
_LIT(KTestUserDataAtomRetrieval, "UserDataAtomRetrieval");
sl@0
   435
class C3GPUserDataAtomRetrieval : public CTestStep
sl@0
   436
	{
sl@0
   437
	public:
sl@0
   438
		C3GPUserDataAtomRetrieval();
sl@0
   439
		
sl@0
   440
		TVerdict doTestStepL();		
sl@0
   441
		TVerdict doTestStepPreambleL();
sl@0
   442
		TVerdict doTestStepPostambleL();
sl@0
   443
sl@0
   444
	private:
sl@0
   445
		TInt 				iExpectedNumAtom;
sl@0
   446
		TUint32 			iAtomType;	
sl@0
   447
		RFs 				iFs;
sl@0
   448
		RFile 				iInputFile;
sl@0
   449
		CDesCArrayFlat* 	iAtomFileArray;
sl@0
   450
		T3GPUdtaLocation    iAtomLocation;
sl@0
   451
		TBool				iLargeFile;
sl@0
   452
		RFile64 			iInputFile64;		
sl@0
   453
	};
sl@0
   454
sl@0
   455
#endif
sl@0
   456