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