mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/TSI_MMFACLNT.h
author hgs
Thu, 07 Oct 2010 23:44:30 +0100
changeset 1 fcaf4606ba4e
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk40_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
// Header file: Basic  tests.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
 @file TSI_MMFACLNT.h
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#ifndef TSI_MMFACLNT_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#define TSI_MMFACLNT_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include <badesca.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include <e32test.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include <e32keys.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
#include <c32comm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
#include <f32file.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
#include <etel.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
#include <etelmm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
#include <utf.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
#include <testframework.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
#include <mdaaudiosampleplayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
#include <mdaaudiosampleeditor.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
#include <mdaaudiotoneplayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
#include <mmfformatimplementationuids.hrh>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
#include "toneTest.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
class CTestSuite ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
 * Global Data used within tests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
_LIT(KDTMFString,"01234, 56789, ABCDEF#*");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
_LIT(KShortDTMFString,"0");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
_LIT(KInvalidDTMFString,"XVB4, ?>, !1231\x00ac|");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
_LIT(KDefault,"C:\\AclntITestData\\xxxxx.xxx"); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
#define _LIT8CORRUPTDATA__(name,data) const static TLitPtrC8 name={(sizeof(data) | (1<<5)),REINTERPRET_CAST(const TUint8*,data)}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
_LIT8CORRUPTDATA__(KCorruptFixedSequenceData,KFixedSequenceTestSequenceData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
#define NUMBER_OF_REPEATS 3
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
const TInt KTwelveOfMicroSecond = 83333;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
const TInt KTenPartOfSec	= 100000 ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
const TInt KOneSecond		= 1000000;	// Used in a time out function, 1 second (in microSeconds)#
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
const TInt KTwoSeconds		= KOneSecond*2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
const TInt KTenSeconds		= 10000000;	// Used in a time out function, 10 seconds (in microSeconds)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
const TInt KFiveSeconds		= 5000000;	// 5 seconds (in microSeconds)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
const TInt KFifteenSeconds	= 15000000;	// 15 seconds (in microSeconds)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
const TInt KExpectedDeviation= 1500000; // 1.5 second tolerance for timed tests
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
const TInt KNameBufSize		= 25;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
const TInt KIDBufSize       = 50;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
const TInt KExpectedDurationDeviation = 3000;	// 3 millisecond tolerance for duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
//Amendment (for CTestMmfAclntConPosition)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
const TInt KDeviation= 1000000; // 1.0 second deviation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
//const TInt KPcm16FrameInterval = 371424;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
//const TInt KPcm16FrameInterval = 371512;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
//const TInt KPcm16FrameInterval = 278639;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
// frame size is now variable, depending on the sample rate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
//const TUint KFrameSize8K = 2048;	// frame size for 8Khz
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
const TUint KFrameSize11K = 3072;	// frame size for 11Khz
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
const TUint KPcmBitsPerSample8 = 8;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
const TUint KPcmChannels = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
const TUint KSampleRate11K = 11025;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
const TInt KPcm16FrameInterval = 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
	(((KFrameSize11K * 1000000 / KSampleRate11K) /
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
	 KPcmBitsPerSample8 * KPcmChannels)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
	* 8);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
const TInt KFixedSequenceCount = 6;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
const TInt KMaxVolume = 65535;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
const TInt KMaxBalance = 100;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
const TInt KMinBalance = -100;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
const TInt KRecSize = 10000;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
const TInt KToneFrequency = 880;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
const TInt KToneFrequencyTwo = 1880;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
const TInt KSoundFileLength = 8359183;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
const TInt KInvalidNumber =	6234623;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
//pinched from MmfAudioInput.h:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
const TUint KAudioInputMinFrameSize = 0x800; //2K
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
const TUint KAudioInputMaxFrameSize = 0x4000; //16K
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
const TUint KAudioInputDeltaFrameSize = 0x400;  //1K
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
const TUint KAudioInputDefaultFrameSize = 0x1000;  //4K
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
const TUint KAudioInputFramesPerSecond = 4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
//pinched from gsm610.h:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
const TUint	KGsmEncodedFrameSize = 65;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
 * @ TMmfAclntWavEncodeClipFormat, provides a class to support interfaces that require a 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
 * @ TMdaClipFormat.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
const TUid KMmfUidEncodeFormatWAV = {KMmfUidFormatWAVWrite};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
class TMmfAclntWavEncodeClipFormat : public TMdaClipFormat
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	inline TMmfAclntWavEncodeClipFormat();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
inline TMmfAclntWavEncodeClipFormat::TMmfAclntWavEncodeClipFormat() : 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
TMdaClipFormat(KMmfUidEncodeFormatWAV,sizeof(TMmfAclntWavEncodeClipFormat)) {}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
 * @ TMmfAclntWavDecodeClipFormat, provides a class to support interfaces that require a 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
 * @ TMdaClipFormat.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
const TUid KMmfUidDecodeFormatWAV = {KMmfUidFormatWAVRead};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
class TMmfAclntWavDecodeClipFormat : public TMdaClipFormat
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
	inline TMmfAclntWavDecodeClipFormat();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
inline TMmfAclntWavDecodeClipFormat::TMmfAclntWavDecodeClipFormat() : 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
TMdaClipFormat(KMmfUidDecodeFormatWAV,sizeof(TMmfAclntWavDecodeClipFormat)) {}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
 * @ MCallbackHandlerObserver, provides an Observer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
 * @ for monitoring callbacks.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
class MCallbackHandlerObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
	virtual void MchoComplete(TInt aID, TInt aError)=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
 * CCallbackHandler provides an Observer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
 * for monitoring MMdaAudioPlayerCallback callbacks.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
 * @ class CPlayerCallbackHandler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
class CPlayerCallbackHandler : public MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
	CPlayerCallbackHandler(const TInt aID, MCallbackHandlerObserver* aMchObserver) : iMchObserver(aMchObserver), iID(aID)  {};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
	TInt ID();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
	// from MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
    virtual void MapcPlayComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
	MCallbackHandlerObserver* iMchObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	TInt iID;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
 * CCallbackHandler provides an Observer for 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
 * monitoring MMdaObjectStateChangeObserver callbacks. 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
 * @class CStateCallbackHandler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
class CStateCallbackHandler : public MMdaObjectStateChangeObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
	CStateCallbackHandler(const TInt aID, MCallbackHandlerObserver* aMchObserver) : iMchObserver(aMchObserver), iID(aID) {};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
	TInt ID();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
	// from MMdaObjectStateChangeObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
	virtual void MoscoStateChangeEvent(CBase* /*aObject*/, TInt /*aPreviousState*/, TInt /*aCurrentState*/, TInt aErrorCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	MCallbackHandlerObserver* iMchObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	TInt iID;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
 * provides an Observer for monitoring MMdaAudioToneObserver callbacks.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
 * @class CToneCallbackHandler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
class CToneCallbackHandler : public MMdaAudioToneObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
	CToneCallbackHandler(const TInt aID, MCallbackHandlerObserver* aMchObserver) : iMchObserver(aMchObserver), iID(aID)  {};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
	TInt ID();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	// From MMdaAudioToneObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
	virtual void MatoPrepareComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
	virtual void MatoPlayComplete(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
	MCallbackHandlerObserver* iMchObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
	TInt iID;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
 * CActiveListener provides the asynchronous operation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
 * of an active object
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
 * @class CActiveListener
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
class CActiveListener : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	CActiveListener();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
	void InitialiseActiveListener();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
	virtual void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
	virtual void DoCancel() {};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
 * It's a base class for all test steps.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
 * @class CTestMmfAclntStep 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
 * @brief Test class that enables tests.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
class CTestMmfAclntStep : public CTestStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
	CTestMmfAclntStep();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
	static void CleanUp(TAny *aPtr) ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
	void SetTestSuite(const CTestSuite* aTestSuite );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
	void WaitWithTimeout(TRequestStatus& aStatus, TInt aNumberOfMicroSeconds);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
	TBool TimeComparison(const TUint aActual, const TUint aExpected, const TUint aDivation);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
	// tests may optionally implement pre- and post-ambles
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
	virtual TVerdict DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
	virtual TVerdict DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
	const CTestSuite* iTestSuite ;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
	CActiveScheduler* iActiveScheduler;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
 * Test base class that adds codec specific
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
 * functionalty (applys to tests that create files).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
 * @class CTestMmfAclntCodecTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
 * @codec specific test base class.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
class CTestMmfAclntCodecTest : public CTestMmfAclntStep
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
	enum TTestFormat
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
		ENone,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
		EPcm16Wav,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
		EMulawRaw,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
		E16BitAu,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
		EAlawAu,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
		EPcm16Au,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
		EImaAdpcmWav,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
		EImasPcmWav,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
		EPcm8,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
		EPcmU8,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
		EPcmU16,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
		EAlawWav,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
		EEpocWve,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
		EGsmWav
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
	void SetupFormatL(const TTestFormat aFormat);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
	TVerdict DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
	TMdaClipFormat* iFormat;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
	TMdaPackage* iCodec;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
	TMdaAudioDataSettings iAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
	TTestFormat iTestFormat;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
TAny	GetDriveName(TDes& aFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
const TInt	KSizeBuf = 256;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
#endif// TSI_MMFACLNT_H__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309