mmlibs/mmfw/tsrc/mmfunittest/aclnt/TSU_MMF_ACLNT_01/TestStepPlayerNewPriorPrefer.cpp
author hgs
Thu, 07 Oct 2010 22:34:12 +0100
changeset 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// This file contains an example Test step implementation 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
// This demonstrates the various functions provided
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// by the CTestStep base class which are available within
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
// a test step 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
// 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
// EPOC includes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <e32test.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <e32keys.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
#include <c32comm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include <f32file.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include <etel.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include <etelmm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include <testframework.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
#include <mdaaudiosampleplayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
//#include <MdaAudioSampleEditor.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
//#include <MdaAudioTonePlayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
// Test system includes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
#include <testframework.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
// Specific includes for this test suite
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
#include "TestStepUnitMMFAudClient.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
#include "TestSuiteUnitMMFAudClient.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
// Specific includes for these test steps
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
#include "TestStepPlayerNew.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
#include "mmfclientaudioplayer.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
 * Static constructor for CTestStepPlayerNewPriorPrefer.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
 * @return	"CTestStepPlayerNewPriorPrefer*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
 *			The constructed CTestStepPlayerNewPriorPrefer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
CTestStepPlayerNewPriorPrefer* CTestStepPlayerNewPriorPrefer::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	CTestStepPlayerNewPriorPrefer* self = new(ELeave) CTestStepPlayerNewPriorPrefer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
CTestStepPlayerNewPriorPrefer::CTestStepPlayerNewPriorPrefer() : iTestCase(0), iPlayer(NULL)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	iTestStepName = _L("MM-MMF-ACLNT-U-0003-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
CTestStepPlayerNewPriorPrefer::~CTestStepPlayerNewPriorPrefer()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
void CTestStepPlayerNewPriorPrefer::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
	TInt err1 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
	TInt err2 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	TInt state = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
	TMMFMessageDestination* srcHandle = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
	switch (iTestCase) {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	case 1:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	case 2:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	case 3:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
		INFO_PRINTF1(_L("InitComplete3"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
		err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
		err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
		if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
			 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
			 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
			 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
			 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
			iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
		if (iPlayer != NULL)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
			delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
			iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	case 4:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
		INFO_PRINTF1(_L("InitComplete4"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
		if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
			 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
			 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
			 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
			 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
			iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
		if (iPlayer != NULL)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
			delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
			iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
		break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
void CTestStepPlayerNewPriorPrefer::MapcPlayComplete(TInt /*aError*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
	// not used inthis test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
	}
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
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
enum TVerdict CTestStepPlayerNewPriorPrefer::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
TVerdict CTestStepPlayerNewPriorPrefer::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
	__MM_HEAP_MARK;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
	INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0003-HP"));// iTestStepName.Ptr());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
	INFO_PRINTF1(_L("this test is iniatilising a CMdaAudioPlayerUtility object"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
	iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
		//INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	// test 1 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
	iTestCase = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this, EMdaPriorityMin);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
	INFO_PRINTF1(_L("InitComplete1"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
	TInt err1 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
	TInt err2 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
	TInt state = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
	TMMFMessageDestination* srcHandle = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
	// test 2 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
	iTestCase = 2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this, EMdaPriorityMax);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
	INFO_PRINTF1(_L("InitComplete2"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
	// test 3 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
	iTestCase = 3;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this, EMdaPriorityMax);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
	// test 4 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
	iTestCase = 4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this, EMdaPriorityMax);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
	User::After(500000); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
	__MM_HEAP_MARKEND;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
 * Static constructor for CTestStepPlayerNewPrefer.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
 * @return	"CTestStepPlayerNewPrefer*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
 *			The constructed CTestStepPlayerNewPrefer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
CTestStepPlayerNewPrefer* CTestStepPlayerNewPrefer::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
	CTestStepPlayerNewPrefer* self = new(ELeave) CTestStepPlayerNewPrefer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
CTestStepPlayerNewPrefer::CTestStepPlayerNewPrefer()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
	iTestStepName = _L("MM-MMF-ACLNT-U-0004-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
CTestStepPlayerNewPrefer::~CTestStepPlayerNewPrefer()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
void CTestStepPlayerNewPrefer::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
void CTestStepPlayerNewPrefer::MapcPlayComplete(TInt /*aError*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
	// not used inthis test
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
enum TVerdict CTestStepPlayerNewPrefer::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
TVerdict CTestStepPlayerNewPrefer::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
	__MM_HEAP_MARK;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
	INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0004-HP"));// iTestStepName.Ptr());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
	INFO_PRINTF1(_L("this test is iniatilising a CMdaAudioPlayerUtility object with non-default preferences"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
	iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
		//INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
	// test 1 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this, EMdaPriorityNormal, EMdaPriorityPreferenceQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
	// check for errors
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
	TInt err1 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
	TInt err2 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
	TInt state = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
	TMMFMessageDestination* srcHandle = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
		delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
		iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
	// test 2 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this, EMdaPriorityNormal, EMdaPriorityPreferenceTime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
	// check for errors
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
		delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
		iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
	// test 3 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this, EMdaPriorityNormal, EMdaPriorityPreferenceQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
	User::After(500000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
	// check for errors
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
		delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
		iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
	// test 4 //
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this, EMdaPriorityNormal, EMdaPriorityPreferenceTime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
	User::After(500000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
	// check for errors
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
	err2 = GetAudPlayerSourceHandle(iPlayer, srcHandle);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
		 err2 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
		 &srcHandle == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
		 state != CMMFMdaAudioPlayerUtility::EStopped ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
		 iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
		 return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
		delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
		iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
	__MM_HEAP_MARKEND;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417