sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // NB: these includes are added here to pull in includes from MmfControllerFramework.h sl@0: // They are placed here as we are messing aroung with private (see below) to allow access to sl@0: // the private member iSubThread in RMMFControllerProxy for test 152 without resorting to friend sl@0: // classes. This was done to test INC038123. sl@0: // +++++++++ Start of playing around with private block. +++++++++++++ sl@0: // sl@0: // sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #define private public sl@0: #include sl@0: #undef private sl@0: //++++++++ End of playing around with private block. +++++++++++ sl@0: sl@0: sl@0: // Test system includes sl@0: #include sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #include "CmmfTestControllerUIDs.hrh" sl@0: #include "cmmftestterminationcontrolleruids.hrh" sl@0: #include "TSU_MMF_CTLFRM.h" sl@0: #include "TSU_MMF_CTLFRMSuite.h" sl@0: sl@0: //const TUid KMmfUidControllerAudioUid = {KMmfUidControllerAudio}; // EABI warning removal sl@0: const TUid KTstControllerUid = {KMmfTestControllerUid}; //(0x101F88D8) sl@0: const TUid KTestDataSourceUid = {KMmfTestDataSourceUid}; sl@0: const TUid KTestDataSourceBUid = {KMmfTestDataSourceBUid}; sl@0: const TUid KTestDataSinkUid = {KMmfTestDataSinkUid}; sl@0: const TUid KTestDataSinkBUid = {KMmfTestDataSinkBUid}; sl@0: const TUid KTestTerminationControllerUid = {KMmfTestTerminationControllerUid}; sl@0: sl@0: // Expected results in Test 0140s. sl@0: // 'KMmfUidControllerAudio' is the preferred Controller used in these tests sl@0: const TUid KExpectedMediaIDUid140 = {0x101F7D8D};//{0x101F5D07}; sl@0: sl@0: const TUid KMmfUidFormatPAVReadUid = {KMmfUidFormatPAVRead}; sl@0: const TUid KMmfUidFormatFAWReadUid = {KMmfUidFormatFAWRead}; sl@0: const TUid KMmfUidFormatAIReadUid = {KMmfUidFormatAIRead}; sl@0: const TUid KMmfUidFormatMBEGReadUid = {KMmfUidFormatMBEGRead}; sl@0: sl@0: const TUid KMmfUidFormatPAVWriteUid = {KMmfUidFormatPAVWrite}; sl@0: const TUid KMmfUidFormatFAWWriteUid = {KMmfUidFormatFAWWrite}; sl@0: const TUid KMmfUidFormatAIWriteUid = {KMmfUidFormatAIWrite}; sl@0: sl@0: const TUid KMmfUidPluginInterfaceFormatEncodeUid = {KMmfUidPluginInterfaceFormatEncode}; sl@0: const TUid KMmfUidPluginInterfaceFormatDecodeUid = {KMmfUidPluginInterfaceFormatDecode}; sl@0: sl@0: _LIT(KTestControllerSupplier, "TSU_MMF_CTLFRM"); sl@0: sl@0: // Used as dummy data to pass to sources, sinks etc sl@0: _LIT8(KInitData,"TEST"); sl@0: sl@0: /** sl@0: * sl@0: * CTestStepSelfTest constructor sl@0: * sl@0: * @xxxx sl@0: * sl@0: */ sl@0: CTestStep_MMF_CTLFRM::CTestStep_MMF_CTLFRM() sl@0: { sl@0: } sl@0: sl@0: /** sl@0: * sl@0: * CTestStepSelfTest destructor sl@0: * sl@0: * @xxxx sl@0: * sl@0: */ sl@0: CTestStep_MMF_CTLFRM::~CTestStep_MMF_CTLFRM() sl@0: { sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM::DoTestStepPreambleL() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM::DoTestStepPostambleL() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0001::CTestStep_MMF_CTLFRM_U_0001() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0001"); sl@0: sl@0: sl@0: } sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0001::DoTestStepL( void ) sl@0: /** sl@0: * Call the RMMFController::Open(..) with the parameters specified, sl@0: * varify the return value is 0. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.1 REQ172.5.2 REQ172.5.5.12 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: INFO_PRINTF1(_L("Attempting to Open Controller")); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0007::CTestStep_MMF_CTLFRM_U_0007() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0007"); sl@0: sl@0: sl@0: } sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0007::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSource Object and add it to sl@0: * the Custom Controller using RMMFController::AddDataSource(..), with the specified sl@0: * parameters. Call Custom Command 'KLogFunction' and varify the text value returned is sl@0: * equal to the specifed text in Test Step. Call the RMMFController::Close() on the Custom sl@0: * Controller. Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.1 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSourceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData); sl@0: error = controller.AddDataSource(KTestDataSourceBUid, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0008::CTestStep_MMF_CTLFRM_U_0008() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0008"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0008::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the sl@0: * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters. sl@0: * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.3 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSinkL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: // Add Sink sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData); sl@0: error = controller.AddDataSink(KTestDataSinkBUid, initData); sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0009::CTestStep_MMF_CTLFRM_U_0009() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0009"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0009::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSource Object and add it to the sl@0: * Custom Controller using RMMFController::AddDataSource(..), with the specified parameters. sl@0: * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.1 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSourceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: TMMFMessageDestination sourceHandlePtr; sl@0: TMMFMessageDestination& sourceHandle = sourceHandlePtr; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0010::CTestStep_MMF_CTLFRM_U_0010() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0010"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0010::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the sl@0: * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters. sl@0: * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.3 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSinkL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TMMFMessageDestination sinkHandlePtr; sl@0: TMMFMessageDestination& sinkHandle = sinkHandlePtr; sl@0: sl@0: // Add Sink sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0011::CTestStep_MMF_CTLFRM_U_0011() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0011"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0011::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSource Object and add it to the sl@0: * Custom Controller using RMMFController::AddDataSource(..), with the specified parameters. sl@0: * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.2 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult,"RemoveDataSourceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: TMMFMessageDestination sourceHandlePtr; sl@0: TMMFMessageDestination& sourceHandle = sourceHandlePtr; sl@0: sl@0: // Add and Remove Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle); sl@0: INFO_PRINTF1(_L("API TEST: Calling RemoveDataSource")); sl@0: error = controller.RemoveDataSource(sourceHandle); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0012::CTestStep_MMF_CTLFRM_U_0012() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0012"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0012::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the sl@0: * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters. sl@0: * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is 0. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.4 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "RemoveDataSinkL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TMMFMessageDestination sinkHandlePtr; sl@0: TMMFMessageDestination& sinkHandle = sinkHandlePtr; sl@0: sl@0: // Add and Remove Sink sl@0: if (!error) sl@0: { sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle); sl@0: INFO_PRINTF1(_L("API TEST: Calling RemoveDataSink")); sl@0: error = controller.RemoveDataSink(sinkHandle); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0013::CTestStep_MMF_CTLFRM_U_0013() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0013"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0013::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001), sl@0: * varify the return value is 0. Call RMMFController Method specified (in API Method Calls sl@0: * and Parameters) and varify the 'error' is 0. Follow this by calling the Custom Command sl@0: * 'KLogFunction' and varify the text value returned is equal to the specifed text in sl@0: * Test Step. Call the RMMFController::Close() on the Custom Controller. Varify 'error' sl@0: * is zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test No Requirement Found sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult,"ResetL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Reset Controller (API being tested) sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling Reset")); sl@0: error = controller.Reset(); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0014::CTestStep_MMF_CTLFRM_U_0014() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0014"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0014::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::Prime() sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.5 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "PrimeL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Prime Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling Prime")); sl@0: error = controller.Prime(); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0015::CTestStep_MMF_CTLFRM_U_0015() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0015"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0015::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::Play() sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.6 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "PlayL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Play Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Calling Play")); sl@0: error = controller.Play(); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("API TEST: Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0016::CTestStep_MMF_CTLFRM_U_0016() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0016"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0016::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::Pause() sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.8 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "PauseL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Pause Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling Pause")); sl@0: error = controller.Pause(); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0017::CTestStep_MMF_CTLFRM_U_0017() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0017"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0017::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::Stop() sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.7 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "StopL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Stop Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling Stop")); sl@0: error = controller.Stop(); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0018::CTestStep_MMF_CTLFRM_U_0018() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0018"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0018::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::GetPosition(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.10 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "PositionL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TInt64 interval = 5; sl@0: TTimeIntervalMicroSeconds position(interval); sl@0: sl@0: const TInt64 expectedInterval = 16; sl@0: TTimeIntervalMicroSeconds expectedPosition(expectedInterval); sl@0: sl@0: // Get Position Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling GetPosition")); sl@0: error = controller.GetPosition(position); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: INFO_PRINTF2(_L("Expected Position: %d"), I64LOW(expectedPosition.Int64())); sl@0: INFO_PRINTF2(_L("Current Position: %d"), I64LOW(position.Int64())); sl@0: sl@0: sl@0: if (expectedPosition != position) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0019::CTestStep_MMF_CTLFRM_U_0019() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0019"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0019::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::SetPosition(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.11 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "SetPositionL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TInt64 interval = 5; sl@0: TTimeIntervalMicroSeconds position(interval); sl@0: sl@0: // Set Position Controller sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling SetPosition")); sl@0: error = controller.SetPosition(position); sl@0: } sl@0: sl@0: if (!error) sl@0: error = controller.GetPosition(position); sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: INFO_PRINTF2(_L("Current Position: %d"), position.Int64()); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0020::CTestStep_MMF_CTLFRM_U_0020() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0020"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0020::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::GetDuration(..) sl@0: * Use case: N/A sl@0: * @test Req. under test No Requirement Found sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TInt64 interval = 5; sl@0: TTimeIntervalMicroSeconds duration(interval); sl@0: sl@0: const TInt64 expectedInterval = 36; sl@0: TTimeIntervalMicroSeconds expectedDuration(expectedInterval); sl@0: sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling GetDuration")); sl@0: error = controller.GetDuration(duration); sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: INFO_PRINTF2(_L("Current Duration: %d"), I64LOW(expectedDuration.Int64())); sl@0: INFO_PRINTF2(_L("Current Duration: %d"), I64LOW(duration.Int64())); sl@0: sl@0: if (duration != expectedDuration) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0021::CTestStep_MMF_CTLFRM_U_0021() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0021"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0021::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::GetNumberOfMetaDataEntries(..) sl@0: * Use case: N/A sl@0: * @test Req. under test No Requirement Found sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "GetNumberOfMetaDataEntriesL Called"); sl@0: sl@0: TInt numberOfEntries = 0; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: sl@0: // Add Source and Sink sl@0: INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller")); sl@0: sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling GetNumberOfMetaDataEntries")); sl@0: error = controller.GetNumberOfMetaDataEntries(numberOfEntries); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Number of Meta entries is: %d"), numberOfEntries); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0022::CTestStep_MMF_CTLFRM_U_0022() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0022"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0022::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::GetMetaDataEntry(..) sl@0: * Use case: N/A sl@0: * @test Req. under test No Requirement Found sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "GetMetaDataEntryL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (!error) sl@0: { sl@0: TInt indexOfEntry = 1; sl@0: INFO_PRINTF1(_L("API TEST: Calling GetMetaDataEntryL")); sl@0: CMMFMetaDataEntry* metaEntry = controller.GetMetaDataEntryL(indexOfEntry); sl@0: CleanupStack::PushL(metaEntry); sl@0: INFO_PRINTF2(_L("AudioLevel is: %S"), &metaEntry->Value()); sl@0: sl@0: CleanupStack::PopAndDestroy(1); sl@0: } sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0023::CTestStep_MMF_CTLFRM_U_0023() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0023"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0023::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::CustomSommandSync(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.14 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "KDummyFunc1 Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Calling CustomCommandSync")); sl@0: TMMFMessageDestinationPckg messageDest; sl@0: sl@0: const TInt interval = 5; sl@0: TTimeIntervalMicroSeconds randomData(interval); sl@0: TTimeIntervalMicroSeconds randomData2(interval+1); sl@0: TTimeIntervalMicroSeconds randomData3(interval+2); sl@0: sl@0: TPckgBuf randomDataPckg = randomData; sl@0: TPckgBuf randomData2Pckg = randomData2; sl@0: TPckgBuf randomData3Pckg = randomData3; sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KDummyFunc1, randomDataPckg, randomData2Pckg, randomData3Pckg); sl@0: } sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0024::CTestStep_MMF_CTLFRM_U_0024() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0024"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0024::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::CustomCommandAsync(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.14 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "KDummyFunc1 Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Calling CustomCommandSync")); sl@0: TMMFMessageDestinationPckg messageDest; sl@0: sl@0: const TInt interval = 5; sl@0: TTimeIntervalMicroSeconds randomData(interval); sl@0: TTimeIntervalMicroSeconds randomData2(interval+1); sl@0: TTimeIntervalMicroSeconds randomData3(interval+2); sl@0: sl@0: TPckgBuf randomDataPckg = randomData; sl@0: TPckgBuf randomData2Pckg = randomData2; sl@0: TPckgBuf randomData3Pckg = randomData3; sl@0: sl@0: TRequestStatus stat; sl@0: controller.CustomCommandAsync(messageDest, KDummyFunc1, randomDataPckg, randomData2Pckg, randomData3Pckg, stat); sl@0: User::WaitForRequest(stat); sl@0: error = stat.Int(); sl@0: } sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0027::CTestStep_MMF_CTLFRM_U_0027() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0027"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0027::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::GetAudioQuality(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "GetAudioQuality Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: TUid uid = {0x101f72B4}; sl@0: sl@0: RMMFTestCustomCommands customCommands(controller,uid); sl@0: sl@0: TInt audioQuality; sl@0: error = customCommands.GetAudioQuality(audioQuality); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0028::CTestStep_MMF_CTLFRM_U_0028() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0028"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0028::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0013 sl@0: * ::SetAudioQuality(..) sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "SetAudioQuality Called"); sl@0: sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: TUid uid = {0x101f72B4}; sl@0: sl@0: RMMFTestCustomCommands customCommands(controller,uid); sl@0: sl@0: sl@0: TInt audioQuality = 14; sl@0: sl@0: error = customCommands.SetAudioQuality(audioQuality); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: // This test is supposed to fail sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0029::CTestStep_MMF_CTLFRM_U_0029() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0029"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0029::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) with the parameters specified, varify the sl@0: * return value is NOT 0. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is NOT zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: INFO_PRINTF1(_L("Test to Fail to Open a Custom Controller")); sl@0: sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Dummy UID to try and instantiate a controller which does not exist sl@0: TUid uidDummy = {0x12345678}; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(uidDummy,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (!error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0030::CTestStep_MMF_CTLFRM_U_0030() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0030"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0030::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test 001), varify sl@0: * the return value is 0. Fail to Instantiate a Custom DataSource Object and add it to sl@0: * the Custom Controller using RMMFController::AddDataSource(..), with the specified sl@0: * parameters. Call Custom Command 'KLogFunction' and varify the text value returned is sl@0: * not equal to the specifed text in Test Step. Call the RMMFController::Close() on the sl@0: * Custom Controller. Varify 'error' is NOT zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: INFO_PRINTF1(_L("Test to Fail to Open a Data Source")); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TUid uidDummy = {0x12345678}; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: error = controller.AddDataSource(uidDummy, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (!error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0031::CTestStep_MMF_CTLFRM_U_0031() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0031"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0031::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test 001), varify the sl@0: * return value is 0. Instantiate a Custom DataSink Object and add it to the Custom sl@0: * Controller using RMMFController::AddDataSink(..), with the specified parameters. Call sl@0: * Custom Command 'KLogFunction' and varify the text value returned is equal to the sl@0: * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller. sl@0: * Varify 'error' is zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: INFO_PRINTF1(_L("Test to Fail to Open a Data Sink")); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TUid uidDummy = {0x12345678}; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: error = controller.AddDataSink(uidDummy, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (!error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //---------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0032::CTestStep_MMF_CTLFRM_U_0032() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0032"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0032::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: //---------------------// sl@0: // Set Controller Mode // sl@0: //---------------------// sl@0: if (!error) sl@0: { sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: TPckgBuf value = 1; // 1 = EFailure Mode sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8); sl@0: } sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TUid uidDummy = {0x12345678}; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: //error = controller.AddDataSource(KTestDataSourceUid, initData); sl@0: error = controller.AddDataSource(uidDummy, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: if (error != KAddDataSourceFailure) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0033::CTestStep_MMF_CTLFRM_U_0033() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0033"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0033::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: //---------------------// sl@0: // Set Controller Mode // sl@0: //---------------------// sl@0: if (!error) sl@0: { sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: sl@0: TPckgBuf value = 1; // 1 = EFailure Mode sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8); sl@0: } sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: // Add Sink sl@0: INFO_PRINTF1(_L("Attempting to add a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: error = controller.AddDataSource(KTestDataSinkUid, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: if (error != KAddDataSinkFailure) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0034::CTestStep_MMF_CTLFRM_U_0034() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0034"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0034::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: //---------------------// sl@0: // Set Controller Mode // sl@0: //---------------------// sl@0: if (!error) sl@0: { sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: TPckgBuf value = 1; // 1 = EFailure Mode sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8); sl@0: } sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TMMFMessageDestination sourceHandlePtr; sl@0: TMMFMessageDestination& sourceHandle = sourceHandlePtr; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle); sl@0: error = controller.RemoveDataSource(sourceHandle); sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: if (error != KAddDataSourceFailure) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //-----------------------------------------------------------// sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0035::CTestStep_MMF_CTLFRM_U_0035() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0035"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0035::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: //---------------------// sl@0: // Set Controller Mode // sl@0: //---------------------// sl@0: if (!error) sl@0: { sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: // TUint8 value = 1; // 1 = EFailure Mode sl@0: TPckgBuf value = 1; sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8); sl@0: } sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: TMMFMessageDestination sinkHandlePtr; sl@0: TMMFMessageDestination& sinkHandle = sinkHandlePtr; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle); sl@0: error = controller.RemoveDataSink(sinkHandle); sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: if (error != KAddDataSinkFailure) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //-----------------------------------------------------------// sl@0: sl@0: sl@0: sl@0: //----------------------------------------------------------- sl@0: // Testing of the Standard Custom Commands sl@0: //----------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0040::CTestStep_MMF_CTLFRM_U_0040() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0040"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0040::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test 001), varify the sl@0: * return value is 0. Instantiate a CustomCommands Object (specified). Call RMMFController sl@0: * Method specified and varify the 'error' is 0. Follow this by calling the Custom sl@0: * Command 'KLogFunction' and varify the text value returned is equal to the specifed text sl@0: * in Test Step. Call the RMMFController::Close() on the Custom Controller. Varify 'error' sl@0: * is zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdSetVolumeL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt volume = 27; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.SetVolume(volume); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0041::CTestStep_MMF_CTLFRM_U_0041() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0041"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0041::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdGetMaxVolumeL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt maxVolume = 0; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.GetMaxVolume(maxVolume); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0042::CTestStep_MMF_CTLFRM_U_0042() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0042"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0042::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdGetVolumeL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt volume = 0; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.GetVolume(volume); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0043::CTestStep_MMF_CTLFRM_U_0043() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0043"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0043::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdSetVolumeRampL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TInt64 interval = 10; sl@0: TTimeIntervalMicroSeconds rampData(interval); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.SetVolumeRamp(rampData); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0044::CTestStep_MMF_CTLFRM_U_0044() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0044"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0044::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdSetBalanceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt balance = 5; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.SetBalance(balance); sl@0: sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0045::CTestStep_MMF_CTLFRM_U_0045() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0045"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0045::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdGetBalanceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt balance = 5; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayDeviceCustomCommands customCommands(controller); sl@0: sl@0: customCommands.GetBalance(balance); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0050::CTestStep_MMF_CTLFRM_U_0050() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0050"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0050::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MardSetGainL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt gain = 5; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordDeviceCustomCommands customCommands(controller); sl@0: error = customCommands.SetGain(gain); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0051::CTestStep_MMF_CTLFRM_U_0051() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0051"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0051::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MardGetMaxGainL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt maxGain = 0; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordDeviceCustomCommands customCommands(controller); sl@0: error = customCommands.GetMaxGain(maxGain); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF2(_L("Max Gain: %d"),maxGain); sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0052::CTestStep_MMF_CTLFRM_U_0052() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0052"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0052::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MardGetGainL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt gain = 0; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordDeviceCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.GetGain(gain); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF2(_L("Gain: %d"),gain); sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0053::CTestStep_MMF_CTLFRM_U_0053() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0053"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0053::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MardSetBalanceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt balance = 5; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordDeviceCustomCommands customCommands(controller); sl@0: error = customCommands.SetBalance(balance); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0054::CTestStep_MMF_CTLFRM_U_0054() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0054"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0054::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MardGetBalanceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TInt balance = 0; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordDeviceCustomCommands customCommands(controller); sl@0: error = customCommands.GetBalance(balance); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF2(_L("Balance: %d"),balance); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0060::CTestStep_MMF_CTLFRM_U_0060() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0060"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0060::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdSetPlaybackWindowL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TInt64 interval1 = 10; sl@0: TTimeIntervalMicroSeconds start(interval1); sl@0: sl@0: const TInt64 interval2 = 25; sl@0: TTimeIntervalMicroSeconds end(interval2); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetPlaybackWindow(start,end); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0061::CTestStep_MMF_CTLFRM_U_0061() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0061"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0061::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MapdDeletePlaybackWindowL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioPlayControllerCustomCommands customCommands(controller); sl@0: error = customCommands.DeletePlaybackWindow(); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0070::CTestStep_MMF_CTLFRM_U_0070() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0070"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0070::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcGetRecordTimeAvailableL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TInt64 interval = 0; sl@0: TTimeIntervalMicroSeconds recordTime(interval); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: error = customCommands.GetRecordTimeAvailable(recordTime); sl@0: sl@0: INFO_PRINTF2(_L("Record Time Available %d"),recordTime.Int64()); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0071::CTestStep_MMF_CTLFRM_U_0071() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0071"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0071::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcSetMaxDurationL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TInt64 interval = 25; sl@0: TTimeIntervalMicroSeconds maxDuration(interval); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetMaxDuration(maxDuration); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0072::CTestStep_MMF_CTLFRM_U_0072() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0072"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0072::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcSetMaxFileSizeL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TInt fileSize = 10; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetMaxFileSize(fileSize); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0073::CTestStep_MMF_CTLFRM_U_0073() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0073"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0073::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcCropL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: error = customCommands.Crop(ETrue); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0074::CTestStep_MMF_CTLFRM_U_0074() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0074"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0074::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcAddMetaDataEntryL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL(); sl@0: CleanupStack::PushL(metaEntry); sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: customCommands.AddMetaDataEntryL(*metaEntry); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0075::CTestStep_MMF_CTLFRM_U_0075() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0075"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0075::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcRemoveMetaDataEntryL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TInt index = 1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: error = customCommands.RemoveMetaDataEntry(index); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0076::CTestStep_MMF_CTLFRM_U_0076() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0076"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0076::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MarcReplaceMetaDataEntryL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: const TInt index = 1; sl@0: CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL(); sl@0: CleanupStack::PushL(metaEntry); sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioRecordControllerCustomCommands customCommands(controller); sl@0: customCommands.ReplaceMetaDataEntryL(index, *metaEntry); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0080::CTestStep_MMF_CTLFRM_U_0080() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0080"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0080::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: const TUint sample = 1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSourceSampleRate(sample); sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0081::CTestStep_MMF_CTLFRM_U_0081() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0081"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0081::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: const TUint numChannels = 1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSourceNumChannels(numChannels); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0082::CTestStep_MMF_CTLFRM_U_0082() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0082"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0082::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TUid uid = {0x12345678}; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSourceFormat(uid); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0083::CTestStep_MMF_CTLFRM_U_0083() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0083"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0083::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TUint sampleRate = 5; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSinkSampleRate(sampleRate); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0084::CTestStep_MMF_CTLFRM_U_0084() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0084"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0084::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TUint numChannels = 1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSinkNumChannels(numChannels); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0085::CTestStep_MMF_CTLFRM_U_0085() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0085"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0085::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TUid sinkUid = {0x12345679}; sl@0: CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL(); sl@0: CleanupStack::PushL(metaEntry); sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetSinkFormat(sinkUid); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(1); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0086::CTestStep_MMF_CTLFRM_U_0086() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0086"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0086::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0040 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: TFourCC sourceFourCC(' ','P','1','6'); sl@0: TFourCC sinkFourCC(' ','P','1','6'); sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: RMMFAudioControllerCustomCommands customCommands(controller); sl@0: error = customCommands.SetCodec(sourceFourCC, sinkFourCC); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0100::CTestStep_MMF_CTLFRM_U_0100() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0100"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0100::DoTestStepL( void ) sl@0: /** This test is to add and remove multiple Sources and Sinks and ensure this is sl@0: * carried out correctly. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: CArrayFixFlat* sinkHandles = new (ELeave) CArrayFixFlat(6); sl@0: CleanupStack::PushL(sinkHandles); sl@0: CArrayFixFlat* sourceHandles = new (ELeave) CArrayFixFlat(3); sl@0: CleanupStack::PushL(sourceHandles); sl@0: sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: // Add Sink sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: TMMFMessageDestination& sinkHandle = sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle); // index = 1 sl@0: sl@0: TMMFMessageDestination& sinkHandle2= sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkBUid, initData, sinkHandle2); // index = 2 sl@0: sl@0: TMMFMessageDestination& sinkHandle3 = sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle3); // index = 3 sl@0: sl@0: TMMFMessageDestination& sinkHandle4 = sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkBUid, initData, sinkHandle4); // index = 4 sl@0: sl@0: TMMFMessageDestination& sourceHandle = sourceHandles->ExtendL(); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle); // index = 1 sl@0: sl@0: TMMFMessageDestination& sourceHandle2 = sourceHandles->ExtendL(); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle2); // index = 2 sl@0: sl@0: TMMFMessageDestination& sourceHandle3 = sourceHandles->ExtendL(); sl@0: error = controller.AddDataSource(KTestDataSourceBUid, initData, sourceHandle3); // index = 3 sl@0: sl@0: TMMFMessageDestination& sinkHandle5 = sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle5); // index = 5 sl@0: sl@0: TMMFMessageDestination& sinkHandle6 = sinkHandles->ExtendL(); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle6); // index = 6 sl@0: } sl@0: sl@0: if (!error) sl@0: { sl@0: // Remove two Sinks and a Source sl@0: error = controller.RemoveDataSink((*sinkHandles)[2]); sl@0: sl@0: error = controller.RemoveDataSource((*sourceHandles)[2]); sl@0: sl@0: error = controller.RemoveDataSink((*sinkHandles)[5]); sl@0: sl@0: } sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(2); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0110::CTestStep_MMF_CTLFRM_U_0110() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0110"); sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0110::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: sl@0: INFO_PRINTF1(_L("Controller Instantiation Fail")); sl@0: __UHEAP_FAILNEXT(1); // Make the Controller Instantiation fail sl@0: __MM_HEAP_MARK; sl@0: TRAP(error, controller.Open(KTstControllerUid,settings)); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0111::CTestStep_MMF_CTLFRM_U_0111() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0111"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0111::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSourceL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: // Add Source sl@0: INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller")); sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSource")); sl@0: __UHEAP_FAILNEXT(1); sl@0: error = controller.AddDataSource(KTestDataSourceUid, initData); sl@0: } sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0112::CTestStep_MMF_CTLFRM_U_0112() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0112"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0112::DoTestStepL( void ) sl@0: /** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "AddDataSinkL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: const TDesC8& initData = KInitData; sl@0: sl@0: // Add Sink sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("API TEST: Calling AddDataSink")); sl@0: __UHEAP_FAILNEXT(1); sl@0: error = controller.AddDataSink(KTestDataSinkUid, initData); sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF2(_L("Controller Status: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log: %S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0120::CTestStep_MMF_CTLFRM_U_0120() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0120"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0120::DoTestStepL( void ) sl@0: /** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Open the controller, check for errors and close the controller. sl@0: * (Test CMMFFormatSelectionParameters API). sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: //---------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0121::CTestStep_MMF_CTLFRM_U_0121() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0121"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0121::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0120 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: _LIT8(KMimeData, "audio/mbeg"); sl@0: fSelect->SetMatchToMimeTypeL(KMimeData); sl@0: //--------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: cSelect->SetPreferredSupplierL(_L("Symbian"), CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: // Check Array Size here sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0122::CTestStep_MMF_CTLFRM_U_0122() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0122"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0122::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0120 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: _LIT8(KHeaderData, "RIFF????PAVE"); sl@0: fSelect->SetMatchToHeaderDataL(KHeaderData); sl@0: //--------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0123::CTestStep_MMF_CTLFRM_U_0123() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0123"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0123::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0120 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: sl@0: _LIT8(KHeaderData, "RIFF????PAVE"); sl@0: fSelect->SetMatchToHeaderDataL(KHeaderData); sl@0: sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fSelect->MatchData(); sl@0: //---------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0124::CTestStep_MMF_CTLFRM_U_0124() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0124"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0124::DoTestStepL( void ) sl@0: /**As TSU_MMF_CTLFRM_U_0120 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: _LIT8(KHeaderData, "RIFF????PAVE"); sl@0: fSelect->SetMatchToHeaderDataL(KHeaderData); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: // CMMFFormatSelectionParameters::TMatchDataType dataType; //EABI warning removal sl@0: // dataType = fSelect->MatchDataType(); sl@0: //--------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0130::CTestStep_MMF_CTLFRM_U_0130() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0130"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0130::DoTestStepL( void ) sl@0: /** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Check the details obtained to open the controller are correct. Open sl@0: * the controller, check for errors and close the controller. sl@0: * (Test CMMFControllerPluginSelectionParameters API). sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: //_LIT8(KHeaderData, "RIFF????PAVE"); sl@0: //fSelect->SetMatchToHeaderDataL(KHeaderData); sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: //--------------------// sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: TUid controllerUid; sl@0: controllerUid = controllers[0]->Uid(); sl@0: sl@0: if (controllerUid == KTstControllerUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0131::CTestStep_MMF_CTLFRM_U_0131() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0131"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0131::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0130 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.ai")); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: //--------------------// sl@0: sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: TUid controllerUid; sl@0: controllerUid = controllers[0]->Uid(); sl@0: sl@0: if (controllerUid == KTstControllerUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0140::CTestStep_MMF_CTLFRM_U_0140() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0140"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0140::DoTestStepL( void ) sl@0: /** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Check the details obtained to open the controller are correct. Open sl@0: * the controller, check for errors and close the controller. sl@0: * (Test CMMFPluginImplementationInformation API) sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TUid controllerUid; sl@0: controllerUid = controllers[0]->Uid(); sl@0: sl@0: if (controllerUid == KTstControllerUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0141::CTestStep_MMF_CTLFRM_U_0141() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0141"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0141::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: _LIT(KExpectedName,"CMMFTestController"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: //---------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TPtrC controllerName; sl@0: controllerName.Set(controllers[0]->DisplayName()); sl@0: INFO_PRINTF2(_L("Controller Name: %S"),&controllerName); sl@0: sl@0: if (controllerName == KExpectedName) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0142::CTestStep_MMF_CTLFRM_U_0142() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0142"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0142::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: _LIT(KExpectedSupplier, "TSU_MMF_CTLFRM"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TPtrC supplier; sl@0: sl@0: supplier.Set(controllers[0]->Supplier()); sl@0: sl@0: INFO_PRINTF2(_L("Controller Name: %S"),&supplier); sl@0: TPtrC expectedSupplierPtrC; sl@0: expectedSupplierPtrC.Set(KExpectedSupplier); sl@0: sl@0: if (*supplier.Ptr() == *expectedSupplierPtrC.Ptr()) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0143::CTestStep_MMF_CTLFRM_U_0143() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0143"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0143::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: // Expected result sl@0: TInt expectVersionNo = 3; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: //---------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // instantiate the controller sl@0: sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TInt versionNo; sl@0: versionNo = controllers[0]->Version(); sl@0: INFO_PRINTF2(_L("Controller Name:%d"),versionNo); sl@0: sl@0: if (expectVersionNo != versionNo) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0144::CTestStep_MMF_CTLFRM_U_0144() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0144"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0144::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: const RArray& mediaIds = controllers[0]->SupportedMediaIds(); sl@0: sl@0: TUid controllerUid = mediaIds[0]; sl@0: if (controllerUid == KExpectedMediaIDUid140) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0145::CTestStep_MMF_CTLFRM_U_0145() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0145"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0145::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: //---------------------// sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TBool supplierSupported = controllers[0]->SupportsSupplier(_L("TSU_MMF_CTLFRM")); sl@0: sl@0: if (!supplierSupported) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0146::CTestStep_MMF_CTLFRM_U_0146() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0146"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0146::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TBool mediaSupported = controllers[0]->SupportsMediaId(KExpectedMediaIDUid140); sl@0: sl@0: if (!mediaSupported) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0150::CTestStep_MMF_CTLFRM_U_0150() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0150"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0150::DoTestStepL( void ) sl@0: /** Instanciate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Check the details obtained to open the controller are correct. Open sl@0: * the controller, check for errors and close the controller. sl@0: * (Test CMMFControllerImplementationInformation API) sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats(); sl@0: INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count()); sl@0: sl@0: TUid formatUid = controllersPlayFormats[0]->Uid(); sl@0: sl@0: if (formatUid == KMmfUidFormatPAVReadUid || sl@0: formatUid == KMmfUidFormatFAWReadUid || sl@0: formatUid == KMmfUidFormatAIReadUid || sl@0: formatUid == KMmfUidFormatMBEGReadUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0151::CTestStep_MMF_CTLFRM_U_0151() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0151"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0151::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0150 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.ai")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats(); sl@0: INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count()); sl@0: sl@0: TUid formatUid = controllersRecordFormats[0]->Uid(); sl@0: sl@0: if (formatUid == KMmfUidFormatPAVWriteUid || sl@0: formatUid == KMmfUidFormatFAWWriteUid || sl@0: formatUid == KMmfUidFormatAIWriteUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //--------------------// sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0197::CTestStep_MMF_CTLFRM_U_0197() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0197"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0197::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0140 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: sl@0: _LIT8(KExpectedText, "rtsp"); sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToUriSupportL(_L("rtsp://www.symbian.com/first/test/directory/test.rm")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: const CDesC8Array* uriSchemes = &controllers[0]->SupportedUriSchemes(); sl@0: sl@0: if (uriSchemes->Count() > 0) sl@0: { sl@0: TPtrC8 ptrC; sl@0: ptrC.Set(uriSchemes->MdcaPoint(0)); sl@0: sl@0: if (ptrC.Compare(KExpectedText)==0) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: //--------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: sl@0: //------------------------------------------------------------ sl@0: sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0152::CTestStep_MMF_CTLFRM_U_0152() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0152"); sl@0: } sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0152::DoTestStepL( void ) sl@0: /** sl@0: * Call the RMMFController::Open(..) for a number of controllers and determine what Heap size has been allocated. sl@0: * sl@0: * This test needs access to the private member iSubThread in RMMFControllerProxy. To achieve this, sl@0: * private has been #defined to public oprior to including MmfControllerFramework.h and them #undef. sl@0: * This avoided the use of a friend declaration, but may later result in a maintenance problem. sl@0: * sl@0: * Test for fix to INC038123 sl@0: */ sl@0: { sl@0: sl@0: INFO_PRINTF1(_L("The test step is not available on EKA2 - Skipping test!")); sl@0: return EPass; sl@0: sl@0: } sl@0: sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0160::CTestStep_MMF_CTLFRM_U_0160() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0160"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0160::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText, ".ai"); sl@0: sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.ai")); sl@0: sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: if (controllers.Count() > 0 ) sl@0: { sl@0: RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats(); sl@0: INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count()); sl@0: for (TInt recordFormatCount = 0;recordFormatCount < controllersRecordFormats.Count();recordFormatCount++) sl@0: { sl@0: //---------------------// sl@0: // Method being Tested // sl@0: const CDesC8Array* fileExtensions = &controllersRecordFormats[recordFormatCount]->SupportedFileExtensions(); sl@0: //---------------------// sl@0: if (fileExtensions->Count() > 0) sl@0: { sl@0: TPtrC8 ptrC; sl@0: ptrC.Set(fileExtensions->MdcaPoint(0)); sl@0: if (ptrC.Compare(KExpectedText)==0) sl@0: { sl@0: verdict = EPass; sl@0: break; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: if (controllers.Count() >0)//if loop added so that it will enter into loop only if Controller count >0 sl@0: { sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: controller1.Close(); sl@0: } sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0161::CTestStep_MMF_CTLFRM_U_0161() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0161"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0161::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText,"audio/mbeg"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: if (controllers.Count() > 0) sl@0: { sl@0: RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats(); sl@0: INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count()); sl@0: sl@0: if (controllersPlayFormats.Count() > 0) sl@0: { sl@0: //---------------------// sl@0: // Method being Tested // sl@0: const CDesC8Array* mimeTypes = &controllersPlayFormats[1]->SupportedMimeTypes(); sl@0: //---------------------// sl@0: sl@0: if (mimeTypes->Count() <= 0) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: TPtrC8 ptrC; sl@0: ptrC.Set(mimeTypes->MdcaPoint(0)); sl@0: if (ptrC.Compare(KExpectedText) == 0) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0162::CTestStep_MMF_CTLFRM_U_0162() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0162"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0162::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText, "RIFF????PAVE"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats(); sl@0: INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count()); sl@0: sl@0: if (controllersPlayFormats.Count() > 0) sl@0: { sl@0: //---------------------// sl@0: // Method being Tested // sl@0: const CDesC8Array* headerData = &controllersPlayFormats[0]->SupportedHeaderData(); sl@0: //---------------------// sl@0: sl@0: if (headerData->Count() <= 0) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: TPtrC8 ptrC; sl@0: ptrC.Set(headerData->MdcaPoint(0)); sl@0: if (ptrC.Compare(KExpectedText)==0) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0163::CTestStep_MMF_CTLFRM_U_0163() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0163"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0163::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText, ".ai"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.ai")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: if (controllers.Count() > 0) sl@0: { sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats(); sl@0: INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count()); sl@0: TBufC8<32> bufC8Expected; sl@0: bufC8Expected = KExpectedText; sl@0: for (TInt recordFormatCount=0;recordFormatCountSupportsFileExtension(bufC8Expected); sl@0: if (fileExtensionSupported) sl@0: { sl@0: verdict = EPass; sl@0: break; sl@0: } sl@0: else if (!fileExtensionSupported) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: if (controllers.Count() >0) //if loop added so that it will enter into loop only if Controller count >0 sl@0: { sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: controller1.Close(); sl@0: } sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0164::CTestStep_MMF_CTLFRM_U_0164() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0164"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0164::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText, "audio/mbeg"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.mp3")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats(); sl@0: INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count()); sl@0: sl@0: if (controllersPlayFormats.Count() > 0) sl@0: { sl@0: TBufC8<32> bufC8Expected; sl@0: bufC8Expected = KExpectedText; sl@0: //---------------------// sl@0: // Method being Tested // sl@0: TBool mimeTypeSupported = controllersPlayFormats[1]->SupportsMimeType(bufC8Expected); sl@0: //---------------------// sl@0: sl@0: if (!mimeTypeSupported) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0165::CTestStep_MMF_CTLFRM_U_0165() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0165"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0165::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedText, "RIFF????PAVE"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller1; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: // Get Controllers sl@0: RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data sl@0: CleanupResetAndDestroyPushL(controllers); sl@0: cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats(); sl@0: INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count()); sl@0: sl@0: if (controllersPlayFormats.Count() > 0) sl@0: { sl@0: TBufC8<32> bufC8Expected; sl@0: bufC8Expected = KExpectedText; sl@0: //---------------------// sl@0: // Method being Tested // sl@0: TBool headerDataSupported = controllersPlayFormats[0]->SupportsHeaderDataL(bufC8Expected); sl@0: //---------------------// sl@0: sl@0: if (!headerDataSupported) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller sl@0: sl@0: CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect sl@0: controller1.Close(); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0170::CTestStep_MMF_CTLFRM_U_0170() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0170"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0170::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0171::CTestStep_MMF_CTLFRM_U_0171() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0171"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0171::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: RArray mediaIds; sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fEncodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds); sl@0: //---------------------// sl@0: sl@0: TUid uid = {0x101FF9FF}; sl@0: sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0172::CTestStep_MMF_CTLFRM_U_0172() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0172"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0172::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT(KExpectedText, "Symbian"); sl@0: sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TBufC<12> bufC = fEncodeSelect->PreferredSupplier(); sl@0: //---------------------// sl@0: sl@0: if ((bufC == KExpectedText) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0173::CTestStep_MMF_CTLFRM_U_0173() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0173"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0173::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: if ((fEncodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //---------------------// sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0174::CTestStep_MMF_CTLFRM_U_0174() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0174"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0174::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: TUid testUid = {0x12345679}; sl@0: RArray mediaIdsToAdd; sl@0: mediaIdsToAdd.Append(testUid); sl@0: sl@0: fEncodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: const RArray& mediaIds = fEncodeSelect->MediaIds(); sl@0: //---------------------// sl@0: sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: TUid uid = {0x12345679}; sl@0: sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: mediaIdsToAdd.Remove(0); // Remove otherwise TUid will be destroyed below and Panic. sl@0: mediaIdsToAdd.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(4);// formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0175::CTestStep_MMF_CTLFRM_U_0175() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0175"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0175::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: if ((fEncodeSelect->MediaIdMatchType() == CMMFPluginSelectionParameters::ENoMediaIdMatch) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //---------------------// sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0176::CTestStep_MMF_CTLFRM_U_0176() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0176"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0176::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TUid uid = fEncodeSelect->InterfaceUid(); sl@0: //---------------------// sl@0: sl@0: if (uid == KMmfUidPluginInterfaceFormatEncodeUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0180::CTestStep_MMF_CTLFRM_U_0180() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0180"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0180::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: sl@0: if (formats.Count() > 0) sl@0: { sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVWriteUid) sl@0: { sl@0: verdict = EFail; // Wrong if correct ID occurs sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0181::CTestStep_MMF_CTLFRM_U_0181() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0181"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0181::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: RArray mediaIds; sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: // Incorrect Enum Passed sl@0: fEncodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOtherMediaIds); sl@0: //---------------------// sl@0: sl@0: TUid uid = {0x101FF9FF}; sl@0: sl@0: // Should return nothing sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0182::CTestStep_MMF_CTLFRM_U_0182() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0182"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0182::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT(KExpectedText, "Symbian"); sl@0: sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TBufC<12> bufC = fEncodeSelect->PreferredSupplier(); sl@0: //---------------------// sl@0: sl@0: // Shouldn't return Symbian, should be Simbian sl@0: if ((bufC == KExpectedText) && (verdict == EPass)) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0183::CTestStep_MMF_CTLFRM_U_0183() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0183"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0183::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: if ((fEncodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::ENoPreferredSupplierMatch) && (verdict == EFail)) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: //---------------------// sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0184::CTestStep_MMF_CTLFRM_U_0184() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0184"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0184::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fEncodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Encode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fEncodeSelect->ListImplementationsL(formats); sl@0: sl@0: RArray mediaIdsToAdd; sl@0: sl@0: // Pass Empty Array sl@0: fEncodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds); sl@0: sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: const RArray& mediaIds = fEncodeSelect->MediaIds(); sl@0: //---------------------// sl@0: sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: TUid uid = {0x12345679}; sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: sl@0: mediaIdsToAdd.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0190::CTestStep_MMF_CTLFRM_U_0190() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0190"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0190::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0191::CTestStep_MMF_CTLFRM_U_0191() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0191"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0191::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: sl@0: RArray mediaIds; sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: fDecodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds); sl@0: //---------------------// sl@0: sl@0: TUid uid = {0x101FF9FF}; sl@0: sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0192::CTestStep_MMF_CTLFRM_U_0192() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0192"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0192::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT(KExpectedText, "Symbian"); sl@0: sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TBufC<12> bufC = fDecodeSelect->PreferredSupplier(); sl@0: //---------------------// sl@0: sl@0: if ((bufC == KExpectedText) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0193::CTestStep_MMF_CTLFRM_U_0193() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0193"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0193::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: if ((fDecodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //---------------------// sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0194::CTestStep_MMF_CTLFRM_U_0194() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0194"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0194::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredRecordFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: TUid testUid = {0x12345679}; sl@0: RArray mediaIdsToAdd; sl@0: mediaIdsToAdd.Append(testUid); sl@0: sl@0: fDecodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: const RArray& mediaIds = fDecodeSelect->MediaIds(); sl@0: //---------------------// sl@0: sl@0: if (mediaIds.Count() > 0) sl@0: { sl@0: TUid uid = {0x12345679}; sl@0: if (mediaIds[0] == uid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: mediaIdsToAdd.Remove(0); // Remove otherwise TUid will be destroyed below and Panic. sl@0: mediaIdsToAdd.Close(); sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0195::CTestStep_MMF_CTLFRM_U_0195() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0195"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0195::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: sl@0: if ((fDecodeSelect->MediaIdMatchType() == CMMFPluginSelectionParameters::ENoMediaIdMatch) && (verdict == EPass)) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: //---------------------// sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0196::CTestStep_MMF_CTLFRM_U_0196() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0196"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0196::DoTestStepL( void ) sl@0: /** sl@0: * Use case: N/A sl@0: * @test Req. under test sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: // TMMFPrioritySettings settings; //EABI warning removal sl@0: sl@0: // settings.iPriority = 1; sl@0: // settings.iPref = EMdaPriorityPreferenceTime; sl@0: // settings.iState = EMMFStateIdle; sl@0: sl@0: CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC(); sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: fSelect->SetMatchToFileNameL(_L("test.pav")); sl@0: sl@0: // Set the controller plugin play format match data sl@0: cSelect->SetRequiredPlayFormatSupportL(*fSelect); sl@0: cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList); sl@0: sl@0: fDecodeSelect->SetRequiredFormatSupportL(*fSelect); sl@0: sl@0: fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned); sl@0: //---------------------// sl@0: sl@0: // Get Decode Format(s) sl@0: RMMFFormatImplInfoArray formats; sl@0: CleanupResetAndDestroyPushL(formats); sl@0: fDecodeSelect->ListImplementationsL(formats); sl@0: sl@0: //---------------------// sl@0: // Method being Tested // sl@0: //---------------------// sl@0: TUid uid = fDecodeSelect->InterfaceUid(); sl@0: //---------------------// sl@0: sl@0: if (uid == KMmfUidPluginInterfaceFormatDecodeUid) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: // Check the Uid is correct, hense the correct interface has been obtained sl@0: TUid formatUid; sl@0: formatUid = formats[0]->Uid(); sl@0: if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass) sl@0: { sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0125::CTestStep_MMF_CTLFRM_U_0125() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0125"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0125::DoTestStepL( void ) sl@0: /** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Open the controller, check for errors and close the controller. sl@0: * (Test CMMFFormatSelectionParameters API). sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ172.5.5 REQ172.5.5.13 sl@0: */ sl@0: { sl@0: const TInt KNumberTestURIs = 5; sl@0: _LIT(KTestUri1,"rtsp://www.symbian.com/first/test/directory/test.rm"); sl@0: _LIT(KTestUri2,"www.symbian.com/first/test/directory/test.rm#garbage characters"); sl@0: _LIT(KTestUri3,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find"); sl@0: _LIT(KTestUri4,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find#garbage characters at end of url"); sl@0: _LIT(KTestUri5,"rtsp://194.252.88.2:554/yle24/mobile/uusin.rm?cloakport=\"80,554,7"); sl@0: _LIT8(KExpectedMatchData,".rm"); sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TPtrC testURIs[KNumberTestURIs]; sl@0: TPtrC8 expectedMatchData[KNumberTestURIs]; sl@0: testURIs[0].Set(KTestUri1); sl@0: testURIs[1].Set(KTestUri2); sl@0: testURIs[2].Set(KTestUri3); sl@0: testURIs[3].Set(KTestUri4); sl@0: testURIs[4].Set(KTestUri5); sl@0: sl@0: expectedMatchData[0].Set(KExpectedMatchData); sl@0: expectedMatchData[1].Set(KExpectedMatchData); sl@0: expectedMatchData[2].Set(KExpectedMatchData); sl@0: expectedMatchData[3].Set(KExpectedMatchData); sl@0: expectedMatchData[4].Set(KExpectedMatchData); sl@0: sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: for (TInt i=0;iSetMatchToUriL(testURIs[i]); sl@0: //---------------------// sl@0: sl@0: if (fSelect->MatchDataType() == CMMFFormatSelectionParameters::EMatchFileExtension) sl@0: { sl@0: const TDesC8& matchData = fSelect->MatchData(); sl@0: sl@0: // make a unicode copy of the match data (file extension) for printing out sl@0: HBufC* bufMatchData = HBufC::NewL(matchData.Length()); sl@0: sl@0: TPtr ptr = bufMatchData->Des(); sl@0: ptr.Copy(matchData); sl@0: if (!(matchData == expectedMatchData[i])) sl@0: { sl@0: INFO_PRINTF3(_L("Uri Match Data failed on URI: %S | extension: %S"), sl@0: &testURIs[i], sl@0: bufMatchData); sl@0: verdict = EFail; sl@0: } else { sl@0: sl@0: INFO_PRINTF3(_L("Success URI: %S | extension: %S"), sl@0: &testURIs[i], sl@0: bufMatchData); sl@0: sl@0: } sl@0: delete bufMatchData; sl@0: sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("MatchDataType set to incorrect type (should be EMatchFileExtension)")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: CleanupStack::Pop(fSelect); sl@0: sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0198::CTestStep_MMF_CTLFRM_U_0198() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0198"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0198::DoTestStepL( void ) sl@0: /** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters sl@0: * set the parameters appropiately (See API Method Calls and Parameters) to obtain sl@0: * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to sl@0: * open a controller. Open the controller, check for errors and close the controller. sl@0: * (Test CMMFFormatSelectionParameters API). sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under CR0632 sl@0: */ sl@0: { sl@0: const TInt KNumberTestURIs = 5; sl@0: _LIT(KTestUri1,"rtsp://www.symbian.com/first/test/directory/test.rm"); sl@0: _LIT(KTestUri2,"www.symbian.com/first/test/directory/test.rm#garbage characters"); sl@0: _LIT(KTestUri3,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find"); sl@0: _LIT(KTestUri4,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find#garbage characters at end of url"); sl@0: _LIT(KTestUri5,"rtsp://194.252.88.2:554/yle24/mobile/uusin.rm?cloakport=\"80,554,7"); sl@0: _LIT8(KExpectedMatchData,"rtsp"); sl@0: _LIT8(KExpectedMatchData2,""); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TPtrC testURIs[KNumberTestURIs]; sl@0: TPtrC8 expectedMatchData[KNumberTestURIs]; sl@0: testURIs[0].Set(KTestUri1); sl@0: testURIs[1].Set(KTestUri2); sl@0: testURIs[2].Set(KTestUri3); sl@0: testURIs[3].Set(KTestUri4); sl@0: testURIs[4].Set(KTestUri5); sl@0: sl@0: expectedMatchData[0].Set(KExpectedMatchData); sl@0: expectedMatchData[1].Set(KExpectedMatchData2); sl@0: expectedMatchData[2].Set(KExpectedMatchData); sl@0: expectedMatchData[3].Set(KExpectedMatchData); sl@0: expectedMatchData[4].Set(KExpectedMatchData); sl@0: sl@0: CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC(); sl@0: sl@0: // Set the format match data sl@0: for (TInt i=0;iSetMatchToUriSupportL(testURIs[i]); sl@0: //---------------------// sl@0: sl@0: if (fSelect->MatchDataType() == CMMFFormatSelectionParameters::EMatchUri) sl@0: { sl@0: const TDesC8& matchurischeme = fSelect->MatchUriScheme(); sl@0: sl@0: HBufC* bufMatchData = HBufC::NewL(matchurischeme.Length()); sl@0: sl@0: TPtr ptr = bufMatchData->Des(); sl@0: ptr.Copy(matchurischeme); sl@0: if (!(matchurischeme == expectedMatchData[i])) sl@0: { sl@0: INFO_PRINTF3(_L("Uri Match Data failed on URI: %S | scheme: %S"), sl@0: &testURIs[i], sl@0: bufMatchData); sl@0: verdict = EFail; sl@0: } else { sl@0: sl@0: INFO_PRINTF3(_L("Success URI: %S | scheme: %S"), sl@0: &testURIs[i], sl@0: bufMatchData); sl@0: sl@0: } sl@0: delete bufMatchData; sl@0: sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("MatchDataType set to incorrect type (should be EMatchUri)")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: CleanupStack::Pop(fSelect); sl@0: sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: #ifdef SYMBIAN_BUILD_GCE sl@0: //--------------------------------------------------------------------- sl@0: // Testing of the Standard Custom Commands of video surface support sl@0: //---------------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0301::CTestStep_MMF_CTLFRM_U_0301() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0301"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0301::DoTestStepL( void ) sl@0: /** Call the RMMFController::Open(..) (with the parameters from test 001), varify the sl@0: * return value is 0. Instantiate a CustomCommands Object (specified). Call sl@0: * RMMFVideoPlaySurfaceSupportCustomCommands Method specified and varify the 'error' sl@0: * is 0. Follow this by calling the Custom Command 'KLogFunction' and varify the text sl@0: * value returned is equal to the specifed text in Test Step. Call the RMMFController::Close() sl@0: * on the Custom Controller. Varify 'error' is zero. sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ 7418 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MvpssUseSurfacesL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (error == KErrNone) sl@0: { sl@0: RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.UseSurfaces(); sl@0: INFO_PRINTF2(_L("customCommands.UseSurfaces() returns: %d"), error); sl@0: } sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (error == KErrNone) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: if (error != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Test case failed with error:%d"),error); sl@0: verdict = EFail; sl@0: } sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0303::CTestStep_MMF_CTLFRM_U_0303() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0303"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0303::DoTestStepL( void ) sl@0: /** As TSU_MMF_CTLFRM_U_0301 sl@0: sl@0: * Use case: N/A sl@0: * @test Req. under test REQ1714.3.3 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MvpssGetSurfaceParametersL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: TSurfaceId surfaceId; sl@0: TRect getRect; sl@0: TVideoAspectRatio par; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (error == KErrNone) sl@0: { sl@0: RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller); sl@0: sl@0: error = customCommands.GetSurfaceParameters(surfaceId, getRect,par); sl@0: INFO_PRINTF2(_L("customCommands.GetSurfaceParameters returns: %d"), error); sl@0: } sl@0: sl@0: //From mmf test controller which sets the values sl@0: TSurfaceId expectedSurfaceId = {11111, 22222, 33333, 44444}; sl@0: TInt expectedTlIx = 100; sl@0: TInt expectedTlIy = 50; sl@0: TInt expectedBrIx = 600; sl@0: TInt expectedBrIy = 200; sl@0: TInt expectedParIN = 1; sl@0: TInt expectedParID = 2; sl@0: sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult || expectedSurfaceId != surfaceId || expectedTlIx != getRect.iTl.iX || sl@0: expectedTlIy != getRect.iTl.iY || expectedBrIx != getRect.iBr.iX || expectedBrIy != getRect.iBr.iY || sl@0: expectedParIN != par.iNumerator || expectedParID != par.iDenominator) sl@0: { sl@0: INFO_PRINTF5(_L("Expected surfaceId %d %d %d %d"), sl@0: expectedSurfaceId.iInternal[0], expectedSurfaceId.iInternal[1], sl@0: expectedSurfaceId.iInternal[2], expectedSurfaceId.iInternal[3]); sl@0: INFO_PRINTF5(_L("surfaceId Available %d %d %d %d"), sl@0: surfaceId.iInternal[0], surfaceId.iInternal[1], sl@0: surfaceId.iInternal[2], surfaceId.iInternal[3]); sl@0: INFO_PRINTF2(_L("Expected Rect first %d"),expectedTlIx); sl@0: INFO_PRINTF2(_L("Rect first Available %d"),getRect.iTl.iX); sl@0: INFO_PRINTF2(_L("Expected Rect second %d"),expectedTlIy); sl@0: INFO_PRINTF2(_L("Rect second Available %d"),getRect.iTl.iY); sl@0: INFO_PRINTF2(_L("Expected Rect third %d"),expectedBrIx); sl@0: sl@0: INFO_PRINTF2(_L("Rect third Available %d"),getRect.iBr.iX); sl@0: INFO_PRINTF2(_L("Expected Rect fourth %d"),expectedBrIy); sl@0: INFO_PRINTF2(_L("Rect fourth Available %d"),getRect.iBr.iY); sl@0: INFO_PRINTF2(_L("Expected TVideoAspectRatio iNumerator %d"),expectedParIN); sl@0: INFO_PRINTF2(_L("TVideoAspectRatio iNumerator Available %d"),par.iNumerator); sl@0: INFO_PRINTF2(_L("Expected TVideoAspectRatio iDenominator %d"),expectedParID); sl@0: INFO_PRINTF2(_L("TVideoAspectRatio iDenominator Available %d"),par.iDenominator); sl@0: sl@0: verdict = EFail; sl@0: } sl@0: sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //--------------------------------------------------------------- sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0305::CTestStep_MMF_CTLFRM_U_0305(TSurfaceId& aSurfaceId, TBool aNegTest) sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iNegTest = aNegTest; sl@0: sl@0: if (!aNegTest) // The value for the positive testing in test controller sl@0: { sl@0: iSurfaceId = aSurfaceId; sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0305"); sl@0: } sl@0: else // Any other value for the negative testing sl@0: { sl@0: iSurfaceId2 = aSurfaceId; sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0309"); sl@0: } sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0305::DoTestStepL() sl@0: /** As TSU_MMF_CTLFRM_U_0301 sl@0: * Use case: N/A sl@0: * @test Req. under test REQ 7418 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: _LIT8(KExpectedResult, "MvpssSurfaceRemovedL Called"); sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: TSurfaceId surfaceId; sl@0: if(iNegTest) sl@0: { sl@0: surfaceId = iSurfaceId2; sl@0: } sl@0: else sl@0: { sl@0: surfaceId = iSurfaceId; sl@0: } sl@0: sl@0: if (error == KErrNone) sl@0: { sl@0: RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller); sl@0: error = customCommands.SurfaceRemoved(surfaceId); sl@0: INFO_PRINTF2(_L("customCommands.SurfaceRemoved returns: %d"), error); sl@0: } sl@0: sl@0: //------------------------------------// sl@0: // Getting Log from Custom Controller // sl@0: //------------------------------------// sl@0: if (error == KErrNone) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: sl@0: if (memFunctionText != KExpectedResult) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: if (error != KErrNone) sl@0: { sl@0: if (iNegTest && error == KErrArgument) sl@0: { sl@0: INFO_PRINTF1(_L("Negative test; Expected return with -6")); sl@0: verdict = EPass; sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF2(_L("Failed with error:%d"),error); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: if (iNegTest && error != KErrArgument) sl@0: { sl@0: INFO_PRINTF1(_L("Negative test; Expected return with -6")); sl@0: verdict = EFail; sl@0: } sl@0: //------------------------------------// sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: #endif // SYMBIAN_BUILD_GCE sl@0: sl@0: RTestStep_MMF_CTLFRM_U_0200::RTestStep_MMF_CTLFRM_U_0200() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0200"); sl@0: } sl@0: sl@0: TInt RTestStep_MMF_CTLFRM_U_0200::Timeout(TAny* aArg) sl@0: { sl@0: RTestStep_MMF_CTLFRM_U_0200* arg = static_cast(aArg); sl@0: arg->StopTest(KErrNone,EFail); sl@0: sl@0: return 0; sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::KickoffTestL() sl@0: /** sl@0: * Call the RMMFController::Open(..) with the parameters specified, sl@0: * verify the return value is 0. Sends an asynchronous custom command to the controller which generates a panic sl@0: * in the subthread, verify the return value is 0. Verify application thread terminates with KErrDied. (with Active Scheduler) sl@0: sl@0: * Use case: N/A sl@0: * @test Req. INC108007 sl@0: */ sl@0: { sl@0: // Create an active object that will wrap the test execution sl@0: iAsyncTest = new (ELeave) CAsyncTest(this); sl@0: iAsyncTest->Start(); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CloseTest() sl@0: { sl@0: if (iAsyncTest) sl@0: { sl@0: iAsyncTest->Cancel(); sl@0: delete iAsyncTest; sl@0: } sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::OpeningController() sl@0: { sl@0: INFO_PRINTF1(_L("Attempting to Open Controller")); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::OpenCompleted(TInt aError) sl@0: { sl@0: INFO_PRINTF2(_L("Controller Open: %d"), aError); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::ClosingController() sl@0: { sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::ClosingComplete() sl@0: { sl@0: INFO_PRINTF1(_L("Controller Closed")); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::SendingCustomCommand() sl@0: { sl@0: INFO_PRINTF1(_L("Sending Panic custom command")); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CustomCommandSent(TInt aError) sl@0: { sl@0: INFO_PRINTF2(_L("Custom Command Sent: %d"), aError); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CancellingCustomCommand() sl@0: { sl@0: INFO_PRINTF1(_L("Cancelling Panic custom command")); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CustomCommandCancelled(TInt aError) sl@0: { sl@0: INFO_PRINTF2(_L("Custom Command Cancelled: %d"), aError); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::TestError(TInt aError) sl@0: { sl@0: if(aError!=KErrServerTerminated) sl@0: { sl@0: StopTest(aError,EFail); sl@0: } sl@0: else sl@0: { sl@0: StopTest(EPass); sl@0: } sl@0: } sl@0: sl@0: RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::CAsyncTest(MMMF_CTRLFRM_U_0200_Observer* aObserver) sl@0: : CActive(EPriorityStandard) sl@0: { sl@0: iObserver = aObserver; sl@0: sl@0: CActiveScheduler::Add(this); sl@0: } sl@0: sl@0: RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::~CAsyncTest() sl@0: { sl@0: Cancel(); sl@0: sl@0: iObserver->ClosingController(); sl@0: iController.Close(); sl@0: iObserver->ClosingComplete(); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::Start() sl@0: { sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: iObserver->OpeningController(); sl@0: sl@0: // Open a Custom Controller sl@0: error = iController.Open(KTestTerminationControllerUid,settings); sl@0: iObserver->OpenCompleted(error); sl@0: sl@0: //------------------------------------// sl@0: // Sending Panic Custom Command // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: iObserver->SendingCustomCommand(); sl@0: TMMFMessageDestination handleInfo(KTestTerminationControllerUid); sl@0: iMessage = handleInfo; sl@0: sl@0: iController.CustomCommandAsync(iMessage, KDummyFunc1, KNullDesC8, KNullDesC8, iStatus); sl@0: SetActive(); sl@0: } sl@0: else sl@0: iObserver->TestError(error); sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::RunL() sl@0: { sl@0: iObserver->CustomCommandSent(iStatus.Int()); sl@0: iObserver->TestError(iStatus.Int()); sl@0: } sl@0: sl@0: TInt RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::RunError(TInt aError) sl@0: { sl@0: return aError; sl@0: } sl@0: sl@0: void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::DoCancel() sl@0: { sl@0: sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0201::CTestStep_MMF_CTLFRM_U_0201() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0201"); sl@0: sl@0: sl@0: } sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0201::DoTestStepL( void ) sl@0: /** sl@0: * Call the RMMFController::Open(..) with the parameters specified, sl@0: * verify the return value is 0. Sends an asynchronous custom command to the controller which generates a panic sl@0: * in the subthread, verify the return value is 0. Close the controller after a timeout and sl@0: * verify application thread terminates with KErrDied. (without Active Scheduler) sl@0: sl@0: * Use case: N/A sl@0: * @test Req. INC108007 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: error = controller.Open(KTestTerminationControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: //------------------------------------// sl@0: // Sending Panic Custom Command // sl@0: //------------------------------------// sl@0: if (!error) sl@0: { sl@0: TMMFMessageDestination handleInfo(KTestTerminationControllerUid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: TRequestStatus status; sl@0: INFO_PRINTF1(_L("Sending Panic custom command")); sl@0: controller.CustomCommandAsync(messageDest, KDummyFunc1, KNullDesC8, KNullDesC8, status); sl@0: sl@0: // Creation of a timeout timer sl@0: RTimer timer; sl@0: timer.CreateLocal(); sl@0: TRequestStatus timeout = KRequestPending; sl@0: timer.After(timeout, 3000000); sl@0: sl@0: User::WaitForRequest(status, timeout); sl@0: INFO_PRINTF3(_L("Status=[%d] Timeout[%d]"), status.Int(), timeout.Int()); sl@0: } sl@0: //------------------------------------// sl@0: sl@0: sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: // client thread should not panic as such. sl@0: verdict = EPass; sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0202::CTestStep_MMF_CTLFRM_U_0202() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0202"); sl@0: sl@0: sl@0: } sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0202::DoTestStepL( void ) sl@0: /** sl@0: * Call the RMMFController::Open(..) with the parameters specified, sl@0: * verify the return value is 0. Call the RMMFController::Close() on the Custom Controller. sl@0: * Verify error is 0. There will be a memory allocation error while calling iSubThread.Logon() sl@0: * inside RMMFControllerProxy::Close(). sl@0: sl@0: * Use case: N/A sl@0: * @test Req. INC108007 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: INFO_PRINTF1(_L("Attempting to Open Controller")); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting __DbgSetAllocFail")); sl@0: User::__DbgSetAllocFail(ETrue, RHeap::EFailNext, 1); sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: INFO_PRINTF1(_L("Reseting __DbgSetAllocFail")); sl@0: User::__DbgSetAllocFail(ETrue, RHeap::ENone, 1); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0203::CTestStep_MMF_CTLFRM_U_0203() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0203"); sl@0: sl@0: sl@0: } sl@0: sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0203::DoTestStepL( void ) sl@0: /** sl@0: * Call the RMMFController::Open(..) with the parameters specified, sl@0: * verify the return value is 0. Call the RMMFController::Close() on the Custom Controller. sl@0: * Verify error is 0. There will be a memory allocation error while calling timer.CreateLocal() sl@0: * inside RMMFControllerProxy::Close() sl@0: sl@0: * Use case: N/A sl@0: * @test Req. INC108007 sl@0: */ sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: INFO_PRINTF1(_L("Attempting to Open Controller")); sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: sl@0: if (error) sl@0: { sl@0: verdict = EFail; sl@0: } sl@0: sl@0: INFO_PRINTF1(_L("Setting __DbgSetAllocFail")); sl@0: User::__DbgSetAllocFail(ETrue, RHeap::EDeterministic, 2); sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: INFO_PRINTF1(_L("Reseting __DbgSetAllocFail")); sl@0: User::__DbgSetAllocFail(ETrue, RHeap::ENone, 1); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: TVerdict CTestStep_MMF_CTLFRM_Subtitles::DoTestStepPreambleL() sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: TInt error = iController.Open(KTstControllerUid, settings); sl@0: sl@0: if (KErrNone != error) sl@0: { sl@0: ERR_PRINTF2(_L("Controller Open: %d"), error); sl@0: return EInconclusive; // Cannot run the test sl@0: } sl@0: sl@0: iSubtitleCommands = new(ELeave) RMMFVideoPlaySubtitleSupportCustomCommands(iController); sl@0: return CTestStep_MMF_CTLFRM::DoTestStepPreambleL(); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_Subtitles::DoTestStepPostambleL() sl@0: { sl@0: iController.Close(); sl@0: delete iSubtitleCommands; sl@0: iSubtitleCommands = NULL; sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return EPass; sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_Subtitles::CheckExpectedFunctionText(const TDesC8& aExpected) sl@0: { sl@0: INFO_PRINTF1(_L("Getting Log")); sl@0: sl@0: TBuf8<64> memFunctionText; sl@0: sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: sl@0: TInt error = iController.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText); sl@0: sl@0: if (KErrNone != error) sl@0: { sl@0: ERR_PRINTF2(_L("Failed to retrieve function text. Error is %d"), error); sl@0: return EFail; sl@0: } sl@0: sl@0: TBuf<64> memFunctionText16; sl@0: memFunctionText16.Copy(memFunctionText); sl@0: sl@0: if (memFunctionText != aExpected) sl@0: { sl@0: TBuf<64> expected16; sl@0: expected16.Copy(aExpected); sl@0: ERR_PRINTF3(_L("Function log expected \"%S\" but got \"%S\""), &expected16, &memFunctionText16); sl@0: return EFail; sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF2(_L("Log:%S"),&memFunctionText16); sl@0: } sl@0: sl@0: return EPass; sl@0: } sl@0: sl@0: void CTestStep_MMF_CTLFRM_Subtitles::SetExpectedSubtitlesAvailableL(TInt aAvailable) sl@0: { sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: TPckgBuf availPckg(aAvailable); sl@0: sl@0: User::LeaveIfError(iController.CustomCommandSync(messageDest, KTestSetSubtitleAvailable, availPckg, KNullDesC8)); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_400::CTestStep_MMF_CTRLFRM_U_400() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0400"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_400::DoTestStepL() sl@0: { sl@0: TBool avail = EFalse; sl@0: TInt err = iSubtitleCommands->GetSubtitlesAvailable(avail); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("SubtitlesAvailable returned error code %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: if (!avail) sl@0: { sl@0: ERR_PRINTF1(_L("Expected subtitles to be available, but got EFalse")); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KSubAvailable); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_401::CTestStep_MMF_CTRLFRM_U_401() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0401"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_401::DoTestStepL() sl@0: { sl@0: TInt err = iSubtitleCommands->DisableSubtitles(); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("DisableSubtitles returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KDisableSub); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_402::CTestStep_MMF_CTRLFRM_U_402() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0402"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_402::DoTestStepL() sl@0: { sl@0: TInt err = iSubtitleCommands->EnableSubtitles(); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("EnableSubtitles returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KEnableSub); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_403::CTestStep_MMF_CTRLFRM_U_403() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0403"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_403::DoTestStepL() sl@0: { sl@0: TMMFSubtitleWindowConfig config; sl@0: config.iWindowId = KSubtitleWindowId; sl@0: config.iDisplayMode = KSubtitleDisplayMode; sl@0: config.iRotation = KSubtitleRotation; sl@0: config.iWindowClipRect = KSubtitleCrpRect; sl@0: sl@0: TInt err = iSubtitleCommands->AddSubtitleConfig(config); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("AddSubtitleConfig returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KAddSubConfig); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_404::CTestStep_MMF_CTRLFRM_U_404() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0404"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_404::DoTestStepL() sl@0: { sl@0: TMMFSubtitleWindowConfig config; sl@0: config.iWindowId = KSubtitleWindowId; sl@0: config.iDisplayMode = KSubtitleDisplayMode; sl@0: config.iRotation = KSubtitleRotation; sl@0: config.iWindowClipRect = KSubtitleCrpRect; sl@0: sl@0: TInt err = iSubtitleCommands->UpdateSubtitleConfig(config); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("UpdateSubtitleConfig returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KUpdateSubConfig); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_405::CTestStep_MMF_CTRLFRM_U_405() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0405"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_405::DoTestStepL() sl@0: { sl@0: TInt err = iSubtitleCommands->RemoveSubtitleConfig(KSubtitleWindowId); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("RemoveSubtitleConfig returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KRemoveSubConfig); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_406::CTestStep_MMF_CTRLFRM_U_406() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0406"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_406::DoTestStepL() sl@0: { sl@0: TWsGraphicId wsId(TWsGraphicId::EUninitialized); sl@0: TRect rect; sl@0: TInt err = iSubtitleCommands->GetCrpParameters(KSubtitleWindowId, wsId, rect); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("GetCrpParameters returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: TWsGraphicId wsIdExpected(KSubtitleWsGraphicId); sl@0: if (wsIdExpected.Compare(wsId) != 0 || KSubtitleCrpRect != rect) sl@0: { sl@0: ERR_PRINTF1(_L("Unexpected parameters retrieved from GetCrpParameters")); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KGetCrpParams); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_407::CTestStep_MMF_CTRLFRM_U_407() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0407"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_407::DoTestStepL() sl@0: { sl@0: RArray languages; sl@0: CleanupClosePushL(languages); sl@0: TRAPD(err, iSubtitleCommands->GetSupportedSubtitleLanguagesL(languages)); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("GetSupportedSubtitleLanguagesL left with code %d; expected %d"), err, KErrNone); sl@0: CleanupStack::PopAndDestroy(&languages); sl@0: return EFail; sl@0: } sl@0: sl@0: if (languages.Count() != 3) sl@0: { sl@0: ERR_PRINTF2(_L("Expected 3 languages, but got %d"), languages.Count()); sl@0: CleanupStack::PopAndDestroy(&languages); sl@0: return EFail; sl@0: } sl@0: sl@0: if (KSubtitleLanguage0 != languages[0] || sl@0: KSubtitleLanguage1 != languages[1] || sl@0: KSubtitleLanguage2 != languages[2]) sl@0: { sl@0: ERR_PRINTF1(_L("Unexpected language returned")); sl@0: CleanupStack::PopAndDestroy(&languages); sl@0: return EFail; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(&languages); sl@0: return CheckExpectedFunctionText(KGetSubLangSup); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_408::CTestStep_MMF_CTRLFRM_U_408() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0408"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_408::DoTestStepL() sl@0: { sl@0: TLanguage language = ELangTest; sl@0: TInt err = iSubtitleCommands->GetSubtitleLanguage(language); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("GetSubtitleLanguage returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: if (KSubtitleLanguage0 != language) sl@0: { sl@0: ERR_PRINTF3(_L("Language is %d but expected %d"), language, KSubtitleLanguage0); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KGetSubLang); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_409::CTestStep_MMF_CTRLFRM_U_409() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0409"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_409::DoTestStepL() sl@0: { sl@0: TInt err = iSubtitleCommands->SetSubtitleLanguage(KSubtitleLanguage0); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF3(_L("SetSubtitleLanguage returned %d; expected %d"), err, KErrNone); sl@0: return EFail; sl@0: } sl@0: sl@0: return CheckExpectedFunctionText(KSetSubLang); sl@0: } sl@0: sl@0: CTestStep_MMF_CTRLFRM_U_410::CTestStep_MMF_CTRLFRM_U_410() sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0410"); sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTRLFRM_U_410::DoTestStepL() sl@0: { sl@0: // Expect subtitle functions to fail with KErrNotSupported. sl@0: SetExpectedSubtitlesAvailableL(KErrNotSupported); sl@0: sl@0: TBool avail = ETrue; sl@0: sl@0: TInt err = iSubtitleCommands->GetSubtitlesAvailable(avail); sl@0: sl@0: if (KErrNone != err) sl@0: { sl@0: ERR_PRINTF2(_L("GetSubtitlesAvailable returned error %d; expected KErrNone"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: if (avail) sl@0: { sl@0: ERR_PRINTF1(_L("GetSubtitlesAvailable reported subtitles as available.")); sl@0: return EFail; sl@0: } sl@0: sl@0: err = iSubtitleCommands->EnableSubtitles(); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("EnableSubtitles returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: err = iSubtitleCommands->DisableSubtitles(); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("DisableSubtitles returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: TMMFSubtitleWindowConfig config; sl@0: err = iSubtitleCommands->AddSubtitleConfig(config); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("AddSubtitleConfig returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: err = iSubtitleCommands->UpdateSubtitleConfig(config); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("UpdateSubtitleConfig returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: err = iSubtitleCommands->RemoveSubtitleConfig(0); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("RemoveSubtitleConfig returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: TWsGraphicId wsId(TWsGraphicId::EUninitialized); sl@0: TRect rect; sl@0: err = iSubtitleCommands->GetCrpParameters(0, wsId, rect); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("GetCrpParameters returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: TLanguage language; sl@0: err = iSubtitleCommands->GetSubtitleLanguage(language); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("GetSubtitleLanguage returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: err = iSubtitleCommands->SetSubtitleLanguage(language); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("SetSubtitleLanguage returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: RArray languages; sl@0: TRAP(err, iSubtitleCommands->GetSupportedSubtitleLanguagesL(languages)); sl@0: languages.Close(); sl@0: if (KErrNotSupported != err) sl@0: { sl@0: ERR_PRINTF2(_L("GetSupportedSubtitleLanguagesL returned error %d; expected KErrNotSupported"), err); sl@0: return EFail; sl@0: } sl@0: sl@0: return EPass; sl@0: } sl@0: sl@0: #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: sl@0: //------------------------------------------------------------------ sl@0: sl@0: CTestStep_MMF_CTLFRM_U_0300::CTestStep_MMF_CTLFRM_U_0300() sl@0: /** Constructor sl@0: */ sl@0: { sl@0: // store the name of this test case sl@0: // this is the name that is used by the script file sl@0: // Each test step initialises it's own name sl@0: iTestStepName = _L("MM-MMF-CTLFRM-U-0300"); sl@0: sl@0: sl@0: } sl@0: sl@0: TVerdict CTestStep_MMF_CTLFRM_U_0300::DoTestStepL( void ) sl@0: { sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARK")); sl@0: INFO_PRINTF1(_L("CR1655 - Test to check that stack size has been set to 0x4000")); sl@0: INFO_PRINTF1(_L("On emulator 1MB should be fine, since stack size cannot be set")); sl@0: __MM_HEAP_MARK; sl@0: sl@0: TVerdict verdict = EPass; sl@0: sl@0: TMMFPrioritySettings settings; sl@0: TInt error = KErrNone; sl@0: RMMFController controller; sl@0: sl@0: settings.iPriority = 1; sl@0: settings.iPref = EMdaPriorityPreferenceTime; sl@0: settings.iState = EMMFStateIdle; sl@0: sl@0: // Open a Custom Controller sl@0: error = controller.Open(KTstControllerUid,settings); sl@0: INFO_PRINTF2(_L("Controller Open: %d"), error); sl@0: TUint32 expectedStackSize; sl@0: sl@0: #ifndef __WINSCW__ sl@0: //on hardware we expect the stack size to be set to what is in the resource file sl@0: expectedStackSize=0x4000; sl@0: #else sl@0: //on emulator stack size is 1MB due to it being on a single process / windows thread sl@0: expectedStackSize=0x100000; sl@0: #endif sl@0: sl@0: TUint32 stksz=0; sl@0: if (!error) sl@0: { sl@0: INFO_PRINTF1(_L("Calling CustomCommandSync")); sl@0: TUid uid = {KMmfTestControllerUid}; sl@0: TMMFMessageDestination handleInfo(uid); sl@0: TMMFMessageDestinationPckg messageDest(handleInfo); sl@0: TPckg stacksize(0); sl@0: sl@0: error = controller.CustomCommandSync(messageDest, KFuncThreadStackSize, KNullDesC8, KNullDesC8,stacksize); sl@0: stksz=stacksize(); sl@0: } sl@0: sl@0: if(stksz!=expectedStackSize || error) sl@0: { sl@0: verdict=EFail; sl@0: } sl@0: INFO_PRINTF2(_L("Stack Size is set to %d"),stksz); sl@0: INFO_PRINTF1(_L("Closing Controller")); sl@0: controller.Close(); sl@0: sl@0: INFO_PRINTF1(_L("Setting UHEAP_MARKEND")); sl@0: __MM_HEAP_MARKEND; sl@0: sl@0: return verdict; sl@0: } sl@0: