os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/TestTone.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
sl@0
     2
// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
// All rights reserved.
sl@0
     4
// This component and the accompanying materials are made available
sl@0
     5
// under the terms of "Eclipse Public License v1.0"
sl@0
     6
// which accompanies this distribution, and is available
sl@0
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
//
sl@0
     9
// Initial Contributors:
sl@0
    10
// Nokia Corporation - initial contribution.
sl@0
    11
//
sl@0
    12
// Contributors:
sl@0
    13
//
sl@0
    14
// Description:
sl@0
    15
// Header file: Basic  tests.
sl@0
    16
// 
sl@0
    17
//
sl@0
    18
sl@0
    19
/**
sl@0
    20
 @file TestTone.h
sl@0
    21
*/
sl@0
    22
sl@0
    23
#ifndef TESTTONE_H__
sl@0
    24
#define TESTTONE_H__
sl@0
    25
sl@0
    26
#include "TSI_MMFACLNT.h"
sl@0
    27
sl@0
    28
sl@0
    29
sl@0
    30
/**
sl@0
    31
 * Play a tone
sl@0
    32
 *
sl@0
    33
 * @class CTestMmfAclntTone
sl@0
    34
 *
sl@0
    35
 */
sl@0
    36
class CTestMmfAclntTone : public  CTestMmfAclntStep, public MMdaAudioToneObserver
sl@0
    37
	{
sl@0
    38
public:
sl@0
    39
	CTestMmfAclntTone(const TDesC& aTestName, const TInt aExpectedResult=KErrNone) ;
sl@0
    40
	static CTestMmfAclntTone* NewL(const TDesC& aTestName, const TInt aExpectedResult=KErrNone);
sl@0
    41
	virtual TVerdict DoTestStepL();
sl@0
    42
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
    43
	// From MMdaAudioToneObserver
sl@0
    44
	virtual void MatoPrepareComplete(TInt aError);
sl@0
    45
	virtual void MatoPlayComplete(TInt aError);
sl@0
    46
sl@0
    47
protected:
sl@0
    48
	TInt iError;
sl@0
    49
	TInt iExpectedResult;
sl@0
    50
	TInt iFrequency;
sl@0
    51
	TBool iStop;
sl@0
    52
	TTimeIntervalMicroSeconds iDuration;
sl@0
    53
	};
sl@0
    54
sl@0
    55
sl@0
    56
/**
sl@0
    57
 * Play a Dual tone
sl@0
    58
 *
sl@0
    59
 * @class CTestMmfAclntDualTone
sl@0
    60
 *
sl@0
    61
 */
sl@0
    62
class CTestMmfAclntDualTone : public CTestMmfAclntTone
sl@0
    63
	{
sl@0
    64
public:
sl@0
    65
	CTestMmfAclntDualTone(const TDesC& aTestName) ;
sl@0
    66
	static CTestMmfAclntDualTone* NewL(const TDesC& aTestName);
sl@0
    67
	virtual TVerdict DoTestStepL();
sl@0
    68
sl@0
    69
protected:
sl@0
    70
	TInt iFreqOne;
sl@0
    71
	TInt iFreqTwo;
sl@0
    72
 	};
sl@0
    73
sl@0
    74
sl@0
    75
/**
sl@0
    76
 * Play a DTMF string
sl@0
    77
 *
sl@0
    78
 * @class CTestMmfAclntToneDtmf
sl@0
    79
 *
sl@0
    80
 */
sl@0
    81
class CTestMmfAclntToneDtmf : public CTestMmfAclntTone
sl@0
    82
	{
sl@0
    83
public:
sl@0
    84
	CTestMmfAclntToneDtmf(const TDesC& aTestName,const TDesC& aDTMF,const TInt aExpectedResult=KErrNone) ;
sl@0
    85
	static CTestMmfAclntToneDtmf* NewL(const TDesC& aTestName,const TDesC& aDTMF,const TInt aExpectedResult=KErrNone);
sl@0
    86
	virtual TVerdict DoTestStepL();
sl@0
    87
sl@0
    88
protected:
sl@0
    89
	TBuf<KNameBufSize> iDTMF;
sl@0
    90
 	};
sl@0
    91
sl@0
    92
sl@0
    93
