devsound/devsoundrefplugin/tsrc/SwCodecDevices/TSU_MMF_Oom.cpp
author hgs
Fri, 08 Oct 2010 19:40:43 +0100
changeset 0 79dd3e2336a0
permissions -rw-r--r--
2010wk36_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     1
// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     2
// All rights reserved.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     7
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     8
// Initial Contributors:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    10
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    11
// Contributors:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    12
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    13
// Description:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    14
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    15
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    16
// EPOC includes
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    17
#include <e32base.h>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    18
#include <mmf/common/mmfpaniccodes.h>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    19
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    20
// Test system includes
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    21
#include "TSU_MMF_DeviceSuite.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    22
#include "TSU_MMF_Oom.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    23
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    24
//[ actual codec includes ]
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    25
#include "MmfPcm16toAlawhwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    26
#include "MmfALawToPcm16HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    27
#include "MmfImaAdpcmtopcm16hwdevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    28
#include "MmfMuLawToPcm16hwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    29
#include "mmfpcm16SwapEndianhwdevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    30
#include "mmfpcm16ToImaAdpcm.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    31
#include "mmfpcm16toMulawhwdevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    32
#include "mmfpcm16topcmU16BEHwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    33
#include "MMFpcm16ToPcmU8HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    34
#include "MMFpcm16ToPcmU8HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    35
#include "mmfpcmS16PcmS8HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    36
#include "mmfpcmS16topcmU16Codec.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    37
#include "mmfpcmS8ToPcmS16HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    38
#include "mmfpcmU16BeToPcmS16HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    39
#include "mmfpcmU16TopcmS16HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    40
#include "MMFpcmU8ToPcm16HwDevice.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    41
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    42
//[ Codec Unit tests  structure 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    43
// The unit tests shall use text files
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    44
// for small portions of test data 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    45
// which should be stored are stored in a simple format
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    46
// containing the relevant parameters for the test
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    47
//]
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    48
class TOomTestParams
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    49
	{	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    50
public:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    51
	const TText* iTestName;       // name of the test
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    52
	};
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    53
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    54
// constant table of parameters for tests
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    55
const TOomTestParams KOomParameters[] =
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    56
	{	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    57
		{_S("MM-MMF-SWCODECDEVICES-U-0041-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    58
		{_S("MM-MMF-SWCODECDEVICES-U-0042-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    59
		{_S("MM-MMF-SWCODECDEVICES-U-0043-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    60
		{_S("MM-MMF-SWCODECDEVICES-U-0044-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    61
		{_S("MM-MMF-SWCODECDEVICES-U-0045-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    62
		{_S("MM-MMF-SWCODECDEVICES-U-0046-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    63
		{_S("MM-MMF-SWCODECDEVICES-U-0047-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    64
		{_S("MM-MMF-SWCODECDEVICES-U-0048-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    65
		{_S("MM-MMF-SWCODECDEVICES-U-0049-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    66
		{_S("MM-MMF-SWCODECDEVICES-U-0050-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    67
		{_S("MM-MMF-SWCODECDEVICES-U-0051-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    68
		{_S("MM-MMF-SWCODECDEVICES-U-0052-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    69
		{_S("MM-MMF-SWCODECDEVICES-U-0053-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    70
		{_S("MM-MMF-SWCODECDEVICES-U-0054-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    71
		{_S("MM-MMF-SWCODECDEVICES-U-0055-HP")},
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    72
		{_S("MM-MMF-SWCODECDEVICES-U-0056-HP")}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    73
	};
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    74
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    75
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    76
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    77
* CTestStepOomTest
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    78
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    79
*/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    80
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    81
CTestStepOomTest<Codec>::CTestStepOomTest( TUint aTestIndex )
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    82
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    83
	// store the name of this test case
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    84
	// this is the name that is used by the script file
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    85
//	__ASSERT_DEBUG( (aTestIndex >= 0) && ( aTestIndex < sizeof(KOomParameters)/sizeof(TOomTestParams)),Panic(EBadInvariant));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    86
	__ASSERT_DEBUG( ( aTestIndex < sizeof(KOomParameters)/sizeof(TOomTestParams)),Panic(EBadInvariant));	// EABI warning removal
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    87
	iTestStepName = (&KOomParameters[aTestIndex])->iTestName;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    88
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    89
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    90
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    91
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    92
* ~CTestStepOomTest
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    93
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    94
*/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    95
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    96
CTestStepOomTest<Codec>::~CTestStepOomTest()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    97
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    98
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    99
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   100
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   101
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   102
* DoTestStepL
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   103
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   104
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   105
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   106
TVerdict CTestStepOomTest<Codec>::DoTestStepL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   107
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   108
	TVerdict result = EPass;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   109
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   110
	TBool testOK = ETrue;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   111
	TUint failCount = 1;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   112
	TBool testComplete = EFalse;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   113
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   114
	while (!testComplete)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   115
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   116
		__UHEAP_FAILNEXT(failCount);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   117
		__MM_HEAP_MARK;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   118
		TRAPD(err, Oom());
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   119
		switch (err)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   120
			{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   121
			case KErrNoMemory :
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   122
				break;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   123
			case KErrNone :
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   124
				{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   125
				//attempt to allocate another cell. If this fails, we have tested all 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   126
				//of the memory allocs carried out by ProcessL.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   127
				TAny *testAlloc = User::Alloc(1);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   128
				if (testAlloc==NULL)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   129
					{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   130
					testComplete = ETrue;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   131
					failCount --;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   132
					}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   133
				else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   134
					User::Free(testAlloc);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   135
				break;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   136
				}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   137
			default:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   138
				{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   139
				testOK = EFalse;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   140
				testComplete = ETrue;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   141
				break;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   142
				}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   143
			}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   144
		
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   145
		__MM_HEAP_MARKEND;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   146
		__UHEAP_RESET;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   147
		failCount++;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   148
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   149
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   150
	if(!testOK)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   151
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   152
		result = EFail;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   153
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   154
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   155
	return result;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   156
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   157
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   158
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   159
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   160
* Oom performs the oom test on the codec in question
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   161
* @param srcBuffer
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   162
* @param dstBuffer 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   163
* @return TInt error status
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   164
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   165
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   166
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   167
TInt CTestStepOomTest<Codec>::Oom()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   168
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   169
	//instantiate codec via a factory function which allows 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   170
	//two phase construction if needed as in the case of gsm610
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   171
	// by derivation.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   172
	Codec* theCodec = GetCodecL(); 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   173
	CleanupStack::PushL(theCodec);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   174
	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   175
	//create buffers
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   176
	TInt srcBufferSize  = theCodec->SourceBufferSize();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   177
	TInt sinkBufferSize = theCodec->SinkBufferSize();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   178
	CMMFDataBuffer *srcBuffer = CMMFDataBuffer::NewL(srcBufferSize);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   179
	srcBuffer->Data().SetLength( srcBufferSize);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   180
	CleanupStack::PushL(srcBuffer);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   181
	CMMFDataBuffer *dstBuffer = CMMFDataBuffer::NewL(sinkBufferSize);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   182
	dstBuffer->Data().SetLength( sinkBufferSize );
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   183
	CleanupStack::PushL(dstBuffer);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   184
    
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   185
	//[perform the coding operation]
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   186
	theCodec->ProcessL(*srcBuffer, *dstBuffer);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   187
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   188
	CleanupStack::PopAndDestroy(3,theCodec); //theCodec,dstBuffer, srcBuffer
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   189
	return KErrNone;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   190
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   191
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   192
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   193
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   194
* GetCodec()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   195
* @return fully contrsucted codec pointer
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   196
* note the client of this function is responsible for deallocation
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   197
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   198
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   199
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   200
Codec* CTestStepOomTest<Codec>::GetCodecL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   201
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   202
	return new(ELeave) Codec();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   203
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   204
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   205
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   206
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   207
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   208
* DoTestStepPreambleL
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   209
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   210
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   211
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   212
TVerdict CTestStepOomTest<Codec>::DoTestStepPreambleL(void)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   213
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   214
	return EPass;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   215
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   216
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   217
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   218
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   219
* DoTestStepPostambleL
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   220
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   221
*/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   222
template <class Codec>
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   223
TVerdict CTestStepOomTest<Codec>::DoTestStepPostambleL(void)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   224
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   225
	return EPass;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   226
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   227
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   228
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   229
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   230
* GetCodecL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   231
* @return CMMFGsm610ToPcm16Codec*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   232
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   233
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   234
CMMFGsm610ToPcm16Codec* CTestStepGsm610ToPcm16OomTest::GetCodecL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   235
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   236
		CMMFGsm610ToPcm16Codec* theCodec = new (ELeave) CMMFGsm610ToPcm16Codec;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   237
		CleanupStack::PushL(theCodec);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   238
		theCodec->ConstructL();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   239
		CleanupStack::Pop(1); // theCodec
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   240
		return theCodec;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   241
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   242
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   243
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   244
* GetCodecL
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   245
* @return CMMFGsm610ToPcm16Codec*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   246
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   247
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   248
CMMFGsm610ToPcm16Codec* CTestStepPcm16ToGsm610OomTest::GetCodecL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   249
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   250
	CMMFGsm610ToPcm16Codec* theCodec = new (ELeave) CMMFGsm610ToPcm16Codec();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   251
	CleanupStack::PushL(theCodec);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   252
	theCodec->ConstructL();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   253
	CleanupStack::Pop(1); // theCodec
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   254
	return theCodec;	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   255
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   256
 
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   257
/**
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   258
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   259
* This is used for template instantiation.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   260
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   261
* Normally templated classes are defined in header files..
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   262
* Here we use them in *.cpp which requires an explicit instantiation.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   263
* We know that any other reference to CTestStepOomTest<class> within
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   264
* this dll will instantiate the template and we do not want the compiler
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   265
* to remind us about that.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   266
*
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   267
**/
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   268
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   269
#ifdef __VC32__
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   270
#pragma warning( disable : 4660 )	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   271
#endif
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   272
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   273
template class CTestStepOomTest<CMMFPcm16ToALawCodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   274
template class CTestStepOomTest<CMMFAlawToPcm16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   275
template class CTestStepOomTest<CMMFGsm610ToPcm16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   276
template class CTestStepOomTest<CMMFImaAdpcmToPcm16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   277
template class CTestStepOomTest<CMMFMulawToPcm16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   278
template class CTestStepOomTest<CMMFPcm16SwapEndianCodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   279
template class CTestStepOomTest<CMMFPcm16ToImaAdpcmCodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   280
template class CTestStepOomTest<CMMFPcm16ToMuLawCodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   281
template class CTestStepOomTest<CMMFPcm16ToPcmU16BECodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   282
template class CTestStepOomTest<CMMFPcm16ToPcmU8Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   283
template class CTestStepOomTest<CMMFPcmS16ToPcmS8Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   284
template class CTestStepOomTest<CMMFPcm16ToPcmU16CodecCodec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   285
template class CTestStepOomTest<CMMFPcm8ToPcm16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   286
template class CTestStepOomTest<CMMFPcmU16BeToPcmS16Codec>;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   287
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   288
#ifdef __VC32__
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   289
#pragma warning( default : 4660 )
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   290
#endif