devsound/a3fcharacterisationtest/src/char_a3f_devsound_initializationtest.cpp
author hgs
Wed, 13 Oct 2010 12:45:32 +0100
changeset 2 5c1df44f2eed
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk42_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2008-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
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// User includes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
#include "char_a3f_devsound_initializationtest.h"
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
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0001
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
RA3FDevSoundToneInitializationTest::RA3FDevSoundToneInitializationTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
RA3FDevSoundToneInitializationTest* RA3FDevSoundToneInitializationTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
	RA3FDevSoundToneInitializationTest* self = new (ELeave) RA3FDevSoundToneInitializationTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
void RA3FDevSoundToneInitializationTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
void RA3FDevSoundToneInitializationTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializationTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
		}
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
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0002
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
RA3FDevSoundToneCancelInitializeTest::RA3FDevSoundToneCancelInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
	:	RA3FDevSoundTestBase(aTestName),iInitCompleteReceived(EFalse),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
		iSampleRate(0), iChannels(0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
RA3FDevSoundToneCancelInitializeTest* RA3FDevSoundToneCancelInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
	RA3FDevSoundToneCancelInitializeTest* self = new (ELeave) RA3FDevSoundToneCancelInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
void RA3FDevSoundToneCancelInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
	if (!GetIntFromConfig(iTestStepName, KSampleRate, iSampleRate))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
		ERR_PRINTF2(KMsgErrorGetParameter, &KSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
	if (!GetIntFromConfig(iTestStepName, KChannel, iChannels))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
		ERR_PRINTF2(KMsgErrorGetParameter, &KChannel);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	iTimer = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
void RA3FDevSoundToneCancelInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneCancelInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
					}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
				StartTimer(KMicroSecsTwoSec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
				INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize")); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
				err = iMMFDevSound->CancelInitialize();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
					ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
					}
2
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   150
                INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   151
                TRAP(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   152
                if(err != KErrNone)
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   153
                    {
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   154
                    ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   155
                    StopTest(err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   156
                    break;
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   157
                    }
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   158
                User::After(2000);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   159
                INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize")); 
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   160
                err = iMMFDevSound->CancelInitialize();
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   161
                if(err != KErrNone)
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   162
                    {
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   163
                    ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   164
                    StopTest(err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   165
                    }
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
			if(aDevSoundEvent == EEventInitComplete)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
				iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
void RA3FDevSoundToneCancelInitializeTest::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	if(!iInitCompleteReceived)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
		INFO_PRINTF1(_L("Waiting for InitializeComplete event"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
		iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
		iTimer->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
		TMMFCapabilities capabilitiesSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
		TBuf<KMaxSampleRateStringLength> stringSampleRateSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
		TBuf<KMaxChannelsStringLength> stringChannelsSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
		SampleRateFromTIntToTMMFSampleRate (iSampleRate, iESampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
		capabilitiesSet.iRate = iESampleRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
		capabilitiesSet.iChannels = iChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
		SampleRateFromTUintToString (capabilitiesSet.iRate,	stringSampleRateSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
		ChannelsFromTUintToString (capabilitiesSet.iChannels, stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
		INFO_PRINTF3(_L("Settings for Sample rate an channel mode. %S %S"), &stringSampleRateSet, &stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
		INFO_PRINTF1(_L("Calling CMMFDevSound::SetConfigL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
		TRAPD(err, iMMFDevSound->SetConfigL(capabilitiesSet));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
		if (err ==  KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with the expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
			StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
			ERR_PRINTF2(_L("Expected error value = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
			StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
void RA3FDevSoundToneCancelInitializeTest::InitializeComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
	ERR_PRINTF1(_L("DevSound called InitializeComplete after calling CMMFDevSound::CancelInitialize"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0003
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
RA3FDevSoundToneInitializeToPlayTonesTwiceTest::RA3FDevSoundToneInitializeToPlayTonesTwiceTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
RA3FDevSoundToneInitializeToPlayTonesTwiceTest* RA3FDevSoundToneInitializeToPlayTonesTwiceTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
	RA3FDevSoundToneInitializeToPlayTonesTwiceTest* self = new (ELeave) RA3FDevSoundToneInitializeToPlayTonesTwiceTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
void RA3FDevSoundToneInitializeToPlayTonesTwiceTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
void RA3FDevSoundToneInitializeToPlayTonesTwiceTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializeTwiceToPlayTonesTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
					TRAPD(err, iMMFDevSound->InitializeL(*this,EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
			StopTest(aError, EFail);
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
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0004
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
RA3FDevSoundToneInitializeToPlayTonesThenAudioTest::RA3FDevSoundToneInitializeToPlayTonesThenAudioTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
RA3FDevSoundToneInitializeToPlayTonesThenAudioTest* RA3FDevSoundToneInitializeToPlayTonesThenAudioTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
	RA3FDevSoundToneInitializeToPlayTonesThenAudioTest* self = new (ELeave) RA3FDevSoundToneInitializeToPlayTonesThenAudioTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
void RA3FDevSoundToneInitializeToPlayTonesThenAudioTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
void RA3FDevSoundToneInitializeToPlayTonesThenAudioTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializeToPlayTonesThenAudioTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
					TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0005
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest::RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest* RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
	RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest* self = new (ELeave) RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
void RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
void RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializeToPlayTonesThenRecordAudioTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
					INFO_PRINTF1(_L("========== First initialization successfully completed=========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
					TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0006
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
RA3FDevSoundToneInitializeTFourCCTest::RA3FDevSoundToneInitializeTFourCCTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
	: 	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
RA3FDevSoundToneInitializeTFourCCTest* RA3FDevSoundToneInitializeTFourCCTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
	RA3FDevSoundToneInitializeTFourCCTest* self = new (ELeave) RA3FDevSoundToneInitializeTFourCCTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
void RA3FDevSoundToneInitializeTFourCCTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
void RA3FDevSoundToneInitializeTFourCCTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializeTFourCCTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
				if(err == KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
					ERR_PRINTF2(_L("Calling CMMFDevSound::InitializeL to play tones using a FourCC code left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
					INFO_PRINTF2(_L("Expected error = %d"), KErrNotSupported);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0007
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
RA3FDevSoundInitializeInvalidModeTest::RA3FDevSoundInitializeInvalidModeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
	: 	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
RA3FDevSoundInitializeInvalidModeTest* RA3FDevSoundInitializeInvalidModeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
	RA3FDevSoundInitializeInvalidModeTest* self = new (ELeave) RA3FDevSoundInitializeInvalidModeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
void RA3FDevSoundInitializeInvalidModeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
void RA3FDevSoundInitializeInvalidModeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundInitializeInvalidModeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateConverting));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
				if(err == KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
					ERR_PRINTF2(_L("Calling CMMFDevSound::InitializeL using an invalid TMMFState argument left with expected error code = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
					INFO_PRINTF2(_L("Calling CMMFDevSound::InitializeL using an invalid TMMFState argument left with unexpected error code = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
					INFO_PRINTF2(_L("Expected error = %d"), KErrNotSupported);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0008
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
RA3FDevSoundPlayInitializationTest::RA3FDevSoundPlayInitializationTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
	: 	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
RA3FDevSoundPlayInitializationTest* RA3FDevSoundPlayInitializationTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
	RA3FDevSoundPlayInitializationTest* self = new (ELeave) RA3FDevSoundPlayInitializationTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
void RA3FDevSoundPlayInitializationTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
void RA3FDevSoundPlayInitializationTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializationTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL succeeded"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0009
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
RA3FDevSoundPlayCancelInitializeTest::RA3FDevSoundPlayCancelInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
	:	RA3FDevSoundTestBase(aTestName),iInitCompleteReceived(EFalse),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
		iSampleRate(0), iChannels(0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
RA3FDevSoundPlayCancelInitializeTest* RA3FDevSoundPlayCancelInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
	RA3FDevSoundPlayCancelInitializeTest* self = new (ELeave) RA3FDevSoundPlayCancelInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
void RA3FDevSoundPlayCancelInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
	if (!GetIntFromConfig(iTestStepName, KSampleRate, iSampleRate))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
		ERR_PRINTF2(KMsgErrorGetParameter, &KSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
	if (!GetIntFromConfig(iTestStepName, KChannel, iChannels))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
		ERR_PRINTF2(KMsgErrorGetParameter, &KChannel);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
	iTimer = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
void RA3FDevSoundPlayCancelInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayCancelInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
					}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
				StartTimer(KMicroSecsTwoSec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
				INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
				err = iMMFDevSound->CancelInitialize();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
					ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
					}
2
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   763
                INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   764
                TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   765
                if(err != KErrNone)
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   766
                    {
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   767
                    ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   768
                    StopTest(err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   769
                    break;
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   770
                    }       
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   771
                User::After(2000);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   772
                INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize"));
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   773
                err = iMMFDevSound->CancelInitialize();
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   774
                if(err != KErrNone)
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   775
                    {
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   776
                    ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   777
                    StopTest(err);
5c1df44f2eed 2010wk42_01
hgs
parents: 0
diff changeset
   778
                    }
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
			if(aDevSoundEvent == EEventInitComplete)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
				iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   803
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   804
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
void RA3FDevSoundPlayCancelInitializeTest::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
	if(!iInitCompleteReceived)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
		INFO_PRINTF1(_L("Waiting for InitializeComplete event"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
		iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   811
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   812
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   813
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   814
		iTimer->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   815
		TMMFCapabilities capabilitiesSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   816
		TBuf<KMaxSampleRateStringLength> stringSampleRateSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   817
		TBuf<KMaxChannelsStringLength> stringChannelsSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   818
		SampleRateFromTIntToTMMFSampleRate (iSampleRate, iESampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   819
		capabilitiesSet.iRate = iESampleRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   820
		capabilitiesSet.iChannels = iChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   821
		SampleRateFromTUintToString (capabilitiesSet.iRate,	stringSampleRateSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   822
		ChannelsFromTUintToString (capabilitiesSet.iChannels, stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   823
		INFO_PRINTF3(_L("Settings for Sample rate an channel mode. %S %S"), &stringSampleRateSet, &stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   824
		INFO_PRINTF1(_L("Calling CMMFDevSound::SetConfigL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   825
		TRAPD(err, iMMFDevSound->SetConfigL(capabilitiesSet));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   826
		if (err ==  KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   827
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   828
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with the expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   829
			StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   830
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   831
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   832
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   833
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   834
			ERR_PRINTF2(_L("Expected error value = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   835
			StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   836
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   837
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   838
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   839
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   840
void RA3FDevSoundPlayCancelInitializeTest::InitializeComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   841
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   842
	ERR_PRINTF1(_L("DevSound called InitializeComplete after calling CMMFDevSound::CancelInitialize"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   843
	StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   844
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   845
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   846
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   847
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   848
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   849
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0010
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   850
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   851
RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest::RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   852
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   853
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   854
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   855
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   856
RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest* RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   857
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   858
	RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest* self = new (ELeave) RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   859
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   860
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   861
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   862
void RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   863
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   864
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   865
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   866
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   867
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   868
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   869
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   870
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   871
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   872
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   873
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   874
void RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   875
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   876
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   877
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   878
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   879
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   880
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializeToPlayAudioThenTonesTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   881
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   882
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   883
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   884
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   885
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   886
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   887
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   888
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   889
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   890
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   891
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   892
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   893
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   894
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   895
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   896
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   897
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   898
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   899
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   900
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   901
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   902
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   903
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   904
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   905
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   906
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   907
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   908
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   909
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   910
					TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   911
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   912
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   913
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   914
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   915
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   916
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   917
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   918
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   919
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   920
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   921
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   922
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   923
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   924
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   925
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   926
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   927
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   928
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   929
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   930
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   931
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   932
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   933
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   934
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   935
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   936
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   937
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   938
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   939
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   940
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   941
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   942
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   943
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   944
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   945
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   946
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   947
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0011
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   948
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   949
RA3FDevSoundPlayInitializeToPlayAudioTwiceTest::RA3FDevSoundPlayInitializeToPlayAudioTwiceTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   950
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   951
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   952
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   953
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   954
RA3FDevSoundPlayInitializeToPlayAudioTwiceTest* RA3FDevSoundPlayInitializeToPlayAudioTwiceTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   955
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   956
	RA3FDevSoundPlayInitializeToPlayAudioTwiceTest* self = new (ELeave) RA3FDevSoundPlayInitializeToPlayAudioTwiceTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   957
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   958
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   959
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   960
void RA3FDevSoundPlayInitializeToPlayAudioTwiceTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   961
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   962
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   963
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   964
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   965
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   966
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   967
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   968
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   969
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   970
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   971
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   972
void RA3FDevSoundPlayInitializeToPlayAudioTwiceTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   973
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   974
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   975
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   976
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   977
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   978
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializeTwiceToPlayAudioTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   979
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   980
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   981
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   982
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   983
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   984
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   985
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   986
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   987
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   988
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   989
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   990
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   991
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   992
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   993
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   994
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   995
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   996
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   997
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   998
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   999
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1000
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1001
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1002
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1003
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1004
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1005
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1006
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1007
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1008
					TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1009
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1010
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1011
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1012
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1013
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1014
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1015
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1016
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1017
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1018
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1019
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1020
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1021
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1022
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1023
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1024
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1025
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1026
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1027
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1028
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1029
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1030
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1031
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1032
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1033
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1034
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1035
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1036
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1037
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1038
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1039
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1040
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1041
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1042
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1043
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1044
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1045
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1046
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0012
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1047
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1048
RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest::RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1049
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1050
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1051
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1052
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1053
RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest* RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1054
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1055
	RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest* self = new (ELeave) RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1056
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1057
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1058
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1059
void RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1060
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1061
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1062
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1063
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1064
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1065
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1066
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1067
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1068
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1069
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1070
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1071
void RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1072
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1073
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1074
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1075
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1076
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1077
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializeToPlayAudioThenRecordTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1078
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1079
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1080
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1081
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1082
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1083
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1084
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1085
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1086
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1087
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1088
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1089
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1090
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1091
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1092
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1093
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1094
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1095
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1096
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1097
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1098
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1099
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1100
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1101
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1102
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1103
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1104
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1105
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1106
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1107
					TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1108
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1109
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1110
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1111
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1112
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1113
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1114
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1115
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1116
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1117
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1118
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1119
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1120
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1121
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1122
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1123
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1124
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1125
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1126
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1127
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1128
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1129
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1130
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1131
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1132
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1133
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1134
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1135
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1136
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1137
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1138
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1139
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1140
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1141
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1142
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1143
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1144
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0013
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1145
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1146
RA3FDevSoundPlayInitializeInvalidTFourCCTest::RA3FDevSoundPlayInitializeInvalidTFourCCTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1147
	: 	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1148
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1149
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1150
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1151
RA3FDevSoundPlayInitializeInvalidTFourCCTest* RA3FDevSoundPlayInitializeInvalidTFourCCTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1152
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1153
	RA3FDevSoundPlayInitializeInvalidTFourCCTest* self = new (ELeave) RA3FDevSoundPlayInitializeInvalidTFourCCTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1154
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1155
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1156
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1157
void RA3FDevSoundPlayInitializeInvalidTFourCCTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1158
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1159
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1160
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1161
void RA3FDevSoundPlayInitializeInvalidTFourCCTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1162
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1163
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1164
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1165
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1166
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1167
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializeInvalidTFourCCTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1168
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1169
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1170
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1171
				TRAPD(err, iMMFDevSound->InitializeL(*this, 0x00000000, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1172
				if(err == KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1173
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1174
					INFO_PRINTF2(_L("Calling CMMFDevSound::InitializeL using an invalid TFourCC argument left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1175
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1176
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1177
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1178
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1179
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1180
					ERR_PRINTF2(_L("Calling CMMFDevSound::InitializeL using an invalid TFourCC argument left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1181
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotSupported);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1182
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1183
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1184
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1185
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1186
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1187
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1188
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1189
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1190
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1191
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1192
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1193
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1194
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1195
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1196
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1197
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0014
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1198
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1199
RA3FDevSoundRecordInitializationTest::RA3FDevSoundRecordInitializationTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1200
	: 	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1201
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1202
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1203
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1204
RA3FDevSoundRecordInitializationTest* RA3FDevSoundRecordInitializationTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1205
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1206
	RA3FDevSoundRecordInitializationTest* self = new (ELeave) RA3FDevSoundRecordInitializationTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1207
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1208
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1209
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1210
void RA3FDevSoundRecordInitializationTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1211
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1212
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1213
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1214
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1215
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1216
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1217
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1218
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1219
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1220
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1221
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1222
void RA3FDevSoundRecordInitializationTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1223
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1224
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1225
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1226
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1227
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1228
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitializationTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1229
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1230
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1231
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1232
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1233
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1234
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1235
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1236
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1237
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1238
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1239
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1240
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1241
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1242
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1243
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1244
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1245
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1246
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1247
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1248
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1249
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1250
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1251
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1252
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1253
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1254
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1255
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1256
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1257
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1258
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1259
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1260
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1261
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1262
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1263
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1264
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1265
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1266
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1267
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1268
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1269
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1270
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1271
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1272
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1273
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1274
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1275
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1276
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1277
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1278
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0015
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1279
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1280
RA3FDevSoundRecordCancelInitializeTest::RA3FDevSoundRecordCancelInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1281
	:	RA3FDevSoundTestBase(aTestName),iInitCompleteReceived(EFalse),
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1282
	iSampleRate(0), iChannels(0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1283
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1284
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1285
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1286
RA3FDevSoundRecordCancelInitializeTest* RA3FDevSoundRecordCancelInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1287
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1288
	RA3FDevSoundRecordCancelInitializeTest* self = new (ELeave) RA3FDevSoundRecordCancelInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1289
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1290
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1291
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1292
void RA3FDevSoundRecordCancelInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1293
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1294
	if (!GetIntFromConfig(iTestStepName, KSampleRate, iSampleRate))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1295
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1296
		ERR_PRINTF2(KMsgErrorGetParameter, &KSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1297
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1298
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1299
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1300
	if (!GetIntFromConfig(iTestStepName, KChannel, iChannels))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1301
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1302
		ERR_PRINTF2(KMsgErrorGetParameter, &KChannel);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1303
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1304
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1305
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1306
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1307
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1308
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1309
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1310
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1311
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1312
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1313
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1314
	iTimer = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1315
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1316
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1317
void RA3FDevSoundRecordCancelInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1318
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1319
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1320
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1321
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1322
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1323
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordCancelInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1324
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1325
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1326
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1327
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1328
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1329
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1330
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1331
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1332
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1333
					}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1334
				StartTimer(KMicroSecsTwoSec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1335
				INFO_PRINTF1(_L("Calling CMMFDevSound::CancelInitialize"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1336
				err = iMMFDevSound->CancelInitialize();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1337
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1338
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1339
					ERR_PRINTF2(_L("Unexpected error on CancelInitialize = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1340
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1341
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1342
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1343
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1344
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1345
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1346
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1347
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1348
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1349
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1350
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1351
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1352
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1353
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1354
			if(aDevSoundEvent == EEventInitComplete)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1355
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1356
				iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1357
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1358
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1359
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1360
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1361
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1362
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1363
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1364
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1365
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1366
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1367
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1368
void RA3FDevSoundRecordCancelInitializeTest::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1369
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1370
	if(!iInitCompleteReceived)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1371
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1372
		INFO_PRINTF1(_L("Waiting for InitializeComplete event"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1373
		iInitCompleteReceived = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1374
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1375
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1376
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1377
		iTimer->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1378
		TMMFCapabilities capabilitiesSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1379
		TBuf<KMaxSampleRateStringLength> stringSampleRateSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1380
		TBuf<KMaxChannelsStringLength> stringChannelsSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1381
		SampleRateFromTIntToTMMFSampleRate (iSampleRate, iESampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1382
		capabilitiesSet.iRate = iESampleRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1383
		capabilitiesSet.iChannels = iChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1384
		SampleRateFromTUintToString (capabilitiesSet.iRate,	stringSampleRateSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1385
		ChannelsFromTUintToString (capabilitiesSet.iChannels, stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1386
		INFO_PRINTF3(_L("Settings for Sample rate an channel mode. %S %S"), &stringSampleRateSet, &stringChannelsSet);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1387
		INFO_PRINTF1(_L("Calling CMMFDevSound::SetConfigL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1388
		TRAPD(err, iMMFDevSound->SetConfigL(capabilitiesSet));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1389
		if (err ==  KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1390
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1391
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with the expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1392
			StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1393
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1394
		else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1395
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1396
			INFO_PRINTF2(_L("CMMFDevSound::SetConfigL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1397
			ERR_PRINTF2(_L("Expected error value = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1398
			StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1399
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1400
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1401
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1402
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1403
void RA3FDevSoundRecordCancelInitializeTest::InitializeComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1404
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1405
	ERR_PRINTF1(_L("DevSound called InitializeComplete after calling CMMFDevSound::CancelInitialize"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1406
	StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1407
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1408
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1409
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1410
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1411
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1412
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0016
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1413
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1414
RA3FDevSoundRecordInitializeThenPlayToneInitializeTest::RA3FDevSoundRecordInitializeThenPlayToneInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1415
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1416
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1417
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1418
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1419
RA3FDevSoundRecordInitializeThenPlayToneInitializeTest* RA3FDevSoundRecordInitializeThenPlayToneInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1420
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1421
	RA3FDevSoundRecordInitializeThenPlayToneInitializeTest* self = new (ELeave) RA3FDevSoundRecordInitializeThenPlayToneInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1422
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1423
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1424
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1425
void RA3FDevSoundRecordInitializeThenPlayToneInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1426
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1427
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1428
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1429
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1430
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1431
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1432
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1433
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1434
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1435
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1436
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1437
void RA3FDevSoundRecordInitializeThenPlayToneInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1438
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1439
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1440
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1441
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1442
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1443
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitializeThenPlayToneInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1444
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1445
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1446
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1447
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1448
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1449
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1450
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1451
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1452
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1453
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1454
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1455
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1456
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1457
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1458
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1459
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1460
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1461
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1462
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1463
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1464
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1465
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1466
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1467
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1468
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1469
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1470
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1471
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1472
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1473
					TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1474
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1475
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1476
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1477
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1478
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1479
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1480
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1481
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1482
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1483
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1484
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1485
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1486
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1487
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1488
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1489
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1490
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1491
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1492
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1493
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1494
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1495
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1496
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1497
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1498
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1499
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1500
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1501
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1502
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1503
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1504
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1505
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1506
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1507
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1508
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1509
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1510
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1511
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0017
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1512
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1513
RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest::RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1514
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1515
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1516
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1517
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1518
RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest* RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1519
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1520
	RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest* self = new (ELeave) RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1521
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1522
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1523
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1524
void RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1525
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1526
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1527
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1528
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1529
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1530
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1531
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1532
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1533
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1534
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1535
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1536
void RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1537
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1538
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1539
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1540
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1541
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1542
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitializeThenPlayAudioInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1543
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1544
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1545
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1546
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1547
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1548
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1549
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1550
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1551
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1552
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1553
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1554
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1555
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1556
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1557
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1558
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1559
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1560
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1561
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1562
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1563
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1564
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1565
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1566
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1567
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1568
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1569
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1570
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1571
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1572
					TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1573
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1574
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1575
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1576
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1577
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1578
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1579
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1580
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1581
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1582
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1583
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1584
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1585
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1586
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1587
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1588
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1589
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1590
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1591
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1592
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1593
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1594
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1595
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1596
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1597
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1598
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1599
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1600
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1601
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1602
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1603
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1604
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1605
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1606
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1607
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1608
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1609
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1610
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0018
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1611
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1612
RA3FDevSoundRecordInitializeToRecordAudioTwiceTest::RA3FDevSoundRecordInitializeToRecordAudioTwiceTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1613
	: 	RA3FDevSoundTestBase(aTestName), iReinitialized(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1614
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1615
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1616
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1617
RA3FDevSoundRecordInitializeToRecordAudioTwiceTest* RA3FDevSoundRecordInitializeToRecordAudioTwiceTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1618
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1619
	RA3FDevSoundRecordInitializeToRecordAudioTwiceTest* self = new (ELeave) RA3FDevSoundRecordInitializeToRecordAudioTwiceTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1620
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1621
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1622
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1623
void RA3FDevSoundRecordInitializeToRecordAudioTwiceTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1624
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1625
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1626
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1627
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1628
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1629
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1630
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1631
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1632
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1633
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1634
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1635
void RA3FDevSoundRecordInitializeToRecordAudioTwiceTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1636
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1637
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1638
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1639
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1640
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1641
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitializeToRecordAudioTwiceTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1642
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1643
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1644
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1645
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1646
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1647
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1648
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1649
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1650
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1651
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1652
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1653
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1654
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1655
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1656
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1657
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1658
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1659
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1660
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1661
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1662
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1663
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1664
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1665
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1666
				if(!iReinitialized)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1667
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1668
					INFO_PRINTF1(_L("========== First initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1669
					iReinitialized = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1670
					INFO_PRINTF1(_L("Again calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1671
					TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1672
					if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1673
						{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1674
						StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1675
						break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1676
						}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1677
					INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1678
					iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1679
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1680
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1681
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1682
					INFO_PRINTF1(_L("========== Second initialization successfully completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1683
					StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1684
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1685
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1686
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1687
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1688
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1689
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1690
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1691
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1692
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1693
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1694
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1695
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1696
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1697
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1698
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1699
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1700
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1701
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1702
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1703
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1704
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1705
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1706
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1707
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1708
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1709
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0019
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1710
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1711
RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest::RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1712
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1713
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1714
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1715
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1716
RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest* RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1717
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1718
	RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest* self = new (ELeave) RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1719
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1720
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1721
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1722
void RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1723
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1724
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1725
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1726
void RA3FDevSoundRecordInitializeNoFormatSpecificationPresentedTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1727
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1728
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1729
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1730
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1731
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1732
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundReocordCancelInitializeNoFormatSpecificationPresentedTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1733
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1734
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1735
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1736
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1737
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1738
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1739
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1740
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1741
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1742
					}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1743
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1744
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1745
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1746
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1747
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1748
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1749
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1750
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1751
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1752
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1753
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1754
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1755
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1756
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1757
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1758
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1759
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1760
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1761
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1762
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1763
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1764
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1765
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1766
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1767
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1768
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1769
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1770
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1771
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1772
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1773
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1774
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1775
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1776
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1777
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1778
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1779
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1780
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1781
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1782
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1783
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1784
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1785
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1786
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1787
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1788
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0020
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1789
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1790
RA3FDevSoundPlayDataWithoutInitializeTest::RA3FDevSoundPlayDataWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1791
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1792
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1793
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1794
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1795
RA3FDevSoundPlayDataWithoutInitializeTest* RA3FDevSoundPlayDataWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1796
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1797
	RA3FDevSoundPlayDataWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayDataWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1798
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1799
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1800
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1801
void RA3FDevSoundPlayDataWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1802
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1803
	iTimer = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1804
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1805
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1806
void RA3FDevSoundPlayDataWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1807
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1808
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1809
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1810
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1811
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1812
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayDataWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1813
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1814
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1815
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayData without calling CMMFDevSound::InitializeL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1816
				iMMFDevSound->PlayData();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1817
				StartTimer(KMicroSecsTwoSec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1818
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1819
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1820
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1821
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1822
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1823
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1824
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1825
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1826
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1827
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1828
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1829
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1830
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1831
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1832
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1833
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1834
void RA3FDevSoundPlayDataWithoutInitializeTest::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1835
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1836
	iTimer->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1837
	ERR_PRINTF1(_L("Panic did not occur as expected when calling PlayData()."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1838
	StopTest(KErrNone, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1839
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1840
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1841
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1842
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1843
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0021
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1844
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1845
RA3FDevSoundPlayDTMFStringWithoutInitializeTest::RA3FDevSoundPlayDTMFStringWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1846
	:	RA3FDevSoundTestBase(aTestName), iDTMFString(KNullDesC)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1847
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1848
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1849
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1850
RA3FDevSoundPlayDTMFStringWithoutInitializeTest* RA3FDevSoundPlayDTMFStringWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1851
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1852
	RA3FDevSoundPlayDTMFStringWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayDTMFStringWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1853
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1854
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1855
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1856
void RA3FDevSoundPlayDTMFStringWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1857
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1858
	TPtrC DTMF;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1859
	if(!GetStringFromConfig(iTestStepName, KDTMFString, DTMF))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1860
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1861
		ERR_PRINTF2(KMsgErrorGetParameter, &KDTMFString);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1862
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1863
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1864
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1865
	iDTMFString.Copy(DTMF);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1866
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1867
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1868
void RA3FDevSoundPlayDTMFStringWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1869
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1870
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1871
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1872
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1873
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1874
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayDTMFStringWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1875
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1876
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1877
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayDTMFStringL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1878
				TRAPD(err, iMMFDevSound->PlayDTMFStringL(iDTMFString));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1879
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1880
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1881
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayDTMFStringL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1882
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1883
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1884
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1885
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1886
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1887
					ERR_PRINTF2(_L("CMMFDevSound::PlayDTMFStringL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1888
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1889
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1890
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1891
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1892
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1893
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1894
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1895
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1896
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1897
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1898
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1899
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1900
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1901
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1902
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1903
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1904
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1905
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1906
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1907
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1908
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1909
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1910
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0022
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1911
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1912
RA3FDevSoundPlayDualToneWithoutInitializeTest::RA3FDevSoundPlayDualToneWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1913
	:	RA3FDevSoundTestBase(aTestName), iFrequencyTone1(0), iFrequencyTone2(0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1914
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1915
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1916
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1917
RA3FDevSoundPlayDualToneWithoutInitializeTest* RA3FDevSoundPlayDualToneWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1918
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1919
	RA3FDevSoundPlayDualToneWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayDualToneWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1920
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1921
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1922
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1923
void RA3FDevSoundPlayDualToneWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1924
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1925
	if(!GetIntFromConfig(iTestStepName, KDuration, iDuration)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1926
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1927
		ERR_PRINTF2(KMsgErrorGetParameter, &KDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1928
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1929
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1930
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1931
	if(!GetIntFromConfig(iTestStepName, KFrequencyTone1, iFrequencyTone1)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1932
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1933
		ERR_PRINTF2(KMsgErrorGetParameter, &KFrequencyTone1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1934
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1935
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1936
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1937
	if(!GetIntFromConfig(iTestStepName, KFrequencyTone2, iFrequencyTone2)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1938
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1939
		ERR_PRINTF2(KMsgErrorGetParameter, &KFrequencyTone2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1940
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1941
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1942
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1943
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1944
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1945
void RA3FDevSoundPlayDualToneWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1946
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1947
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1948
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1949
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1950
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1951
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayDualToneWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1952
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1953
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1954
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayDualToneL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1955
				TRAPD(err, iMMFDevSound->PlayDualToneL(iFrequencyTone1,iFrequencyTone2,iDuration));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1956
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1957
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1958
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayDualToneL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1959
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1960
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1961
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1962
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1963
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1964
					ERR_PRINTF2(_L("CMMFDevSound::PlayDualToneL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1965
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1966
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1967
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1968
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1969
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1970
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1971
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1972
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1973
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1974
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1975
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1976
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1977
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1978
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1979
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1980
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1981
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1982
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1983
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1984
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1985
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1986
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1987
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0023
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1988
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1989
RA3FDevSoundPlayFixedSequenceWithoutInitializeTest::RA3FDevSoundPlayFixedSequenceWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1990
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1991
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1992
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1993
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1994
RA3FDevSoundPlayFixedSequenceWithoutInitializeTest* RA3FDevSoundPlayFixedSequenceWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1995
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1996
	RA3FDevSoundPlayFixedSequenceWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayFixedSequenceWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1997
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1998
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1999
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2000
void RA3FDevSoundPlayFixedSequenceWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2001
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2002
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2003
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2004
void RA3FDevSoundPlayFixedSequenceWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2005
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2006
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2007
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2008
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2009
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2010
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayFixedSequenceWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2011
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2012
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2013
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayFixedSequenceL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2014
				TRAPD(err, iMMFDevSound->PlayFixedSequenceL(0));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2015
				if(err == KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2016
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2017
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayFixedSequenceL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2018
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2019
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2020
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2021
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2022
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2023
					ERR_PRINTF2(_L("CMMFDevSound::PlayFixedSequenceL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2024
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2025
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2026
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2027
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2028
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2029
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2030
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2031
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2032
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2033
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2034
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2035
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2036
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2037
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2038
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2039
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2040
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2041
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2042
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2043
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2044
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2045
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2046
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0024
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2047
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2048
RA3FDevSoundPlayInitWithoutInitializeTest::RA3FDevSoundPlayInitWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2049
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2050
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2051
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2052
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2053
RA3FDevSoundPlayInitWithoutInitializeTest* RA3FDevSoundPlayInitWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2054
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2055
	RA3FDevSoundPlayInitWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayInitWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2056
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2057
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2058
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2059
void RA3FDevSoundPlayInitWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2060
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2061
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2062
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2063
void RA3FDevSoundPlayInitWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2064
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2065
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2066
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2067
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2068
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2069
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2070
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2071
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2072
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayInitL without calling CMMFDevSound::InitializeL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2073
				TRAPD(err,iMMFDevSound->PlayInitL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2074
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2075
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2076
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayInitL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2077
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2078
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2079
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2080
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2081
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2082
					ERR_PRINTF2(_L("CMMFDevSound::PlayInitL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2083
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2084
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2085
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2086
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2087
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2088
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2089
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2090
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2091
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2092
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2093
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2094
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2095
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2096
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2097
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2098
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2099
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2100
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2101
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2102
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2103
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2104
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2105
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0025
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2106
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2107
RA3FDevSoundPlayToneWithoutInitializeTest::RA3FDevSoundPlayToneWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2108
	:	RA3FDevSoundTestBase(aTestName), iFrequencyTone1(0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2109
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2110
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2111
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2112
RA3FDevSoundPlayToneWithoutInitializeTest* RA3FDevSoundPlayToneWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2113
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2114
	RA3FDevSoundPlayToneWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayToneWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2115
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2116
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2117
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2118
void RA3FDevSoundPlayToneWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2119
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2120
	if(!GetIntFromConfig(iTestStepName, KDuration, iDuration)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2121
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2122
		ERR_PRINTF2(KMsgErrorGetParameter, &KDuration);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2123
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2124
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2125
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2126
	if(!GetIntFromConfig(iTestStepName, KFrequencyTone1, iFrequencyTone1)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2127
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2128
		ERR_PRINTF2(KMsgErrorGetParameter, &KFrequencyTone1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2129
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2130
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2131
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2132
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2133
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2134
void RA3FDevSoundPlayToneWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2135
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2136
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2137
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2138
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2139
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2140
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayToneWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2141
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2142
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2143
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayToneL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2144
				TRAPD(err, iMMFDevSound->PlayToneL(iFrequencyTone1, iDuration));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2145
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2146
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2147
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayToneL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2148
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2149
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2150
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2151
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2152
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2153
					ERR_PRINTF2(_L("CMMFDevSound::PlayToneL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2154
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2155
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2156
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2157
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2158
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2159
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2160
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2161
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2162
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2163
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2164
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2165
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2166
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2167
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2168
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2169
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2170
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2171
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2172
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2173
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2174
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2175
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2176
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0026
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2177
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2178
RA3FDevSoundPlayToneSequenceWithoutInitializeTest::RA3FDevSoundPlayToneSequenceWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2179
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2180
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2181
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2182
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2183
RA3FDevSoundPlayToneSequenceWithoutInitializeTest* RA3FDevSoundPlayToneSequenceWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2184
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2185
	RA3FDevSoundPlayToneSequenceWithoutInitializeTest* self = new (ELeave) RA3FDevSoundPlayToneSequenceWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2186
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2187
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2188
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2189
void RA3FDevSoundPlayToneSequenceWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2190
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2191
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2192
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2193
void RA3FDevSoundPlayToneSequenceWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2194
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2195
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2196
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2197
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2198
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2199
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayToneSequenceWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2200
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2201
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2202
				TUint8* tablePointer = const_cast<TUint8*>( &(KFixedSequenceTestSequenceDataX[0] )); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2203
				TPtrC8 KFixedSequenceData(tablePointer,  sizeof(KFixedSequenceTestSequenceDataX));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2204
				INFO_PRINTF1(_L("Call CMMFDevSound::PlayToneSequenceL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2205
				TRAPD(err, iMMFDevSound->PlayToneSequenceL(KFixedSequenceData));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2206
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2207
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2208
					ERR_PRINTF2(_L("Calling CMMFDevSound::PlayToneSequenceL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2209
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2210
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2211
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2212
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2213
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2214
					ERR_PRINTF2(_L("CMMFDevSound::PlayToneSequenceL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2215
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2216
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2217
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2218
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2219
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2220
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2221
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2222
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2223
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2224
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2225
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2226
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2227
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2228
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2229
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2230
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2231
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2232
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2233
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2234
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2235
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2236
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2237
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0027
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2238
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2239
RA3FDevSoundRecordDataWithoutInitializeTest::RA3FDevSoundRecordDataWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2240
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2241
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2242
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2243
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2244
RA3FDevSoundRecordDataWithoutInitializeTest* RA3FDevSoundRecordDataWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2245
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2246
	RA3FDevSoundRecordDataWithoutInitializeTest* self = new (ELeave) RA3FDevSoundRecordDataWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2247
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2248
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2249
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2250
void RA3FDevSoundRecordDataWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2251
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2252
	iTimer = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2253
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2254
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2255
void RA3FDevSoundRecordDataWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2256
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2257
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2258
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2259
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2260
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2261
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordDataWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2262
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2263
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2264
				INFO_PRINTF1(_L("Call CMMFDevSound::RecordData without calling CMMFDevSound::InitializeL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2265
				iMMFDevSound->RecordData();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2266
				StartTimer(KMicroSecsTwoSec);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2267
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2268
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2269
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2270
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2271
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2272
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2273
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2274
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2275
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2276
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2277
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2278
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2279
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2280
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2281
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2282
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2283
void RA3FDevSoundRecordDataWithoutInitializeTest::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2284
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2285
	iTimer->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2286
	ERR_PRINTF1(_L("Panic did not occur as expected when calling RecordData()."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2287
	StopTest(KErrNone, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2288
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2290
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2291
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2292
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0028
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2293
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2294
RA3FDevSoundRecordInitWithoutInitializeTest::RA3FDevSoundRecordInitWithoutInitializeTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2295
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2296
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2297
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2298
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2299
RA3FDevSoundRecordInitWithoutInitializeTest* RA3FDevSoundRecordInitWithoutInitializeTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2300
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2301
	RA3FDevSoundRecordInitWithoutInitializeTest* self = new (ELeave) RA3FDevSoundRecordInitWithoutInitializeTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2302
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2303
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2304
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2305
void RA3FDevSoundRecordInitWithoutInitializeTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2306
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2307
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2308
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2309
void RA3FDevSoundRecordInitWithoutInitializeTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2310
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2311
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2312
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2313
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2314
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2315
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitWithoutInitializeTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2316
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2317
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2318
				INFO_PRINTF1(_L("Call CMMFDevSound::RecordInitL without calling CMMFDevSound::InitializeL..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2319
				TRAPD(err,iMMFDevSound->RecordInitL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2320
				if(err == KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2321
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2322
					ERR_PRINTF2(_L("Calling CMMFDevSound::RecordInitL  without calling CMMFDevSound::InitializeL left with expected error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2323
					StopTest(err, EPass);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2324
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2325
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2326
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2327
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2328
					ERR_PRINTF2(_L("CMMFDevSound::RecordInitL  without calling CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2329
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2330
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2331
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2332
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2333
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2334
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2335
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2336
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2337
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2338
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2339
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2340
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2341
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2342
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2343
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2344
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2345
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2346
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2347
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2348
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2349
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2350
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2351
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0029
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2352
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2353
RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest::RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2354
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2355
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2356
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2357
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2358
RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest* RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2359
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2360
	RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest* self = new (ELeave) RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2361
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2362
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2363
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2364
void RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2365
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2366
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2367
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2368
void RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2369
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2370
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2371
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2372
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2373
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2374
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneInitializationMoreThanOnceBeforeInitCompleteTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2375
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2376
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2377
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2378
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2379
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2380
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2381
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2382
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2383
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2384
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2385
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice before init complete"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2386
				TRAP(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2387
				if(err != KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2388
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2389
					ERR_PRINTF2(_L("Calling CMMFDevSound::InitializeL more than once before init complete left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2390
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2391
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2392
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2393
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2394
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2395
					INFO_PRINTF1(_L("Second call to CMMFDevSound::InitializeL leaves with KErrNotReady as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2396
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2397
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2398
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2399
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2400
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2401
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2402
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2403
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2404
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2405
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2406
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2407
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2408
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2409
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2410
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2411
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2412
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2413
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2414
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2415
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2416
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2417
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2418
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2419
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2420
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2421
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2422
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2423
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2424
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2425
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2426
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2427
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2428
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2429
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2430
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2431
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2432
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2433
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2434
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2435
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2436
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2437
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0030
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2438
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2439
RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest::RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2440
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2441
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2442
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2443
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2444
RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest* RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2445
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2446
	RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest* self = new (ELeave) RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2447
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2448
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2449
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2450
void RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2451
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2452
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2453
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2454
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2455
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2456
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2457
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2458
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2459
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2460
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2461
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2462
void RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2463
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2464
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2465
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2466
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2467
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2468
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayInitializationMoreThanOnceBeforeInitCompleteTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2469
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2470
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2471
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2472
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2473
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2474
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2475
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2476
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2477
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2478
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2479
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice before init complete"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2480
				TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2481
				if(err != KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2482
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2483
					ERR_PRINTF2(_L("Calling CMMFDevSound::InitializeL more than once before init complete left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2484
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2485
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2486
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2487
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2488
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2489
					INFO_PRINTF1(_L("Second call to CMMFDevSound::InitializeL leaves with KErrNotReady as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2490
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2491
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2492
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2493
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2494
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2495
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2496
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2497
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2498
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2499
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2500
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2501
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2502
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2503
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2504
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2505
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2506
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2507
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2508
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2509
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2510
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2511
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2512
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2513
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2514
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2515
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2516
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2517
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2518
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2519
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2520
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2521
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2522
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2523
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2524
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2525
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2526
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2527
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2528
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2529
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2530
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2531
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0031
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2532
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2533
RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest::RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2534
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2535
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2536
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2537
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2538
RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest* RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2539
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2540
	RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest* self = new (ELeave) RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2541
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2542
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2543
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2544
void RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2545
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2546
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2547
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2548
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2549
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2550
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2551
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2552
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2553
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2554
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2555
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2556
void RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2557
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2558
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2559
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2560
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2561
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2562
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordInitializationMoreThanOnceBeforeInitCompleteTest"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2563
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2564
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2565
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2566
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2567
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2568
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2569
					INFO_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2570
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2571
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2572
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2573
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice before init complete"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2574
				TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2575
				if(err != KErrNotReady)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2576
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2577
					ERR_PRINTF2(_L("Calling MMFDevSound::InitializeL more than once before init complete left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2578
					ERR_PRINTF2(_L("Expected error = %d"), KErrNotReady);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2579
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2580
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2581
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2582
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2583
					INFO_PRINTF1(_L("Second call to CMMFDevSound::InitializeL leaves with KErrNotReady as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2584
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2585
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2586
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2587
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2588
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2589
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2590
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2591
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2592
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2593
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2594
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2595
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2596
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2597
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2598
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2599
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2600
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2601
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2602
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2603
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2604
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2605
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2606
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2607
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2608
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2609
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2610
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2611
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2612
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2613
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2614
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2615
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2616
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2617
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2618
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2619
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2620
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2621
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2622
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2623
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2624
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2625
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0032
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2626
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2627
RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds::RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2628
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2629
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2630
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2631
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2632
RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds* RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2633
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2634
	RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds* self = new (ELeave) RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2635
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2636
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2637
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2638
void RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2639
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2640
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2641
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2642
void RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceeds::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2643
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2644
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2645
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2646
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2647
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2648
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundToneFirstInitializationLeavesThenSecondSucceed"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2649
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2650
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2651
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL to make it leave"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2652
				TRAPD(err, iMMFDevSound->InitializeL(*this, EMMFStateConverting));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2653
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2654
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2655
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2656
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2657
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2658
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2659
					ERR_PRINTF1(_L("CMMFDevSound::InitializeL  did not leave as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2660
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2661
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2662
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice, but now using right parameters"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2663
				TRAP(err, iMMFDevSound->InitializeL(*this, EMMFStateTonePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2664
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2665
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2666
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2667
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2668
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2669
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2670
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2671
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2672
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2673
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2674
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2675
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2676
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2677
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2678
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2679
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2680
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2681
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2682
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2683
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2684
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2685
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2686
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2687
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2688
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2689
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2690
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2691
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2692
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2693
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2694
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2695
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2696
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2697
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2698
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2699
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2700
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2701
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2702
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2703
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2704
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2705
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2706
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2707
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2708
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2709
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2710
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0033
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2711
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2712
RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds::RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2713
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2714
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2715
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2716
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2717
RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds* RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2718
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2719
	RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds* self = new (ELeave) RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2720
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2721
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2722
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2723
void RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2724
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2725
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2726
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2727
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2728
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2729
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2730
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2731
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2732
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2733
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2734
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2735
void RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceeds::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2736
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2737
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2738
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2739
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2740
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2741
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundPlayFirstInitializationLeavesThenSecondSucceed"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2742
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2743
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2744
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL to make it leave"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2745
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateConverting));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2746
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2747
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2748
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2749
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2750
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2751
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2752
					ERR_PRINTF1(_L("CMMFDevSound::InitializeL  did not leave as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2753
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2754
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2755
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice, but now using right parameters"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2756
				TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStatePlaying));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2757
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2758
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2759
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2760
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2761
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2762
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2763
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2764
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2765
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2766
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2767
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2768
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2769
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2770
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2771
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2772
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2773
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2774
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2775
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2776
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2777
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2778
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2779
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2780
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2781
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2782
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2783
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2784
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2785
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2786
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2787
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2788
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2789
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2790
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2791
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2792
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2793
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2794
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2795
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2796
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2797
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2798
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2799
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2800
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2801
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2802
 *========================================================================================================
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2803
 * MM-A3F-DEVSOUND-CHRTZ-INIT-0034
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2804
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2805
RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds::RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds(const TDesC& aTestName) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2806
	:	RA3FDevSoundTestBase(aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2807
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2808
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2809
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2810
RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds* RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds::NewL(const TDesC& aTestName)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2811
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2812
	RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds* self = new (ELeave) RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds(aTestName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2813
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2814
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2815
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2816
void RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds::DoKickoffTestL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2817
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2818
	TPtrC fourccCode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2819
	if(!GetStringFromConfig(iTestStepName, KFourccCode, fourccCode))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2820
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2821
		ERR_PRINTF2(KMsgErrorGetParameter, &KFourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2822
		StopTest(KErrNotFound);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2823
		return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2824
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2825
	EncodingFromStringToTFourCC(fourccCode);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2826
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2827
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2828
void RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceeds::Fsm(TMmfDevSoundEvent aDevSoundEvent, TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2829
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2830
	switch(iDevSoundState)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2831
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2832
		case EStateCreated:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2833
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2834
			__ASSERT_ALWAYS((aError == KErrNone),Panic(_L("RA3FDevSoundRecordFirstInitializationLeavesThenSecondSucceed"),EFsmIncorrectErrorPassed));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2835
			if(aDevSoundEvent == EEventInitialize)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2836
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2837
				INFO_PRINTF1(_L("Calling CMMFDevSound::InitializeL to make it leave"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2838
				TRAPD(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateConverting));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2839
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2840
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2841
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2842
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2843
				else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2844
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2845
					ERR_PRINTF1(_L("CMMFDevSound::InitializeL  did not leave as expected"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2846
					StopTest(err, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2847
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2848
				INFO_PRINTF1(_L("CMMFDevSound::InitializeL called twice, but now using right parameters"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2849
				TRAP(err, iMMFDevSound->InitializeL(*this, iFourCCCode, EMMFStateRecording));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2850
				if(err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2851
					{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2852
					ERR_PRINTF2(_L("CMMFDevSound::InitializeL left with error = %d"), err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2853
					StopTest(err);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2854
					break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2855
					}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2856
				INFO_PRINTF1(_L("DevSound State: EStateInitializing"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2857
				iDevSoundState = EStateInitializing;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2858
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2859
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2860
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2861
				ERR_PRINTF2(_L("DevSound EEventInitialize not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2862
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2863
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2864
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2865
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2866
		case EStateInitializing:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2867
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2868
			if(aDevSoundEvent == EEventInitComplete && aError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2869
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2870
				INFO_PRINTF1(_L("========== Test Case Successfully Completed =========="));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2871
				StopTest();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2872
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2873
			else if(aDevSoundEvent == EEventInitComplete && aError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2874
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2875
				ERR_PRINTF2(_L("DevSound called CMMFDevSound::InitializeComplete with error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2876
				StopTest(aError);		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2877
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2878
			else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2879
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2880
				ERR_PRINTF2(_L("DevSound EEventInitComplete not received as expected. Received event: %d"), aDevSoundEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2881
				StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2882
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2883
			break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2884
			}	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2885
		default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2886
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2887
			ERR_PRINTF2(_L("Invalid DevSound state received: %d"), iDevSoundState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2888
			StopTest(aError, EFail);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2889
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2890
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2891
	}