/** 
sl@0
    94
 * Play a tone file
sl@0
    95
 *
sl@0
    96
 * @class CTestMmfAclntToneFile
sl@0
    97
 *
sl@0
    98
 */
sl@0
    99
class CTestMmfAclntToneFile : public CTestMmfAclntTone
sl@0
   100
	{
sl@0
   101
public:
sl@0
   102
	CTestMmfAclntToneFile(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName) ;
sl@0
   103
	static CTestMmfAclntToneFile* NewL(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName);
sl@0
   104
	virtual TVerdict DoTestStepL();
sl@0
   105
	virtual TVerdict DoTestStepPreambleL();
sl@0
   106
sl@0
   107
protected:	
sl@0
   108
	TInt iFrequency;
sl@0
   109
	TBuf<KNameBufSize> iSectName;
sl@0
   110
	TBuf<KNameBufSize> iKeyName;
sl@0
   111
	};
sl@0
   112
sl@0
   113
sl@0
   114
/**
sl@0
   115
 * Play a tone from a descriptor.
sl@0
   116
 *
sl@0
   117
 * @class CTestMmfAclntToneDes
sl@0
   118
 *
sl@0
   119
 */
sl@0
   120
class CTestMmfAclntToneDes : public CTestMmfAclntTone 
sl@0
   121
	{
sl@0
   122
public:
sl@0
   123
	CTestMmfAclntToneDes(const TDesC& aTestName, const TDesC8& aDes, const TInt aExpectedResult);
sl@0
   124
	static CTestMmfAclntToneDes* NewL(const TDesC& aTestName, const TDesC8& aDes, const TInt aExpectedResult);
sl@0
   125
	virtual TVerdict DoTestStepL();
sl@0
   126
sl@0
   127
public:
sl@0
   128
	const TDesC8& iDes;
sl@0
   129
	} ;
sl@0
   130
sl@0
   131
sl@0
   132
/**
sl@0
   133
 * Play a predefined/fixed tone
sl@0
   134
 *
sl@0
   135
 * @class CTestMmfAclntToneFixed
sl@0
   136
 *
sl@0
   137
 */
sl@0
   138
class CTestMmfAclntToneFixed : public CTestMmfAclntTone 
sl@0
   139
	{
sl@0
   140
public:
sl@0
   141
	CTestMmfAclntToneFixed(const TDesC& aTestName,const TInt aTone);
sl@0
   142
	virtual TVerdict DoTestStepL();
sl@0
   143
	static CTestMmfAclntToneFixed* NewL(const TDesC& aTestName,const TInt aTone);
sl@0
   144
sl@0
   145
protected:
sl@0
   146
	TInt iTone;
sl@0
   147
	} ;
sl@0
   148
sl@0
   149
sl@0
   150
/**
sl@0
   151
 * Playing a tone and playing an audio file.
sl@0
   152
 *
sl@0
   153
 * @class CTestMmfAclntToneAudio
sl@0
   154
 *
sl@0
   155
 */
sl@0
   156
class CTestMmfAclntToneAudio : public CTestMmfAclntStep, public MMdaAudioToneObserver, public MMdaAudioPlayerCallback
sl@0
   157
	{
sl@0
   158
public:
sl@0
   159
	CTestMmfAclntToneAudio() ;
sl@0
   160
	virtual TVerdict DoTestStepL();
sl@0
   161
	// From MMdaAudioToneObserver
sl@0
   162
	virtual void MatoPrepareComplete(TInt aError);
sl@0
   163
	virtual void MatoPlayComplete(TInt aError);
sl@0
   164
	// from MMdaAudioPlayerCallback
sl@0
   165
    virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
sl@0
   166
    virtual void MapcPlayComplete(TInt aError);
sl@0
   167
sl@0
   168
private:
sl@0
   169
	TInt iPlayerError;
sl@0
   170
	TInt iToneError;
sl@0
   171
	TInt iCallbackCount;
sl@0
   172
	};
sl@0
   173
sl@0
   174
/**
sl@0
   175
 * Cancel tone play
sl@0
   176
 *
sl@0
   177
 * @class CTestMmfAclntToneCancelP
sl@0
   178
 *
sl@0
   179
 */
sl@0
   180
class CTestMmfAclntToneCancelP : public CTestMmfAclntTone 
sl@0
   181
	{
sl@0
   182
public:
sl@0
   183
	CTestMmfAclntToneCancelP(const TDesC& aTestName);
sl@0
   184
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   185
	static CTestMmfAclntToneCancelP* NewL(const TDesC& aTestName);
sl@0
   186
	};
sl@0
   187
sl@0
   188
/**
sl@0
   189
 * Cancel tone prepare.
sl@0
   190
 *
sl@0
   191
 * @class CTestMmfAclntToneCancelIni
sl@0
   192
 *
sl@0
   193
 */
sl@0
   194
class CTestMmfAclntToneCancelIni : public CTestMmfAclntTone 
sl@0
   195
	{
sl@0
   196
public:
sl@0
   197
	CTestMmfAclntToneCancelIni(const TDesC& aTestName);
sl@0
   198
	virtual TVerdict DoTestStepL();
sl@0
   199
	static CTestMmfAclntToneCancelIni* NewL(const TDesC& aTestName);
sl@0
   200
	};
sl@0
   201
sl@0
   202
/**
sl@0
   203
 * Enquire sequence name
sl@0
   204
 *
sl@0
   205
 * @class CTestMmfAclntToneNames
sl@0
   206
 *
sl@0
   207
 */
sl@0
   208
class CTestMmfAclntToneNames : public CTestMmfAclntToneFixed
sl@0
   209
	{
sl@0
   210
public:
sl@0
   211
	CTestMmfAclntToneNames(const TDesC& aTestName) ;
sl@0
   212
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   213
	static CTestMmfAclntToneNames* NewL(const TDesC& aTestName);
sl@0
   214
	};
sl@0
   215
sl@0
   216
/**
sl@0
   217
 * Enquire sequence count
sl@0
   218
 *
sl@0
   219
 * @class CTestMmfAclntToneCount
sl@0
   220
 *
sl@0
   221
 */
sl@0
   222
class CTestMmfAclntToneCount : public CTestMmfAclntToneFixed
sl@0
   223
	{
sl@0
   224
public:
sl@0
   225
	CTestMmfAclntToneCount(const TDesC& aTestName);
sl@0
   226
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   227
	static CTestMmfAclntToneCount* NewL(const TDesC& aTestName);
sl@0
   228
	};
sl@0
   229
sl@0
   230
/**
sl@0
   231
 * Set volume to max and enquire volume
sl@0
   232
 *
sl@0
   233
 * @class CTestMmfAclntToneVolume
sl@0
   234
 *
sl@0
   235
 */
sl@0
   236
class CTestMmfAclntToneVolume : public CTestMmfAclntTone
sl@0
   237
	{
sl@0
   238
public:
sl@0
   239
	CTestMmfAclntToneVolume(const TDesC& aTestName,const TInt aVolume) ;
sl@0
   240
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   241
	static CTestMmfAclntToneVolume* NewL(const TDesC& aTestName,const TInt aVolume);
sl@0
   242
sl@0
   243
private:
sl@0
   244
	TInt iVolume;
sl@0
   245
	};
sl@0
   246
sl@0
   247
/**
sl@0
   248
 * Set volume ramp
sl@0
   249
 *
sl@0
   250
 * @class CTestMmfAclntVolumeRamp
sl@0
   251
 *
sl@0
   252
 */
sl@0
   253
class CTestMmfAclntVolumeRamp : public CTestMmfAclntTone
sl@0
   254
	{
sl@0
   255
public:
sl@0
   256
	CTestMmfAclntVolumeRamp(const TDesC& aTestName, const TInt aRamp);
sl@0
   257
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   258
	static CTestMmfAclntVolumeRamp* NewL(const TDesC& aTestName, const TInt aRamp);
sl@0
   259
sl@0
   260
private:
sl@0
   261
	TInt iRamp;
sl@0
   262
	};
sl@0
   263
sl@0
   264
sl@0
   265
/**
sl@0
   266
 * Set repeats
sl@0
   267
 *
sl@0
   268
 * @class CTestMmfAclntToneRepeat
sl@0
   269
 *
sl@0
   270
 */
sl@0
   271
class CTestMmfAclntToneRepeat : public CTestMmfAclntTone
sl@0
   272
	{
sl@0
   273
public:
sl@0
   274
	CTestMmfAclntToneRepeat(const TDesC& aTestName) ;
sl@0
   275
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   276
	static CTestMmfAclntToneRepeat* NewL(const TDesC& aTestName);
sl@0
   277
	};
sl@0
   278
sl@0
   279
/**
sl@0
   280
 * Configure tone on length, tone of length, pause length of DTMF Tones
sl@0
   281
 *
sl@0
   282
 * @class CTestMmfAclntToneLength
sl@0
   283
 *
sl@0
   284
 */
sl@0
   285
class CTestMmfAclntToneLength : public CTestMmfAclntToneDtmf
sl@0
   286
	{
sl@0
   287
public:
sl@0
   288
	CTestMmfAclntToneLength(const TDesC& aTestName) ;
sl@0
   289
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   290
	static CTestMmfAclntToneLength* NewL(const TDesC& aTestName);
sl@0
   291
	};
sl@0
   292
sl@0
   293
/**
sl@0
   294
 * Set prioritys of tones
sl@0
   295
 *
sl@0
   296
 * @class CTestMmfAclntPriorityTones
sl@0
   297
 *
sl@0
   298
 */
sl@0
   299
class CTestMmfAclntPriorityTones : public CTestMmfAclntStep, public MCallbackHandlerObserver
sl@0
   300
	{
sl@0
   301
public:
sl@0
   302
	CTestMmfAclntPriorityTones() ;
sl@0
   303
	virtual TVerdict DoTestStepL();
sl@0
   304
	// MCallbackHandlerObserver
sl@0
   305
	void MchoComplete(TInt aID, TInt aError);
sl@0
   306
sl@0
   307
private:
sl@0
   308
	CMdaAudioToneUtility* iToneUtil[2];
sl@0
   309
	CToneCallbackHandler* iCallback[2];
sl@0
   310
	TInt iCallbackCount;
sl@0
   311
	TInt iFirstCallback;
sl@0
   312
	TInt iFrequency;
sl@0
   313
	TInt iError;
sl@0
   314
	};
sl@0
   315
sl@0
   316
/**
sl@0
   317
 * Set balance and enquire balance
sl@0
   318
 *
sl@0
   319
 * @class CTestMmfAclntToneBalance
sl@0
   320
 *
sl@0
   321
 */
sl@0
   322
class CTestMmfAclntToneBalance : public CTestMmfAclntTone
sl@0
   323
	{
sl@0
   324
public:
sl@0
   325
	CTestMmfAclntToneBalance(const TDesC& aTestName,const TInt aBalance) ;
sl@0
   326
	virtual TVerdict DoTestL(CMdaAudioToneUtility* aToneUtil);
sl@0
   327
	static CTestMmfAclntToneBalance* NewL(const TDesC& aTestName,const TInt aBalance);
sl@0
   328
sl@0
   329
private:
sl@0
   330
	TInt iBalance;
sl@0
   331
	};
sl@0
   332
sl@0
   333
//
sl@0
   334
// NEGATIVE TESTS
sl@0
   335
//
sl@0
   336
sl@0
   337
sl@0
   338
/** 
sl@0
   339
 * Set up tone on, off and pause length to illegal values.
sl@0
   340
 *
sl@0
   341
 * @class CTestMM_MMF_ACLNT_I_1155_HP
sl@0
   342
 *
sl@0
   343
 */
sl@0
   344
class CTestMmfAclntOnOffPause : public CTestMmfAclntStep, public MMdaAudioToneObserver
sl@0
   345
	{
sl@0
   346
public:
sl@0
   347
	CTestMmfAclntOnOffPause() ;
sl@0
   348
	virtual TVerdict DoTestStepL();
sl@0
   349
// From MMdaAudioToneObserver
sl@0
   350
public:
sl@0
   351
	virtual void MatoPrepareComplete(TInt aError);
sl@0
   352
	virtual void MatoPlayComplete(TInt aError);
sl@0
   353
sl@0
   354
private:
sl@0
   355
	TInt iFrequency;
sl@0
   356
	TInt iError;
sl@0
   357
	};
sl@0
   358
sl@0
   359
sl@0
   360
#endif