1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/mmlibs/mmfw/tsrc/mmfunittest/ctlfrm/TSU_MMF_CTLFRM.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,10165 @@
1.4 +// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// NB: these includes are added here to pull in includes from MmfControllerFramework.h
1.18 +// They are placed here as we are messing aroung with private (see below) to allow access to
1.19 +// the private member iSubThread in RMMFControllerProxy for test 152 without resorting to friend
1.20 +// classes. This was done to test INC038123.
1.21 +// +++++++++ Start of playing around with private block. +++++++++++++
1.22 +//
1.23 +//
1.24 +
1.25 +#include <e32base.h>
1.26 +#include <e32std.h>
1.27 +#include <mmf/common/mmfutilities.h>
1.28 +#include <mmf/common/mmfcontrollerframeworkbase.h>
1.29 +
1.30 +#define private public
1.31 +#include <mmf/common/mmfcontrollerframework.h>
1.32 +#undef private
1.33 +//++++++++ End of playing around with private block. +++++++++++
1.34 +
1.35 +
1.36 +// Test system includes
1.37 +#include <testframework.h>
1.38 +
1.39 +#include <mmf/plugin/mmfformatimplementationuids.hrh>
1.40 +#include <mmf/plugin/mmfcontrollerimplementationuids.hrh>
1.41 +
1.42 +#include "CmmfTestControllerUIDs.hrh"
1.43 +#include "cmmftestterminationcontrolleruids.hrh"
1.44 +#include "TSU_MMF_CTLFRM.h"
1.45 +#include "TSU_MMF_CTLFRMSuite.h"
1.46 +
1.47 +//const TUid KMmfUidControllerAudioUid = {KMmfUidControllerAudio}; // EABI warning removal
1.48 +const TUid KTstControllerUid = {KMmfTestControllerUid}; //(0x101F88D8)
1.49 +const TUid KTestDataSourceUid = {KMmfTestDataSourceUid};
1.50 +const TUid KTestDataSourceBUid = {KMmfTestDataSourceBUid};
1.51 +const TUid KTestDataSinkUid = {KMmfTestDataSinkUid};
1.52 +const TUid KTestDataSinkBUid = {KMmfTestDataSinkBUid};
1.53 +const TUid KTestTerminationControllerUid = {KMmfTestTerminationControllerUid};
1.54 +
1.55 +// Expected results in Test 0140s.
1.56 +// 'KMmfUidControllerAudio' is the preferred Controller used in these tests
1.57 +const TUid KExpectedMediaIDUid140 = {0x101F7D8D};//{0x101F5D07};
1.58 +
1.59 +const TUid KMmfUidFormatPAVReadUid = {KMmfUidFormatPAVRead};
1.60 +const TUid KMmfUidFormatFAWReadUid = {KMmfUidFormatFAWRead};
1.61 +const TUid KMmfUidFormatAIReadUid = {KMmfUidFormatAIRead};
1.62 +const TUid KMmfUidFormatMBEGReadUid = {KMmfUidFormatMBEGRead};
1.63 +
1.64 +const TUid KMmfUidFormatPAVWriteUid = {KMmfUidFormatPAVWrite};
1.65 +const TUid KMmfUidFormatFAWWriteUid = {KMmfUidFormatFAWWrite};
1.66 +const TUid KMmfUidFormatAIWriteUid = {KMmfUidFormatAIWrite};
1.67 +
1.68 +const TUid KMmfUidPluginInterfaceFormatEncodeUid = {KMmfUidPluginInterfaceFormatEncode};
1.69 +const TUid KMmfUidPluginInterfaceFormatDecodeUid = {KMmfUidPluginInterfaceFormatDecode};
1.70 +
1.71 +_LIT(KTestControllerSupplier, "TSU_MMF_CTLFRM");
1.72 +
1.73 +// Used as dummy data to pass to sources, sinks etc
1.74 +_LIT8(KInitData,"TEST");
1.75 +
1.76 +/**
1.77 + *
1.78 + * CTestStepSelfTest constructor
1.79 + *
1.80 + * @xxxx
1.81 + *
1.82 + */
1.83 +CTestStep_MMF_CTLFRM::CTestStep_MMF_CTLFRM()
1.84 + {
1.85 + }
1.86 +
1.87 +/**
1.88 + *
1.89 + * CTestStepSelfTest destructor
1.90 + *
1.91 + * @xxxx
1.92 + *
1.93 + */
1.94 +CTestStep_MMF_CTLFRM::~CTestStep_MMF_CTLFRM()
1.95 + {
1.96 + }
1.97 +
1.98 +TVerdict CTestStep_MMF_CTLFRM::DoTestStepPreambleL()
1.99 + {
1.100 + TVerdict verdict = EPass;
1.101 +
1.102 + return verdict;
1.103 + }
1.104 +
1.105 +TVerdict CTestStep_MMF_CTLFRM::DoTestStepPostambleL()
1.106 + {
1.107 + TVerdict verdict = EPass;
1.108 +
1.109 + return verdict;
1.110 + }
1.111 +
1.112 +
1.113 +CTestStep_MMF_CTLFRM_U_0001::CTestStep_MMF_CTLFRM_U_0001()
1.114 + /** Constructor
1.115 + */
1.116 + {
1.117 + // store the name of this test case
1.118 + // this is the name that is used by the script file
1.119 + // Each test step initialises it's own name
1.120 + iTestStepName = _L("MM-MMF-CTLFRM-U-0001");
1.121 +
1.122 +
1.123 + }
1.124 +
1.125 +
1.126 +TVerdict CTestStep_MMF_CTLFRM_U_0001::DoTestStepL( void )
1.127 +/**
1.128 + * Call the RMMFController::Open(..) with the parameters specified,
1.129 + * varify the return value is 0. Call the RMMFController::Close() on the Custom Controller.
1.130 + * Varify 'error' is 0.
1.131 +
1.132 + * Use case: N/A
1.133 + * @test Req. under test REQ172.5.1 REQ172.5.2 REQ172.5.5.12
1.134 + */
1.135 + {
1.136 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.137 + __MM_HEAP_MARK;
1.138 +
1.139 + TVerdict verdict = EPass;
1.140 +
1.141 + TMMFPrioritySettings settings;
1.142 + TInt error = KErrNone;
1.143 + RMMFController controller;
1.144 +
1.145 + settings.iPriority = 1;
1.146 + settings.iPref = EMdaPriorityPreferenceTime;
1.147 + settings.iState = EMMFStateIdle;
1.148 +
1.149 + INFO_PRINTF1(_L("Attempting to Open Controller"));
1.150 +
1.151 + // Open a Custom Controller
1.152 + error = controller.Open(KTstControllerUid,settings);
1.153 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.154 +
1.155 + if (error)
1.156 + {
1.157 + verdict = EFail;
1.158 + }
1.159 +
1.160 + INFO_PRINTF1(_L("Closing Controller"));
1.161 + controller.Close();
1.162 +
1.163 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.164 + __MM_HEAP_MARKEND;
1.165 +
1.166 + return verdict;
1.167 + }
1.168 +
1.169 +
1.170 +//------------------------------------------------------------------
1.171 +
1.172 +
1.173 +CTestStep_MMF_CTLFRM_U_0007::CTestStep_MMF_CTLFRM_U_0007()
1.174 + /** Constructor
1.175 + */
1.176 + {
1.177 + // store the name of this test case
1.178 + // this is the name that is used by the script file
1.179 + // Each test step initialises it's own name
1.180 + iTestStepName = _L("MM-MMF-CTLFRM-U-0007");
1.181 +
1.182 +
1.183 + }
1.184 +
1.185 +
1.186 +TVerdict CTestStep_MMF_CTLFRM_U_0007::DoTestStepL( void )
1.187 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.188 + * varify the return value is 0. Instantiate a Custom DataSource Object and add it to
1.189 + * the Custom Controller using RMMFController::AddDataSource(..), with the specified
1.190 + * parameters. Call Custom Command 'KLogFunction' and varify the text value returned is
1.191 + * equal to the specifed text in Test Step. Call the RMMFController::Close() on the Custom
1.192 + * Controller. Varify 'error' is 0.
1.193 +
1.194 + * Use case: N/A
1.195 + * @test Req. under test REQ172.5.5 REQ172.5.5.1
1.196 + */
1.197 + {
1.198 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.199 + __MM_HEAP_MARK;
1.200 +
1.201 + TVerdict verdict = EPass;
1.202 + _LIT8(KExpectedResult, "AddDataSourceL Called");
1.203 +
1.204 + TMMFPrioritySettings settings;
1.205 + TInt error = KErrNone;
1.206 + RMMFController controller;
1.207 +
1.208 + settings.iPriority = 1;
1.209 + settings.iPref = EMdaPriorityPreferenceTime;
1.210 + settings.iState = EMMFStateIdle;
1.211 +
1.212 + error = controller.Open(KTstControllerUid,settings);
1.213 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.214 +
1.215 + const TDesC8& initData = KInitData;
1.216 +
1.217 + // Add Source
1.218 + INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller"));
1.219 + if (!error)
1.220 + {
1.221 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.222 + error = controller.AddDataSource(KTestDataSourceUid, initData);
1.223 + error = controller.AddDataSource(KTestDataSourceBUid, initData);
1.224 + }
1.225 +
1.226 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.227 +
1.228 + //------------------------------------//
1.229 + // Getting Log from Custom Controller //
1.230 + //------------------------------------//
1.231 + if (!error)
1.232 + {
1.233 + INFO_PRINTF1(_L("Getting Log"));
1.234 +
1.235 + TBuf8<64> memFunctionText;
1.236 +
1.237 + TUid uid = {KMmfTestControllerUid};
1.238 + TMMFMessageDestination handleInfo(uid);
1.239 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.240 +
1.241 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.242 +
1.243 + TBuf<64> memFunctionText16;
1.244 + memFunctionText16.Copy(memFunctionText);
1.245 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.246 +
1.247 +
1.248 + if (memFunctionText != KExpectedResult)
1.249 + {
1.250 + verdict = EFail;
1.251 + }
1.252 +
1.253 + }
1.254 + //------------------------------------//
1.255 +
1.256 +
1.257 + INFO_PRINTF1(_L("Closing Controller"));
1.258 + controller.Close();
1.259 +
1.260 + if (error)
1.261 + {
1.262 + verdict = EFail;
1.263 + }
1.264 +
1.265 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.266 + __MM_HEAP_MARKEND;
1.267 +
1.268 + return verdict;
1.269 + }
1.270 +
1.271 +//------------------------------------------------------------------
1.272 +
1.273 +CTestStep_MMF_CTLFRM_U_0008::CTestStep_MMF_CTLFRM_U_0008()
1.274 + /** Constructor
1.275 + */
1.276 + {
1.277 + // store the name of this test case
1.278 + // this is the name that is used by the script file
1.279 + // Each test step initialises it's own name
1.280 + iTestStepName = _L("MM-MMF-CTLFRM-U-0008");
1.281 +
1.282 +
1.283 + }
1.284 +
1.285 +TVerdict CTestStep_MMF_CTLFRM_U_0008::DoTestStepL( void )
1.286 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.287 + * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the
1.288 + * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters.
1.289 + * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.290 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.291 + * Varify 'error' is 0.
1.292 +
1.293 + * Use case: N/A
1.294 + * @test Req. under test REQ172.5.5 REQ172.5.5.3
1.295 + */
1.296 + {
1.297 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.298 + __MM_HEAP_MARK;
1.299 +
1.300 + TVerdict verdict = EPass;
1.301 + _LIT8(KExpectedResult, "AddDataSinkL Called");
1.302 +
1.303 + TMMFPrioritySettings settings;
1.304 + TInt error = KErrNone;
1.305 + RMMFController controller;
1.306 +
1.307 + settings.iPriority = 1;
1.308 + settings.iPref = EMdaPriorityPreferenceTime;
1.309 + settings.iState = EMMFStateIdle;
1.310 +
1.311 + error = controller.Open(KTstControllerUid,settings);
1.312 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.313 +
1.314 + const TDesC8& initData = KInitData;
1.315 +
1.316 + // Add Sink
1.317 + if (!error)
1.318 + {
1.319 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.320 + error = controller.AddDataSink(KTestDataSinkUid, initData);
1.321 + error = controller.AddDataSink(KTestDataSinkBUid, initData);
1.322 + }
1.323 +
1.324 +
1.325 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.326 +
1.327 + //------------------------------------//
1.328 + // Getting Log from Custom Controller //
1.329 + //------------------------------------//
1.330 + if (!error)
1.331 + {
1.332 + INFO_PRINTF1(_L("Getting Log"));
1.333 +
1.334 + TBuf8<64> memFunctionText;
1.335 +
1.336 + TUid uid = {KMmfTestControllerUid};
1.337 + TMMFMessageDestination handleInfo(uid);
1.338 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.339 +
1.340 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.341 +
1.342 + TBuf<64> memFunctionText16;
1.343 + memFunctionText16.Copy(memFunctionText);
1.344 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.345 +
1.346 + if (memFunctionText != KExpectedResult)
1.347 + {
1.348 + verdict = EFail;
1.349 + }
1.350 +
1.351 + }
1.352 + //------------------------------------//
1.353 +
1.354 + INFO_PRINTF1(_L("Closing Controller"));
1.355 + controller.Close();
1.356 +
1.357 + if (error)
1.358 + {
1.359 + verdict = EFail;
1.360 + }
1.361 +
1.362 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.363 + __MM_HEAP_MARKEND;
1.364 +
1.365 + return verdict;
1.366 + }
1.367 +
1.368 +//------------------------------------------------------------------
1.369 +
1.370 +CTestStep_MMF_CTLFRM_U_0009::CTestStep_MMF_CTLFRM_U_0009()
1.371 + /** Constructor
1.372 + */
1.373 + {
1.374 + // store the name of this test case
1.375 + // this is the name that is used by the script file
1.376 + // Each test step initialises it's own name
1.377 + iTestStepName = _L("MM-MMF-CTLFRM-U-0009");
1.378 +
1.379 +
1.380 + }
1.381 +
1.382 +TVerdict CTestStep_MMF_CTLFRM_U_0009::DoTestStepL( void )
1.383 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.384 + * varify the return value is 0. Instantiate a Custom DataSource Object and add it to the
1.385 + * Custom Controller using RMMFController::AddDataSource(..), with the specified parameters.
1.386 + * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.387 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.388 + * Varify 'error' is 0.
1.389 +
1.390 + * Use case: N/A
1.391 + * @test Req. under test REQ172.5.5 REQ172.5.5.1
1.392 + */
1.393 + {
1.394 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.395 + __MM_HEAP_MARK;
1.396 +
1.397 + TVerdict verdict = EPass;
1.398 + _LIT8(KExpectedResult, "AddDataSourceL Called");
1.399 +
1.400 + TMMFPrioritySettings settings;
1.401 + TInt error = KErrNone;
1.402 + RMMFController controller;
1.403 +
1.404 + settings.iPriority = 1;
1.405 + settings.iPref = EMdaPriorityPreferenceTime;
1.406 + settings.iState = EMMFStateIdle;
1.407 +
1.408 + error = controller.Open(KTstControllerUid,settings);
1.409 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.410 +
1.411 + const TDesC8& initData = KInitData;
1.412 +
1.413 + TMMFMessageDestination sourceHandlePtr;
1.414 + TMMFMessageDestination& sourceHandle = sourceHandlePtr;
1.415 +
1.416 + // Add Source
1.417 + INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller"));
1.418 + if (!error)
1.419 + {
1.420 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.421 + error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle);
1.422 + }
1.423 +
1.424 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.425 +
1.426 + //------------------------------------//
1.427 + // Getting Log from Custom Controller //
1.428 + //------------------------------------//
1.429 + if (!error)
1.430 + {
1.431 + INFO_PRINTF1(_L("Getting Log"));
1.432 +
1.433 + TBuf8<64> memFunctionText;
1.434 +
1.435 + TUid uid = {KMmfTestControllerUid};
1.436 + TMMFMessageDestination handleInfo(uid);
1.437 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.438 +
1.439 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.440 +
1.441 + TBuf<64> memFunctionText16;
1.442 + memFunctionText16.Copy(memFunctionText);
1.443 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.444 +
1.445 + if (memFunctionText != KExpectedResult)
1.446 + {
1.447 + verdict = EFail;
1.448 + }
1.449 +
1.450 + }
1.451 + //------------------------------------//
1.452 +
1.453 + INFO_PRINTF1(_L("Closing Controller"));
1.454 + controller.Close();
1.455 +
1.456 + if (error)
1.457 + {
1.458 + verdict = EFail;
1.459 + }
1.460 +
1.461 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.462 + __MM_HEAP_MARKEND;
1.463 +
1.464 + return verdict;
1.465 + }
1.466 +
1.467 +//------------------------------------------------------------------
1.468 +
1.469 +CTestStep_MMF_CTLFRM_U_0010::CTestStep_MMF_CTLFRM_U_0010()
1.470 + /** Constructor
1.471 + */
1.472 + {
1.473 + // store the name of this test case
1.474 + // this is the name that is used by the script file
1.475 + // Each test step initialises it's own name
1.476 + iTestStepName = _L("MM-MMF-CTLFRM-U-0010");
1.477 +
1.478 +
1.479 + }
1.480 +
1.481 +TVerdict CTestStep_MMF_CTLFRM_U_0010::DoTestStepL( void )
1.482 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.483 + * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the
1.484 + * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters.
1.485 + * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.486 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.487 + * Varify 'error' is 0.
1.488 +
1.489 + * Use case: N/A
1.490 + * @test Req. under test REQ172.5.5 REQ172.5.5.3
1.491 + */
1.492 + {
1.493 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.494 + __MM_HEAP_MARK;
1.495 +
1.496 + TVerdict verdict = EPass;
1.497 + _LIT8(KExpectedResult, "AddDataSinkL Called");
1.498 +
1.499 + TMMFPrioritySettings settings;
1.500 + TInt error = KErrNone;
1.501 + RMMFController controller;
1.502 +
1.503 + settings.iPriority = 1;
1.504 + settings.iPref = EMdaPriorityPreferenceTime;
1.505 + settings.iState = EMMFStateIdle;
1.506 +
1.507 + error = controller.Open(KTstControllerUid,settings);
1.508 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.509 +
1.510 + const TDesC8& initData = KInitData;
1.511 + TMMFMessageDestination sinkHandlePtr;
1.512 + TMMFMessageDestination& sinkHandle = sinkHandlePtr;
1.513 +
1.514 + // Add Sink
1.515 + if (!error)
1.516 + {
1.517 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.518 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle);
1.519 + }
1.520 +
1.521 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.522 +
1.523 + //------------------------------------//
1.524 + // Getting Log from Custom Controller //
1.525 + //------------------------------------//
1.526 + if (!error)
1.527 + {
1.528 + INFO_PRINTF1(_L("Getting Log"));
1.529 +
1.530 + TBuf8<64> memFunctionText;
1.531 +
1.532 + TUid uid = {KMmfTestControllerUid};
1.533 + TMMFMessageDestination handleInfo(uid);
1.534 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.535 +
1.536 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.537 +
1.538 + TBuf<64> memFunctionText16;
1.539 + memFunctionText16.Copy(memFunctionText);
1.540 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.541 +
1.542 + if (memFunctionText != KExpectedResult)
1.543 + {
1.544 + verdict = EFail;
1.545 + }
1.546 +
1.547 + }
1.548 + //------------------------------------//
1.549 +
1.550 + INFO_PRINTF1(_L("Closing Controller"));
1.551 + controller.Close();
1.552 +
1.553 + if (error)
1.554 + {
1.555 + verdict = EFail;
1.556 + }
1.557 +
1.558 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.559 + __MM_HEAP_MARKEND;
1.560 +
1.561 + return verdict;
1.562 + }
1.563 +
1.564 +
1.565 +//------------------------------------------------------------------
1.566 +
1.567 +CTestStep_MMF_CTLFRM_U_0011::CTestStep_MMF_CTLFRM_U_0011()
1.568 + /** Constructor
1.569 + */
1.570 + {
1.571 + // store the name of this test case
1.572 + // this is the name that is used by the script file
1.573 + // Each test step initialises it's own name
1.574 + iTestStepName = _L("MM-MMF-CTLFRM-U-0011");
1.575 +
1.576 +
1.577 + }
1.578 +
1.579 +TVerdict CTestStep_MMF_CTLFRM_U_0011::DoTestStepL( void )
1.580 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.581 + * varify the return value is 0. Instantiate a Custom DataSource Object and add it to the
1.582 + * Custom Controller using RMMFController::AddDataSource(..), with the specified parameters.
1.583 + * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.584 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.585 + * Varify 'error' is 0.
1.586 +
1.587 + * Use case: N/A
1.588 + * @test Req. under test REQ172.5.5 REQ172.5.5.2
1.589 + */
1.590 + {
1.591 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.592 + __MM_HEAP_MARK;
1.593 +
1.594 + TVerdict verdict = EPass;
1.595 + _LIT8(KExpectedResult,"RemoveDataSourceL Called");
1.596 +
1.597 + TMMFPrioritySettings settings;
1.598 + TInt error = KErrNone;
1.599 + RMMFController controller;
1.600 +
1.601 + settings.iPriority = 1;
1.602 + settings.iPref = EMdaPriorityPreferenceTime;
1.603 + settings.iState = EMMFStateIdle;
1.604 +
1.605 + error = controller.Open(KTstControllerUid,settings);
1.606 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.607 +
1.608 + const TDesC8& initData = KInitData;
1.609 +
1.610 + TMMFMessageDestination sourceHandlePtr;
1.611 + TMMFMessageDestination& sourceHandle = sourceHandlePtr;
1.612 +
1.613 + // Add and Remove Source
1.614 + INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller"));
1.615 + if (!error)
1.616 + {
1.617 + error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle);
1.618 + INFO_PRINTF1(_L("API TEST: Calling RemoveDataSource"));
1.619 + error = controller.RemoveDataSource(sourceHandle);
1.620 + }
1.621 +
1.622 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.623 +
1.624 + //------------------------------------//
1.625 + // Getting Log from Custom Controller //
1.626 + //------------------------------------//
1.627 + if (!error)
1.628 + {
1.629 + INFO_PRINTF1(_L("Getting Log"));
1.630 +
1.631 + TBuf8<64> memFunctionText;
1.632 +
1.633 + TUid uid = {KMmfTestControllerUid};
1.634 + TMMFMessageDestination handleInfo(uid);
1.635 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.636 +
1.637 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.638 +
1.639 + TBuf<64> memFunctionText16;
1.640 + memFunctionText16.Copy(memFunctionText);
1.641 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.642 +
1.643 + if (memFunctionText != KExpectedResult)
1.644 + {
1.645 + verdict = EFail;
1.646 + }
1.647 +
1.648 + }
1.649 + //------------------------------------//
1.650 +
1.651 + INFO_PRINTF1(_L("Closing Controller"));
1.652 + controller.Close();
1.653 +
1.654 + if (error)
1.655 + {
1.656 + verdict = EFail;
1.657 + }
1.658 +
1.659 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.660 + __MM_HEAP_MARKEND;
1.661 +
1.662 + return verdict;
1.663 + }
1.664 +
1.665 +
1.666 +//------------------------------------------------------------------
1.667 +
1.668 +CTestStep_MMF_CTLFRM_U_0012::CTestStep_MMF_CTLFRM_U_0012()
1.669 + /** Constructor
1.670 + */
1.671 + {
1.672 + // store the name of this test case
1.673 + // this is the name that is used by the script file
1.674 + // Each test step initialises it's own name
1.675 + iTestStepName = _L("MM-MMF-CTLFRM-U-0012");
1.676 +
1.677 +
1.678 + }
1.679 +
1.680 +TVerdict CTestStep_MMF_CTLFRM_U_0012::DoTestStepL( void )
1.681 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.682 + * varify the return value is 0. Instantiate a Custom DataSink Object and add it to the
1.683 + * Custom Controller using RMMFController::AddDataSink(..), with the specified parameters.
1.684 + * Call Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.685 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.686 + * Varify 'error' is 0.
1.687 +
1.688 + * Use case: N/A
1.689 + * @test Req. under test REQ172.5.5 REQ172.5.5.4
1.690 + */
1.691 + {
1.692 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.693 + __MM_HEAP_MARK;
1.694 +
1.695 + TVerdict verdict = EPass;
1.696 + _LIT8(KExpectedResult, "RemoveDataSinkL Called");
1.697 +
1.698 + TMMFPrioritySettings settings;
1.699 + TInt error = KErrNone;
1.700 + RMMFController controller;
1.701 +
1.702 + settings.iPriority = 1;
1.703 + settings.iPref = EMdaPriorityPreferenceTime;
1.704 + settings.iState = EMMFStateIdle;
1.705 +
1.706 + error = controller.Open(KTstControllerUid,settings);
1.707 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.708 +
1.709 + const TDesC8& initData = KInitData;
1.710 + TMMFMessageDestination sinkHandlePtr;
1.711 + TMMFMessageDestination& sinkHandle = sinkHandlePtr;
1.712 +
1.713 + // Add and Remove Sink
1.714 + if (!error)
1.715 + {
1.716 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle);
1.717 + INFO_PRINTF1(_L("API TEST: Calling RemoveDataSink"));
1.718 + error = controller.RemoveDataSink(sinkHandle);
1.719 + }
1.720 +
1.721 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.722 +
1.723 + //------------------------------------//
1.724 + // Getting Log from Custom Controller //
1.725 + //------------------------------------//
1.726 + if (!error)
1.727 + {
1.728 + INFO_PRINTF1(_L("Getting Log"));
1.729 +
1.730 + TBuf8<64> memFunctionText;
1.731 +
1.732 + TUid uid = {KMmfTestControllerUid};
1.733 + TMMFMessageDestination handleInfo(uid);
1.734 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.735 +
1.736 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.737 +
1.738 + TBuf<64> memFunctionText16;
1.739 + memFunctionText16.Copy(memFunctionText);
1.740 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.741 +
1.742 + if (memFunctionText != KExpectedResult)
1.743 + {
1.744 + verdict = EFail;
1.745 + }
1.746 +
1.747 + }
1.748 + //------------------------------------//
1.749 +
1.750 + INFO_PRINTF1(_L("Closing Controller"));
1.751 + controller.Close();
1.752 +
1.753 + if (error)
1.754 + {
1.755 + verdict = EFail;
1.756 + }
1.757 +
1.758 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.759 + __MM_HEAP_MARKEND;
1.760 +
1.761 + return verdict;
1.762 + }
1.763 +
1.764 +
1.765 +//------------------------------------------------------------------
1.766 +
1.767 +CTestStep_MMF_CTLFRM_U_0013::CTestStep_MMF_CTLFRM_U_0013()
1.768 + /** Constructor
1.769 + */
1.770 + {
1.771 + // store the name of this test case
1.772 + // this is the name that is used by the script file
1.773 + // Each test step initialises it's own name
1.774 + iTestStepName = _L("MM-MMF-CTLFRM-U-0013");
1.775 +
1.776 +
1.777 + }
1.778 +
1.779 +TVerdict CTestStep_MMF_CTLFRM_U_0013::DoTestStepL( void )
1.780 +/** Call the RMMFController::Open(..) (with the parameters from test TSU_MMF_CTLFRM_U_0001),
1.781 + * varify the return value is 0. Call RMMFController Method specified (in API Method Calls
1.782 + * and Parameters) and varify the 'error' is 0. Follow this by calling the Custom Command
1.783 + * 'KLogFunction' and varify the text value returned is equal to the specifed text in
1.784 + * Test Step. Call the RMMFController::Close() on the Custom Controller. Varify 'error'
1.785 + * is zero.
1.786 +
1.787 + * Use case: N/A
1.788 + * @test Req. under test No Requirement Found
1.789 + */
1.790 + {
1.791 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.792 + __MM_HEAP_MARK;
1.793 +
1.794 + TVerdict verdict = EPass;
1.795 + _LIT8(KExpectedResult,"ResetL Called");
1.796 +
1.797 + TMMFPrioritySettings settings;
1.798 + TInt error = KErrNone;
1.799 + RMMFController controller;
1.800 +
1.801 + settings.iPriority = 1;
1.802 + settings.iPref = EMdaPriorityPreferenceTime;
1.803 + settings.iState = EMMFStateIdle;
1.804 +
1.805 + error = controller.Open(KTstControllerUid,settings);
1.806 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.807 +
1.808 + // Reset Controller (API being tested)
1.809 + if (!error)
1.810 + {
1.811 + INFO_PRINTF1(_L("API TEST: Calling Reset"));
1.812 + error = controller.Reset();
1.813 + }
1.814 +
1.815 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.816 +
1.817 + //------------------------------------//
1.818 + // Getting Log from Custom Controller //
1.819 + //------------------------------------//
1.820 + if (!error)
1.821 + {
1.822 + INFO_PRINTF1(_L("Getting Log"));
1.823 +
1.824 + TBuf8<64> memFunctionText;
1.825 +
1.826 + TUid uid = {KMmfTestControllerUid};
1.827 + TMMFMessageDestination handleInfo(uid);
1.828 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.829 +
1.830 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.831 +
1.832 + TBuf<64> memFunctionText16;
1.833 + memFunctionText16.Copy(memFunctionText);
1.834 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.835 +
1.836 + if (memFunctionText != KExpectedResult)
1.837 + {
1.838 + verdict = EFail;
1.839 + }
1.840 +
1.841 + }
1.842 + //------------------------------------//
1.843 +
1.844 + INFO_PRINTF1(_L("Closing Controller"));
1.845 + controller.Close();
1.846 +
1.847 + if (error)
1.848 + {
1.849 + verdict = EFail;
1.850 + }
1.851 +
1.852 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.853 + __MM_HEAP_MARKEND;
1.854 +
1.855 + return verdict;
1.856 + }
1.857 +
1.858 +
1.859 +//------------------------------------------------------------------
1.860 +
1.861 +CTestStep_MMF_CTLFRM_U_0014::CTestStep_MMF_CTLFRM_U_0014()
1.862 + /** Constructor
1.863 + */
1.864 + {
1.865 + // store the name of this test case
1.866 + // this is the name that is used by the script file
1.867 + // Each test step initialises it's own name
1.868 + iTestStepName = _L("MM-MMF-CTLFRM-U-0014");
1.869 +
1.870 +
1.871 + }
1.872 +
1.873 +TVerdict CTestStep_MMF_CTLFRM_U_0014::DoTestStepL( void )
1.874 +/** As TSU_MMF_CTLFRM_U_0013
1.875 + * ::Prime()
1.876 + * Use case: N/A
1.877 + * @test Req. under test REQ172.5.5 REQ172.5.5.5
1.878 + */
1.879 + {
1.880 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.881 + __MM_HEAP_MARK;
1.882 +
1.883 + TVerdict verdict = EPass;
1.884 + _LIT8(KExpectedResult, "PrimeL Called");
1.885 +
1.886 + TMMFPrioritySettings settings;
1.887 + TInt error = KErrNone;
1.888 + RMMFController controller;
1.889 +
1.890 + settings.iPriority = 1;
1.891 + settings.iPref = EMdaPriorityPreferenceTime;
1.892 + settings.iState = EMMFStateIdle;
1.893 +
1.894 + error = controller.Open(KTstControllerUid,settings);
1.895 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.896 +
1.897 + // Prime Controller
1.898 + if (!error)
1.899 + {
1.900 + INFO_PRINTF1(_L("API TEST: Calling Prime"));
1.901 + error = controller.Prime();
1.902 + }
1.903 +
1.904 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.905 +
1.906 + //------------------------------------//
1.907 + // Getting Log from Custom Controller //
1.908 + //------------------------------------//
1.909 + if (!error)
1.910 + {
1.911 + INFO_PRINTF1(_L("Getting Log"));
1.912 +
1.913 + TBuf8<64> memFunctionText;
1.914 +
1.915 + TUid uid = {KMmfTestControllerUid};
1.916 + TMMFMessageDestination handleInfo(uid);
1.917 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.918 +
1.919 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.920 +
1.921 + TBuf<64> memFunctionText16;
1.922 + memFunctionText16.Copy(memFunctionText);
1.923 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.924 +
1.925 + if (memFunctionText != KExpectedResult)
1.926 + {
1.927 + verdict = EFail;
1.928 + }
1.929 +
1.930 + }
1.931 + //------------------------------------//
1.932 +
1.933 + INFO_PRINTF1(_L("Closing Controller"));
1.934 + controller.Close();
1.935 +
1.936 + if (error)
1.937 + {
1.938 + verdict = EFail;
1.939 + }
1.940 +
1.941 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.942 + __MM_HEAP_MARKEND;
1.943 +
1.944 + return verdict;
1.945 + }
1.946 +
1.947 +
1.948 +//------------------------------------------------------------------
1.949 +
1.950 +CTestStep_MMF_CTLFRM_U_0015::CTestStep_MMF_CTLFRM_U_0015()
1.951 + /** Constructor
1.952 + */
1.953 + {
1.954 + // store the name of this test case
1.955 + // this is the name that is used by the script file
1.956 + // Each test step initialises it's own name
1.957 + iTestStepName = _L("MM-MMF-CTLFRM-U-0015");
1.958 +
1.959 +
1.960 + }
1.961 +
1.962 +TVerdict CTestStep_MMF_CTLFRM_U_0015::DoTestStepL( void )
1.963 +/** As TSU_MMF_CTLFRM_U_0013
1.964 + * ::Play()
1.965 + * Use case: N/A
1.966 + * @test Req. under test REQ172.5.5 REQ172.5.5.6
1.967 + */
1.968 + {
1.969 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.970 + __MM_HEAP_MARK;
1.971 +
1.972 + TVerdict verdict = EPass;
1.973 + _LIT8(KExpectedResult, "PlayL Called");
1.974 +
1.975 + TMMFPrioritySettings settings;
1.976 + TInt error = KErrNone;
1.977 + RMMFController controller;
1.978 +
1.979 + settings.iPriority = 1;
1.980 + settings.iPref = EMdaPriorityPreferenceTime;
1.981 + settings.iState = EMMFStateIdle;
1.982 +
1.983 + error = controller.Open(KTstControllerUid,settings);
1.984 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.985 +
1.986 + // Play Controller
1.987 + if (!error)
1.988 + {
1.989 + INFO_PRINTF1(_L("Calling Play"));
1.990 + error = controller.Play();
1.991 + }
1.992 +
1.993 + INFO_PRINTF2(_L("API TEST: Controller Status: %d"), error);
1.994 +
1.995 + //------------------------------------//
1.996 + // Getting Log from Custom Controller //
1.997 + //------------------------------------//
1.998 + if (!error)
1.999 + {
1.1000 + INFO_PRINTF1(_L("Getting Log"));
1.1001 +
1.1002 + TBuf8<64> memFunctionText;
1.1003 +
1.1004 + TUid uid = {KMmfTestControllerUid};
1.1005 + TMMFMessageDestination handleInfo(uid);
1.1006 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1007 +
1.1008 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1009 +
1.1010 + TBuf<64> memFunctionText16;
1.1011 + memFunctionText16.Copy(memFunctionText);
1.1012 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1013 +
1.1014 + if (memFunctionText != KExpectedResult)
1.1015 + {
1.1016 + verdict = EFail;
1.1017 + }
1.1018 +
1.1019 + }
1.1020 + //------------------------------------//
1.1021 +
1.1022 + INFO_PRINTF1(_L("Closing Controller"));
1.1023 + controller.Close();
1.1024 +
1.1025 + if (error)
1.1026 + {
1.1027 + verdict = EFail;
1.1028 + }
1.1029 +
1.1030 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1031 + __MM_HEAP_MARKEND;
1.1032 +
1.1033 + return verdict;
1.1034 + }
1.1035 +
1.1036 +
1.1037 +//------------------------------------------------------------------
1.1038 +
1.1039 +CTestStep_MMF_CTLFRM_U_0016::CTestStep_MMF_CTLFRM_U_0016()
1.1040 + /** Constructor
1.1041 + */
1.1042 + {
1.1043 + // store the name of this test case
1.1044 + // this is the name that is used by the script file
1.1045 + // Each test step initialises it's own name
1.1046 + iTestStepName = _L("MM-MMF-CTLFRM-U-0016");
1.1047 +
1.1048 +
1.1049 + }
1.1050 +
1.1051 +TVerdict CTestStep_MMF_CTLFRM_U_0016::DoTestStepL( void )
1.1052 +/** As TSU_MMF_CTLFRM_U_0013
1.1053 + * ::Pause()
1.1054 + * Use case: N/A
1.1055 + * @test Req. under test REQ172.5.5 REQ172.5.5.8
1.1056 + */
1.1057 + {
1.1058 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1059 + __MM_HEAP_MARK;
1.1060 +
1.1061 + TVerdict verdict = EPass;
1.1062 + _LIT8(KExpectedResult, "PauseL Called");
1.1063 +
1.1064 + TMMFPrioritySettings settings;
1.1065 + TInt error = KErrNone;
1.1066 + RMMFController controller;
1.1067 +
1.1068 + settings.iPriority = 1;
1.1069 + settings.iPref = EMdaPriorityPreferenceTime;
1.1070 + settings.iState = EMMFStateIdle;
1.1071 +
1.1072 + error = controller.Open(KTstControllerUid,settings);
1.1073 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1074 +
1.1075 + // Pause Controller
1.1076 + if (!error)
1.1077 + {
1.1078 + INFO_PRINTF1(_L("API TEST: Calling Pause"));
1.1079 + error = controller.Pause();
1.1080 + }
1.1081 +
1.1082 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.1083 +
1.1084 + //------------------------------------//
1.1085 + // Getting Log from Custom Controller //
1.1086 + //------------------------------------//
1.1087 + if (!error)
1.1088 + {
1.1089 + INFO_PRINTF1(_L("Getting Log"));
1.1090 +
1.1091 + TBuf8<64> memFunctionText;
1.1092 +
1.1093 + TUid uid = {KMmfTestControllerUid};
1.1094 + TMMFMessageDestination handleInfo(uid);
1.1095 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1096 +
1.1097 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1098 +
1.1099 + TBuf<64> memFunctionText16;
1.1100 + memFunctionText16.Copy(memFunctionText);
1.1101 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1102 +
1.1103 + if (memFunctionText != KExpectedResult)
1.1104 + {
1.1105 + verdict = EFail;
1.1106 + }
1.1107 +
1.1108 + }
1.1109 + //------------------------------------//
1.1110 +
1.1111 + INFO_PRINTF1(_L("Closing Controller"));
1.1112 + controller.Close();
1.1113 +
1.1114 + if (error)
1.1115 + {
1.1116 + verdict = EFail;
1.1117 + }
1.1118 +
1.1119 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1120 + __MM_HEAP_MARKEND;
1.1121 +
1.1122 + return verdict;
1.1123 + }
1.1124 +
1.1125 +
1.1126 +//------------------------------------------------------------------
1.1127 +
1.1128 +CTestStep_MMF_CTLFRM_U_0017::CTestStep_MMF_CTLFRM_U_0017()
1.1129 + /** Constructor
1.1130 + */
1.1131 + {
1.1132 + // store the name of this test case
1.1133 + // this is the name that is used by the script file
1.1134 + // Each test step initialises it's own name
1.1135 + iTestStepName = _L("MM-MMF-CTLFRM-U-0017");
1.1136 +
1.1137 +
1.1138 + }
1.1139 +
1.1140 +TVerdict CTestStep_MMF_CTLFRM_U_0017::DoTestStepL( void )
1.1141 +/** As TSU_MMF_CTLFRM_U_0013
1.1142 + * ::Stop()
1.1143 + * Use case: N/A
1.1144 + * @test Req. under test REQ172.5.5 REQ172.5.5.7
1.1145 + */
1.1146 + {
1.1147 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1148 + __MM_HEAP_MARK;
1.1149 +
1.1150 + TVerdict verdict = EPass;
1.1151 + _LIT8(KExpectedResult, "StopL Called");
1.1152 +
1.1153 + TMMFPrioritySettings settings;
1.1154 + TInt error = KErrNone;
1.1155 + RMMFController controller;
1.1156 +
1.1157 + settings.iPriority = 1;
1.1158 + settings.iPref = EMdaPriorityPreferenceTime;
1.1159 + settings.iState = EMMFStateIdle;
1.1160 +
1.1161 + error = controller.Open(KTstControllerUid,settings);
1.1162 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1163 +
1.1164 + // Stop Controller
1.1165 + if (!error)
1.1166 + {
1.1167 + INFO_PRINTF1(_L("API TEST: Calling Stop"));
1.1168 + error = controller.Stop();
1.1169 + }
1.1170 +
1.1171 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.1172 +
1.1173 + //------------------------------------//
1.1174 + // Getting Log from Custom Controller //
1.1175 + //------------------------------------//
1.1176 + if (!error)
1.1177 + {
1.1178 + INFO_PRINTF1(_L("Getting Log"));
1.1179 +
1.1180 + TBuf8<64> memFunctionText;
1.1181 +
1.1182 + TUid uid = {KMmfTestControllerUid};
1.1183 + TMMFMessageDestination handleInfo(uid);
1.1184 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1185 +
1.1186 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1187 +
1.1188 + TBuf<64> memFunctionText16;
1.1189 + memFunctionText16.Copy(memFunctionText);
1.1190 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1191 +
1.1192 + if (memFunctionText != KExpectedResult)
1.1193 + {
1.1194 + verdict = EFail;
1.1195 + }
1.1196 +
1.1197 + }
1.1198 + //------------------------------------//
1.1199 +
1.1200 + INFO_PRINTF1(_L("Closing Controller"));
1.1201 + controller.Close();
1.1202 +
1.1203 + if (error)
1.1204 + {
1.1205 + verdict = EFail;
1.1206 + }
1.1207 +
1.1208 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1209 + __MM_HEAP_MARKEND;
1.1210 +
1.1211 + return verdict;
1.1212 + }
1.1213 +
1.1214 +//------------------------------------------------------------------
1.1215 +
1.1216 +CTestStep_MMF_CTLFRM_U_0018::CTestStep_MMF_CTLFRM_U_0018()
1.1217 + /** Constructor
1.1218 + */
1.1219 + {
1.1220 + // store the name of this test case
1.1221 + // this is the name that is used by the script file
1.1222 + // Each test step initialises it's own name
1.1223 + iTestStepName = _L("MM-MMF-CTLFRM-U-0018");
1.1224 +
1.1225 +
1.1226 + }
1.1227 +
1.1228 +TVerdict CTestStep_MMF_CTLFRM_U_0018::DoTestStepL( void )
1.1229 +/** As TSU_MMF_CTLFRM_U_0013
1.1230 + * ::GetPosition(..)
1.1231 + * Use case: N/A
1.1232 + * @test Req. under test REQ172.5.5 REQ172.5.5.10
1.1233 + */
1.1234 + {
1.1235 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1236 + __MM_HEAP_MARK;
1.1237 +
1.1238 + TVerdict verdict = EPass;
1.1239 + _LIT8(KExpectedResult, "PositionL Called");
1.1240 +
1.1241 + TMMFPrioritySettings settings;
1.1242 + TInt error = KErrNone;
1.1243 + RMMFController controller;
1.1244 +
1.1245 + settings.iPriority = 1;
1.1246 + settings.iPref = EMdaPriorityPreferenceTime;
1.1247 + settings.iState = EMMFStateIdle;
1.1248 +
1.1249 + error = controller.Open(KTstControllerUid,settings);
1.1250 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1251 +
1.1252 + const TInt64 interval = 5;
1.1253 + TTimeIntervalMicroSeconds position(interval);
1.1254 +
1.1255 + const TInt64 expectedInterval = 16;
1.1256 + TTimeIntervalMicroSeconds expectedPosition(expectedInterval);
1.1257 +
1.1258 + // Get Position Controller
1.1259 + if (!error)
1.1260 + {
1.1261 + INFO_PRINTF1(_L("API TEST: Calling GetPosition"));
1.1262 + error = controller.GetPosition(position);
1.1263 + }
1.1264 +
1.1265 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.1266 + INFO_PRINTF2(_L("Expected Position: %d"), I64LOW(expectedPosition.Int64()));
1.1267 + INFO_PRINTF2(_L("Current Position: %d"), I64LOW(position.Int64()));
1.1268 +
1.1269 +
1.1270 + if (expectedPosition != position)
1.1271 + {
1.1272 + INFO_PRINTF1(_L("Getting Log"));
1.1273 +
1.1274 + TBuf8<64> memFunctionText;
1.1275 +
1.1276 + TUid uid = {KMmfTestControllerUid};
1.1277 + TMMFMessageDestination handleInfo(uid);
1.1278 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1279 +
1.1280 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1281 +
1.1282 + TBuf<64> memFunctionText16;
1.1283 + memFunctionText16.Copy(memFunctionText);
1.1284 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1285 +
1.1286 + if (memFunctionText != KExpectedResult)
1.1287 + {
1.1288 + verdict = EFail;
1.1289 + }
1.1290 + }
1.1291 +
1.1292 + INFO_PRINTF1(_L("Closing Controller"));
1.1293 + controller.Close();
1.1294 +
1.1295 + if (error)
1.1296 + {
1.1297 + verdict = EFail;
1.1298 + }
1.1299 +
1.1300 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1301 + __MM_HEAP_MARKEND;
1.1302 +
1.1303 + return verdict;
1.1304 + }
1.1305 +
1.1306 +//------------------------------------------------------------------
1.1307 +
1.1308 +CTestStep_MMF_CTLFRM_U_0019::CTestStep_MMF_CTLFRM_U_0019()
1.1309 + /** Constructor
1.1310 + */
1.1311 + {
1.1312 + // store the name of this test case
1.1313 + // this is the name that is used by the script file
1.1314 + // Each test step initialises it's own name
1.1315 + iTestStepName = _L("MM-MMF-CTLFRM-U-0019");
1.1316 +
1.1317 +
1.1318 + }
1.1319 +
1.1320 +TVerdict CTestStep_MMF_CTLFRM_U_0019::DoTestStepL( void )
1.1321 +/** As TSU_MMF_CTLFRM_U_0013
1.1322 + * ::SetPosition(..)
1.1323 + * Use case: N/A
1.1324 + * @test Req. under test REQ172.5.5 REQ172.5.5.11
1.1325 + */
1.1326 + {
1.1327 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1328 + __MM_HEAP_MARK;
1.1329 +
1.1330 + TVerdict verdict = EPass;
1.1331 + _LIT8(KExpectedResult, "SetPositionL Called");
1.1332 +
1.1333 + TMMFPrioritySettings settings;
1.1334 + TInt error = KErrNone;
1.1335 + RMMFController controller;
1.1336 +
1.1337 + settings.iPriority = 1;
1.1338 + settings.iPref = EMdaPriorityPreferenceTime;
1.1339 + settings.iState = EMMFStateIdle;
1.1340 +
1.1341 + error = controller.Open(KTstControllerUid,settings);
1.1342 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1343 +
1.1344 + const TInt64 interval = 5;
1.1345 + TTimeIntervalMicroSeconds position(interval);
1.1346 +
1.1347 + // Set Position Controller
1.1348 + if (!error)
1.1349 + {
1.1350 + INFO_PRINTF1(_L("API TEST: Calling SetPosition"));
1.1351 + error = controller.SetPosition(position);
1.1352 + }
1.1353 +
1.1354 + if (!error)
1.1355 + error = controller.GetPosition(position);
1.1356 +
1.1357 +
1.1358 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.1359 + INFO_PRINTF2(_L("Current Position: %d"), position.Int64());
1.1360 +
1.1361 + //------------------------------------//
1.1362 + // Getting Log from Custom Controller //
1.1363 + //------------------------------------//
1.1364 + if (!error)
1.1365 + {
1.1366 + INFO_PRINTF1(_L("Getting Log"));
1.1367 +
1.1368 + TBuf8<64> memFunctionText;
1.1369 +
1.1370 + TUid uid = {KMmfTestControllerUid};
1.1371 + TMMFMessageDestination handleInfo(uid);
1.1372 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1373 +
1.1374 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1375 +
1.1376 + TBuf<64> memFunctionText16;
1.1377 + memFunctionText16.Copy(memFunctionText);
1.1378 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1379 +
1.1380 + if (memFunctionText != KExpectedResult)
1.1381 + {
1.1382 + verdict = EFail;
1.1383 + }
1.1384 +
1.1385 + }
1.1386 + //------------------------------------//
1.1387 +
1.1388 + INFO_PRINTF1(_L("Closing Controller"));
1.1389 + controller.Close();
1.1390 +
1.1391 + if (error)
1.1392 + {
1.1393 + verdict = EFail;
1.1394 + }
1.1395 +
1.1396 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1397 + __MM_HEAP_MARKEND;
1.1398 +
1.1399 + return verdict;
1.1400 + }
1.1401 +
1.1402 +//------------------------------------------------------------------
1.1403 +
1.1404 +CTestStep_MMF_CTLFRM_U_0020::CTestStep_MMF_CTLFRM_U_0020()
1.1405 + /** Constructor
1.1406 + */
1.1407 + {
1.1408 + // store the name of this test case
1.1409 + // this is the name that is used by the script file
1.1410 + // Each test step initialises it's own name
1.1411 + iTestStepName = _L("MM-MMF-CTLFRM-U-0020");
1.1412 +
1.1413 +
1.1414 + }
1.1415 +
1.1416 +TVerdict CTestStep_MMF_CTLFRM_U_0020::DoTestStepL( void )
1.1417 +/** As TSU_MMF_CTLFRM_U_0013
1.1418 + * ::GetDuration(..)
1.1419 + * Use case: N/A
1.1420 + * @test Req. under test No Requirement Found
1.1421 + */
1.1422 + {
1.1423 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1424 + __MM_HEAP_MARK;
1.1425 +
1.1426 + TVerdict verdict = EPass;
1.1427 +
1.1428 + TMMFPrioritySettings settings;
1.1429 + TInt error = KErrNone;
1.1430 + RMMFController controller;
1.1431 +
1.1432 + settings.iPriority = 1;
1.1433 + settings.iPref = EMdaPriorityPreferenceTime;
1.1434 + settings.iState = EMMFStateIdle;
1.1435 +
1.1436 + error = controller.Open(KTstControllerUid,settings);
1.1437 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1438 +
1.1439 + const TInt64 interval = 5;
1.1440 + TTimeIntervalMicroSeconds duration(interval);
1.1441 +
1.1442 + const TInt64 expectedInterval = 36;
1.1443 + TTimeIntervalMicroSeconds expectedDuration(expectedInterval);
1.1444 +
1.1445 + if (!error)
1.1446 + {
1.1447 + INFO_PRINTF1(_L("API TEST: Calling GetDuration"));
1.1448 + error = controller.GetDuration(duration);
1.1449 + }
1.1450 +
1.1451 +
1.1452 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.1453 + INFO_PRINTF2(_L("Current Duration: %d"), I64LOW(expectedDuration.Int64()));
1.1454 + INFO_PRINTF2(_L("Current Duration: %d"), I64LOW(duration.Int64()));
1.1455 +
1.1456 + if (duration != expectedDuration)
1.1457 + {
1.1458 + verdict = EFail;
1.1459 + }
1.1460 +
1.1461 + INFO_PRINTF1(_L("Closing Controller"));
1.1462 + controller.Close();
1.1463 +
1.1464 + if (error)
1.1465 + {
1.1466 + verdict = EFail;
1.1467 + }
1.1468 +
1.1469 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1470 + __MM_HEAP_MARKEND;
1.1471 +
1.1472 + return verdict;
1.1473 + }
1.1474 +
1.1475 +
1.1476 +//------------------------------------------------------------------
1.1477 +
1.1478 +CTestStep_MMF_CTLFRM_U_0021::CTestStep_MMF_CTLFRM_U_0021()
1.1479 + /** Constructor
1.1480 + */
1.1481 + {
1.1482 + // store the name of this test case
1.1483 + // this is the name that is used by the script file
1.1484 + // Each test step initialises it's own name
1.1485 + iTestStepName = _L("MM-MMF-CTLFRM-U-0021");
1.1486 +
1.1487 +
1.1488 + }
1.1489 +
1.1490 +TVerdict CTestStep_MMF_CTLFRM_U_0021::DoTestStepL( void )
1.1491 +/** As TSU_MMF_CTLFRM_U_0013
1.1492 + * ::GetNumberOfMetaDataEntries(..)
1.1493 + * Use case: N/A
1.1494 + * @test Req. under test No Requirement Found
1.1495 + */
1.1496 + {
1.1497 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1498 + __MM_HEAP_MARK;
1.1499 +
1.1500 + TVerdict verdict = EPass;
1.1501 + _LIT8(KExpectedResult, "GetNumberOfMetaDataEntriesL Called");
1.1502 +
1.1503 + TInt numberOfEntries = 0;
1.1504 +
1.1505 + TMMFPrioritySettings settings;
1.1506 + TInt error = KErrNone;
1.1507 + RMMFController controller;
1.1508 +
1.1509 + settings.iPriority = 1;
1.1510 + settings.iPref = EMdaPriorityPreferenceTime;
1.1511 + settings.iState = EMMFStateIdle;
1.1512 +
1.1513 + error = controller.Open(KTstControllerUid,settings);
1.1514 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1515 +
1.1516 +
1.1517 + // Add Source and Sink
1.1518 + INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller"));
1.1519 +
1.1520 + if (!error)
1.1521 + {
1.1522 + INFO_PRINTF1(_L("API TEST: Calling GetNumberOfMetaDataEntries"));
1.1523 + error = controller.GetNumberOfMetaDataEntries(numberOfEntries);
1.1524 + }
1.1525 +
1.1526 + INFO_PRINTF2(_L("Number of Meta entries is: %d"), numberOfEntries);
1.1527 +
1.1528 + //------------------------------------//
1.1529 + // Getting Log from Custom Controller //
1.1530 + //------------------------------------//
1.1531 + if (!error)
1.1532 + {
1.1533 + INFO_PRINTF1(_L("Getting Log"));
1.1534 +
1.1535 + TBuf8<64> memFunctionText;
1.1536 +
1.1537 + TUid uid = {KMmfTestControllerUid};
1.1538 + TMMFMessageDestination handleInfo(uid);
1.1539 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1540 +
1.1541 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1542 +
1.1543 + TBuf<64> memFunctionText16;
1.1544 + memFunctionText16.Copy(memFunctionText);
1.1545 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1546 +
1.1547 + if (memFunctionText != KExpectedResult)
1.1548 + {
1.1549 + verdict = EFail;
1.1550 + }
1.1551 +
1.1552 + }
1.1553 + //------------------------------------//
1.1554 +
1.1555 + INFO_PRINTF1(_L("Closing Controller"));
1.1556 + controller.Close();
1.1557 +
1.1558 + if (error)
1.1559 + {
1.1560 + verdict = EFail;
1.1561 + }
1.1562 +
1.1563 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1564 + __MM_HEAP_MARKEND;
1.1565 +
1.1566 + return verdict;
1.1567 + }
1.1568 +
1.1569 +//------------------------------------------------------------------
1.1570 +
1.1571 +CTestStep_MMF_CTLFRM_U_0022::CTestStep_MMF_CTLFRM_U_0022()
1.1572 + /** Constructor
1.1573 + */
1.1574 + {
1.1575 + // store the name of this test case
1.1576 + // this is the name that is used by the script file
1.1577 + // Each test step initialises it's own name
1.1578 + iTestStepName = _L("MM-MMF-CTLFRM-U-0022");
1.1579 +
1.1580 +
1.1581 + }
1.1582 +
1.1583 +TVerdict CTestStep_MMF_CTLFRM_U_0022::DoTestStepL( void )
1.1584 +/** As TSU_MMF_CTLFRM_U_0013
1.1585 + * ::GetMetaDataEntry(..)
1.1586 + * Use case: N/A
1.1587 + * @test Req. under test No Requirement Found
1.1588 + */
1.1589 + {
1.1590 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1591 + __MM_HEAP_MARK;
1.1592 +
1.1593 + TVerdict verdict = EPass;
1.1594 + _LIT8(KExpectedResult, "GetMetaDataEntryL Called");
1.1595 +
1.1596 + TMMFPrioritySettings settings;
1.1597 + TInt error = KErrNone;
1.1598 + RMMFController controller;
1.1599 +
1.1600 + settings.iPriority = 1;
1.1601 + settings.iPref = EMdaPriorityPreferenceTime;
1.1602 + settings.iState = EMMFStateIdle;
1.1603 +
1.1604 + error = controller.Open(KTstControllerUid,settings);
1.1605 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1606 +
1.1607 + if (!error)
1.1608 + {
1.1609 + TInt indexOfEntry = 1;
1.1610 + INFO_PRINTF1(_L("API TEST: Calling GetMetaDataEntryL"));
1.1611 + CMMFMetaDataEntry* metaEntry = controller.GetMetaDataEntryL(indexOfEntry);
1.1612 + CleanupStack::PushL(metaEntry);
1.1613 + INFO_PRINTF2(_L("AudioLevel is: %S"), &metaEntry->Value());
1.1614 +
1.1615 + CleanupStack::PopAndDestroy(1);
1.1616 + }
1.1617 +
1.1618 + //------------------------------------//
1.1619 + // Getting Log from Custom Controller //
1.1620 + //------------------------------------//
1.1621 + if (!error)
1.1622 + {
1.1623 + INFO_PRINTF1(_L("Getting Log"));
1.1624 +
1.1625 + TBuf8<64> memFunctionText;
1.1626 +
1.1627 + TUid uid = {KMmfTestControllerUid};
1.1628 + TMMFMessageDestination handleInfo(uid);
1.1629 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1630 +
1.1631 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1632 +
1.1633 + TBuf<64> memFunctionText16;
1.1634 + memFunctionText16.Copy(memFunctionText);
1.1635 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1636 +
1.1637 + if (memFunctionText != KExpectedResult)
1.1638 + {
1.1639 + verdict = EFail;
1.1640 + }
1.1641 +
1.1642 + }
1.1643 + //------------------------------------//
1.1644 +
1.1645 + INFO_PRINTF1(_L("Closing Controller"));
1.1646 + controller.Close();
1.1647 +
1.1648 + if (error)
1.1649 + {
1.1650 + verdict = EFail;
1.1651 + }
1.1652 +
1.1653 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1654 + __MM_HEAP_MARKEND;
1.1655 +
1.1656 + return verdict;
1.1657 + }
1.1658 +
1.1659 +//------------------------------------------------------------------
1.1660 +
1.1661 +CTestStep_MMF_CTLFRM_U_0023::CTestStep_MMF_CTLFRM_U_0023()
1.1662 + /** Constructor
1.1663 + */
1.1664 + {
1.1665 + // store the name of this test case
1.1666 + // this is the name that is used by the script file
1.1667 + // Each test step initialises it's own name
1.1668 + iTestStepName = _L("MM-MMF-CTLFRM-U-0023");
1.1669 +
1.1670 +
1.1671 + }
1.1672 +
1.1673 +TVerdict CTestStep_MMF_CTLFRM_U_0023::DoTestStepL( void )
1.1674 +/** As TSU_MMF_CTLFRM_U_0013
1.1675 + * ::CustomSommandSync(..)
1.1676 + * Use case: N/A
1.1677 + * @test Req. under test REQ172.5.5 REQ172.5.5.14
1.1678 + */
1.1679 + {
1.1680 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1681 + __MM_HEAP_MARK;
1.1682 +
1.1683 + TVerdict verdict = EPass;
1.1684 + _LIT8(KExpectedResult, "KDummyFunc1 Called");
1.1685 +
1.1686 + TMMFPrioritySettings settings;
1.1687 + TInt error = KErrNone;
1.1688 + RMMFController controller;
1.1689 +
1.1690 + settings.iPriority = 1;
1.1691 + settings.iPref = EMdaPriorityPreferenceTime;
1.1692 + settings.iState = EMMFStateIdle;
1.1693 +
1.1694 + // Open a Custom Controller
1.1695 + error = controller.Open(KTstControllerUid,settings);
1.1696 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1697 +
1.1698 + if (!error)
1.1699 + {
1.1700 + INFO_PRINTF1(_L("Calling CustomCommandSync"));
1.1701 + TMMFMessageDestinationPckg messageDest;
1.1702 +
1.1703 + const TInt interval = 5;
1.1704 + TTimeIntervalMicroSeconds randomData(interval);
1.1705 + TTimeIntervalMicroSeconds randomData2(interval+1);
1.1706 + TTimeIntervalMicroSeconds randomData3(interval+2);
1.1707 +
1.1708 + TPckgBuf<TTimeIntervalMicroSeconds> randomDataPckg = randomData;
1.1709 + TPckgBuf<TTimeIntervalMicroSeconds> randomData2Pckg = randomData2;
1.1710 + TPckgBuf<TTimeIntervalMicroSeconds> randomData3Pckg = randomData3;
1.1711 +
1.1712 + error = controller.CustomCommandSync(messageDest, KDummyFunc1, randomDataPckg, randomData2Pckg, randomData3Pckg);
1.1713 + }
1.1714 +
1.1715 + //------------------------------------//
1.1716 + // Getting Log from Custom Controller //
1.1717 + //------------------------------------//
1.1718 + if (!error)
1.1719 + {
1.1720 + INFO_PRINTF1(_L("Getting Log"));
1.1721 +
1.1722 + TBuf8<64> memFunctionText;
1.1723 +
1.1724 + TUid uid = {KMmfTestControllerUid};
1.1725 + TMMFMessageDestination handleInfo(uid);
1.1726 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1727 +
1.1728 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1729 +
1.1730 + TBuf<64> memFunctionText16;
1.1731 + memFunctionText16.Copy(memFunctionText);
1.1732 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1733 +
1.1734 + if (memFunctionText != KExpectedResult)
1.1735 + {
1.1736 + verdict = EFail;
1.1737 + }
1.1738 +
1.1739 + }
1.1740 + //------------------------------------//
1.1741 +
1.1742 + if (error)
1.1743 + {
1.1744 + verdict = EFail;
1.1745 + }
1.1746 +
1.1747 + INFO_PRINTF1(_L("Closing Controller"));
1.1748 + controller.Close();
1.1749 +
1.1750 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1751 + __MM_HEAP_MARKEND;
1.1752 +
1.1753 + return verdict;
1.1754 + }
1.1755 +
1.1756 +//------------------------------------------------------------------
1.1757 +
1.1758 +CTestStep_MMF_CTLFRM_U_0024::CTestStep_MMF_CTLFRM_U_0024()
1.1759 + /** Constructor
1.1760 + */
1.1761 + {
1.1762 + // store the name of this test case
1.1763 + // this is the name that is used by the script file
1.1764 + // Each test step initialises it's own name
1.1765 + iTestStepName = _L("MM-MMF-CTLFRM-U-0024");
1.1766 +
1.1767 +
1.1768 + }
1.1769 +
1.1770 +TVerdict CTestStep_MMF_CTLFRM_U_0024::DoTestStepL( void )
1.1771 +/** As TSU_MMF_CTLFRM_U_0013
1.1772 + * ::CustomCommandAsync(..)
1.1773 + * Use case: N/A
1.1774 + * @test Req. under test REQ172.5.5 REQ172.5.5.14
1.1775 + */
1.1776 + {
1.1777 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1778 + __MM_HEAP_MARK;
1.1779 +
1.1780 + TVerdict verdict = EPass;
1.1781 + _LIT8(KExpectedResult, "KDummyFunc1 Called");
1.1782 +
1.1783 + TMMFPrioritySettings settings;
1.1784 + TInt error = KErrNone;
1.1785 + RMMFController controller;
1.1786 +
1.1787 + settings.iPriority = 1;
1.1788 + settings.iPref = EMdaPriorityPreferenceTime;
1.1789 + settings.iState = EMMFStateIdle;
1.1790 +
1.1791 +
1.1792 + // Open a Custom Controller
1.1793 + error = controller.Open(KTstControllerUid,settings);
1.1794 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1795 +
1.1796 + if (!error)
1.1797 + {
1.1798 + INFO_PRINTF1(_L("Calling CustomCommandSync"));
1.1799 + TMMFMessageDestinationPckg messageDest;
1.1800 +
1.1801 + const TInt interval = 5;
1.1802 + TTimeIntervalMicroSeconds randomData(interval);
1.1803 + TTimeIntervalMicroSeconds randomData2(interval+1);
1.1804 + TTimeIntervalMicroSeconds randomData3(interval+2);
1.1805 +
1.1806 + TPckgBuf<TTimeIntervalMicroSeconds> randomDataPckg = randomData;
1.1807 + TPckgBuf<TTimeIntervalMicroSeconds> randomData2Pckg = randomData2;
1.1808 + TPckgBuf<TTimeIntervalMicroSeconds> randomData3Pckg = randomData3;
1.1809 +
1.1810 + TRequestStatus stat;
1.1811 + controller.CustomCommandAsync(messageDest, KDummyFunc1, randomDataPckg, randomData2Pckg, randomData3Pckg, stat);
1.1812 + User::WaitForRequest(stat);
1.1813 + error = stat.Int();
1.1814 + }
1.1815 +
1.1816 + //------------------------------------//
1.1817 + // Getting Log from Custom Controller //
1.1818 + //------------------------------------//
1.1819 + if (!error)
1.1820 + {
1.1821 + INFO_PRINTF1(_L("Getting Log"));
1.1822 +
1.1823 + TBuf8<64> memFunctionText;
1.1824 +
1.1825 + TUid uid = {KMmfTestControllerUid};
1.1826 + TMMFMessageDestination handleInfo(uid);
1.1827 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1828 +
1.1829 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1830 +
1.1831 + TBuf<64> memFunctionText16;
1.1832 + memFunctionText16.Copy(memFunctionText);
1.1833 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1834 +
1.1835 + if (memFunctionText != KExpectedResult)
1.1836 + {
1.1837 + verdict = EFail;
1.1838 + }
1.1839 +
1.1840 + }
1.1841 + //------------------------------------//
1.1842 +
1.1843 + if (error)
1.1844 + {
1.1845 + verdict = EFail;
1.1846 + }
1.1847 +
1.1848 + INFO_PRINTF1(_L("Closing Controller"));
1.1849 + controller.Close();
1.1850 +
1.1851 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1852 + __MM_HEAP_MARKEND;
1.1853 +
1.1854 + return verdict;
1.1855 + }
1.1856 +
1.1857 +//------------------------------------------------------------------
1.1858 +
1.1859 +CTestStep_MMF_CTLFRM_U_0027::CTestStep_MMF_CTLFRM_U_0027()
1.1860 + /** Constructor
1.1861 + */
1.1862 + {
1.1863 + // store the name of this test case
1.1864 + // this is the name that is used by the script file
1.1865 + // Each test step initialises it's own name
1.1866 + iTestStepName = _L("MM-MMF-CTLFRM-U-0027");
1.1867 +
1.1868 +
1.1869 + }
1.1870 +
1.1871 +TVerdict CTestStep_MMF_CTLFRM_U_0027::DoTestStepL( void )
1.1872 +/** As TSU_MMF_CTLFRM_U_0013
1.1873 + * ::GetAudioQuality(..)
1.1874 + * Use case: N/A
1.1875 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.1876 + */
1.1877 + {
1.1878 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1879 + __MM_HEAP_MARK;
1.1880 +
1.1881 + TVerdict verdict = EPass;
1.1882 + _LIT8(KExpectedResult, "GetAudioQuality Called");
1.1883 +
1.1884 + TMMFPrioritySettings settings;
1.1885 + TInt error = KErrNone;
1.1886 + RMMFController controller;
1.1887 +
1.1888 + settings.iPriority = 1;
1.1889 + settings.iPref = EMdaPriorityPreferenceTime;
1.1890 + settings.iState = EMMFStateIdle;
1.1891 +
1.1892 +
1.1893 + // Open a Custom Controller
1.1894 + error = controller.Open(KTstControllerUid,settings);
1.1895 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1896 + TUid uid = {0x101f72B4};
1.1897 +
1.1898 + RMMFTestCustomCommands customCommands(controller,uid);
1.1899 +
1.1900 + TInt audioQuality;
1.1901 + error = customCommands.GetAudioQuality(audioQuality);
1.1902 +
1.1903 + //------------------------------------//
1.1904 + // Getting Log from Custom Controller //
1.1905 + //------------------------------------//
1.1906 + if (!error)
1.1907 + {
1.1908 + INFO_PRINTF1(_L("Getting Log"));
1.1909 +
1.1910 + TBuf8<64> memFunctionText;
1.1911 +
1.1912 + TUid uid = {KMmfTestControllerUid};
1.1913 + TMMFMessageDestination handleInfo(uid);
1.1914 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.1915 +
1.1916 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.1917 +
1.1918 + TBuf<64> memFunctionText16;
1.1919 + memFunctionText16.Copy(memFunctionText);
1.1920 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.1921 +
1.1922 + if (memFunctionText != KExpectedResult)
1.1923 + {
1.1924 + verdict = EFail;
1.1925 + }
1.1926 +
1.1927 + }
1.1928 + //------------------------------------//
1.1929 +
1.1930 +
1.1931 + if (error)
1.1932 + {
1.1933 + verdict = EFail;
1.1934 + }
1.1935 +
1.1936 + INFO_PRINTF1(_L("Closing Controller"));
1.1937 + controller.Close();
1.1938 +
1.1939 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.1940 + __MM_HEAP_MARKEND;
1.1941 +
1.1942 + return verdict;
1.1943 + }
1.1944 +
1.1945 +//------------------------------------------------------------------
1.1946 +
1.1947 +CTestStep_MMF_CTLFRM_U_0028::CTestStep_MMF_CTLFRM_U_0028()
1.1948 + /** Constructor
1.1949 + */
1.1950 + {
1.1951 + // store the name of this test case
1.1952 + // this is the name that is used by the script file
1.1953 + // Each test step initialises it's own name
1.1954 + iTestStepName = _L("MM-MMF-CTLFRM-U-0028");
1.1955 +
1.1956 +
1.1957 + }
1.1958 +
1.1959 +TVerdict CTestStep_MMF_CTLFRM_U_0028::DoTestStepL( void )
1.1960 +/** As TSU_MMF_CTLFRM_U_0013
1.1961 + * ::SetAudioQuality(..)
1.1962 + * Use case: N/A
1.1963 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.1964 + */
1.1965 + {
1.1966 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.1967 + __MM_HEAP_MARK;
1.1968 +
1.1969 + TVerdict verdict = EPass;
1.1970 + _LIT8(KExpectedResult, "SetAudioQuality Called");
1.1971 +
1.1972 +
1.1973 + TMMFPrioritySettings settings;
1.1974 + TInt error = KErrNone;
1.1975 + RMMFController controller;
1.1976 +
1.1977 + settings.iPriority = 1;
1.1978 + settings.iPref = EMdaPriorityPreferenceTime;
1.1979 + settings.iState = EMMFStateIdle;
1.1980 +
1.1981 +
1.1982 + // Open a Custom Controller
1.1983 + error = controller.Open(KTstControllerUid,settings);
1.1984 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.1985 + TUid uid = {0x101f72B4};
1.1986 +
1.1987 + RMMFTestCustomCommands customCommands(controller,uid);
1.1988 +
1.1989 +
1.1990 + TInt audioQuality = 14;
1.1991 +
1.1992 + error = customCommands.SetAudioQuality(audioQuality);
1.1993 +
1.1994 + //------------------------------------//
1.1995 + // Getting Log from Custom Controller //
1.1996 + //------------------------------------//
1.1997 + if (!error)
1.1998 + {
1.1999 + INFO_PRINTF1(_L("Getting Log"));
1.2000 +
1.2001 + TBuf8<64> memFunctionText;
1.2002 +
1.2003 + TUid uid = {KMmfTestControllerUid};
1.2004 + TMMFMessageDestination handleInfo(uid);
1.2005 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2006 +
1.2007 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2008 +
1.2009 + TBuf<64> memFunctionText16;
1.2010 + memFunctionText16.Copy(memFunctionText);
1.2011 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.2012 +
1.2013 + if (memFunctionText != KExpectedResult)
1.2014 + {
1.2015 + verdict = EFail;
1.2016 + }
1.2017 +
1.2018 + }
1.2019 + //------------------------------------//
1.2020 +
1.2021 +
1.2022 + if (error)
1.2023 + {
1.2024 + verdict = EFail;
1.2025 + }
1.2026 +
1.2027 + INFO_PRINTF1(_L("Closing Controller"));
1.2028 + controller.Close();
1.2029 +
1.2030 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2031 + __MM_HEAP_MARKEND;
1.2032 +
1.2033 + return verdict;
1.2034 + }
1.2035 +
1.2036 +//------------------------------------------------------------------
1.2037 +// This test is supposed to fail
1.2038 +
1.2039 +CTestStep_MMF_CTLFRM_U_0029::CTestStep_MMF_CTLFRM_U_0029()
1.2040 + /** Constructor
1.2041 + */
1.2042 + {
1.2043 + // store the name of this test case
1.2044 + // this is the name that is used by the script file
1.2045 + // Each test step initialises it's own name
1.2046 + iTestStepName = _L("MM-MMF-CTLFRM-U-0029");
1.2047 +
1.2048 +
1.2049 + }
1.2050 +
1.2051 +TVerdict CTestStep_MMF_CTLFRM_U_0029::DoTestStepL( void )
1.2052 +/** Call the RMMFController::Open(..) with the parameters specified, varify the
1.2053 + * return value is NOT 0. Call the RMMFController::Close() on the Custom Controller.
1.2054 + * Varify 'error' is NOT zero.
1.2055 +
1.2056 + * Use case: N/A
1.2057 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2058 + */
1.2059 + {
1.2060 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2061 + __MM_HEAP_MARK;
1.2062 +
1.2063 + TVerdict verdict = EPass;
1.2064 + INFO_PRINTF1(_L("Test to Fail to Open a Custom Controller"));
1.2065 +
1.2066 +
1.2067 + TMMFPrioritySettings settings;
1.2068 + TInt error = KErrNone;
1.2069 + RMMFController controller;
1.2070 +
1.2071 + settings.iPriority = 1;
1.2072 + settings.iPref = EMdaPriorityPreferenceTime;
1.2073 + settings.iState = EMMFStateIdle;
1.2074 +
1.2075 + // Dummy UID to try and instantiate a controller which does not exist
1.2076 + TUid uidDummy = {0x12345678};
1.2077 +
1.2078 + // Open a Custom Controller
1.2079 + error = controller.Open(uidDummy,settings);
1.2080 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2081 +
1.2082 + if (!error)
1.2083 + {
1.2084 + verdict = EFail;
1.2085 + }
1.2086 +
1.2087 + INFO_PRINTF1(_L("Closing Controller"));
1.2088 + controller.Close();
1.2089 +
1.2090 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2091 + __MM_HEAP_MARKEND;
1.2092 +
1.2093 + return verdict;
1.2094 + }
1.2095 +
1.2096 +//------------------------------------------------------------------
1.2097 +
1.2098 +CTestStep_MMF_CTLFRM_U_0030::CTestStep_MMF_CTLFRM_U_0030()
1.2099 + /** Constructor
1.2100 + */
1.2101 + {
1.2102 + // store the name of this test case
1.2103 + // this is the name that is used by the script file
1.2104 + // Each test step initialises it's own name
1.2105 + iTestStepName = _L("MM-MMF-CTLFRM-U-0030");
1.2106 +
1.2107 +
1.2108 + }
1.2109 +
1.2110 +TVerdict CTestStep_MMF_CTLFRM_U_0030::DoTestStepL( void )
1.2111 +/** Call the RMMFController::Open(..) (with the parameters from test 001), varify
1.2112 + * the return value is 0. Fail to Instantiate a Custom DataSource Object and add it to
1.2113 + * the Custom Controller using RMMFController::AddDataSource(..), with the specified
1.2114 + * parameters. Call Custom Command 'KLogFunction' and varify the text value returned is
1.2115 + * not equal to the specifed text in Test Step. Call the RMMFController::Close() on the
1.2116 + * Custom Controller. Varify 'error' is NOT zero.
1.2117 +
1.2118 + * Use case: N/A
1.2119 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2120 + */
1.2121 + {
1.2122 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2123 + __MM_HEAP_MARK;
1.2124 +
1.2125 + TVerdict verdict = EPass;
1.2126 +
1.2127 + INFO_PRINTF1(_L("Test to Fail to Open a Data Source"));
1.2128 +
1.2129 + TMMFPrioritySettings settings;
1.2130 + TInt error = KErrNone;
1.2131 + RMMFController controller;
1.2132 +
1.2133 + settings.iPriority = 1;
1.2134 + settings.iPref = EMdaPriorityPreferenceTime;
1.2135 + settings.iState = EMMFStateIdle;
1.2136 +
1.2137 + error = controller.Open(KTstControllerUid,settings);
1.2138 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2139 +
1.2140 + const TDesC8& initData = KInitData;
1.2141 + TUid uidDummy = {0x12345678};
1.2142 +
1.2143 + // Add Source
1.2144 + INFO_PRINTF1(_L("Attempting to add a Source to Controller"));
1.2145 + if (!error)
1.2146 + {
1.2147 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.2148 + error = controller.AddDataSource(uidDummy, initData);
1.2149 + }
1.2150 +
1.2151 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2152 +
1.2153 + INFO_PRINTF1(_L("Closing Controller"));
1.2154 + controller.Close();
1.2155 +
1.2156 + if (!error)
1.2157 + {
1.2158 + verdict = EFail;
1.2159 + }
1.2160 +
1.2161 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2162 + __MM_HEAP_MARKEND;
1.2163 +
1.2164 + return verdict;
1.2165 + }
1.2166 +
1.2167 +
1.2168 +//---------------------------------------------------------------------
1.2169 +
1.2170 +CTestStep_MMF_CTLFRM_U_0031::CTestStep_MMF_CTLFRM_U_0031()
1.2171 + /** Constructor
1.2172 + */
1.2173 + {
1.2174 + // store the name of this test case
1.2175 + // this is the name that is used by the script file
1.2176 + // Each test step initialises it's own name
1.2177 + iTestStepName = _L("MM-MMF-CTLFRM-U-0031");
1.2178 +
1.2179 +
1.2180 + }
1.2181 +
1.2182 +TVerdict CTestStep_MMF_CTLFRM_U_0031::DoTestStepL( void )
1.2183 +/** Call the RMMFController::Open(..) (with the parameters from test 001), varify the
1.2184 + * return value is 0. Instantiate a Custom DataSink Object and add it to the Custom
1.2185 + * Controller using RMMFController::AddDataSink(..), with the specified parameters. Call
1.2186 + * Custom Command 'KLogFunction' and varify the text value returned is equal to the
1.2187 + * specifed text in Test Step. Call the RMMFController::Close() on the Custom Controller.
1.2188 + * Varify 'error' is zero.
1.2189 +
1.2190 + * Use case: N/A
1.2191 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2192 + */
1.2193 + {
1.2194 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2195 + __MM_HEAP_MARK;
1.2196 +
1.2197 + TVerdict verdict = EPass;
1.2198 +
1.2199 + INFO_PRINTF1(_L("Test to Fail to Open a Data Sink"));
1.2200 +
1.2201 + TMMFPrioritySettings settings;
1.2202 + TInt error = KErrNone;
1.2203 + RMMFController controller;
1.2204 +
1.2205 + settings.iPriority = 1;
1.2206 + settings.iPref = EMdaPriorityPreferenceTime;
1.2207 + settings.iState = EMMFStateIdle;
1.2208 +
1.2209 + error = controller.Open(KTstControllerUid,settings);
1.2210 +
1.2211 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2212 +
1.2213 + const TDesC8& initData = KInitData;
1.2214 + TUid uidDummy = {0x12345678};
1.2215 +
1.2216 + // Add Source
1.2217 + INFO_PRINTF1(_L("Attempting to add a Sink to Controller"));
1.2218 + if (!error)
1.2219 + {
1.2220 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.2221 + error = controller.AddDataSink(uidDummy, initData);
1.2222 + }
1.2223 +
1.2224 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2225 +
1.2226 + INFO_PRINTF1(_L("Closing Controller"));
1.2227 + controller.Close();
1.2228 +
1.2229 + if (!error)
1.2230 + {
1.2231 + verdict = EFail;
1.2232 + }
1.2233 +
1.2234 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2235 + __MM_HEAP_MARKEND;
1.2236 +
1.2237 + return verdict;
1.2238 + }
1.2239 +
1.2240 +//----------------------------------------------------------
1.2241 +
1.2242 +CTestStep_MMF_CTLFRM_U_0032::CTestStep_MMF_CTLFRM_U_0032()
1.2243 + /** Constructor
1.2244 + */
1.2245 + {
1.2246 + // store the name of this test case
1.2247 + // this is the name that is used by the script file
1.2248 + // Each test step initialises it's own name
1.2249 + iTestStepName = _L("MM-MMF-CTLFRM-U-0032");
1.2250 +
1.2251 +
1.2252 + }
1.2253 +
1.2254 +TVerdict CTestStep_MMF_CTLFRM_U_0032::DoTestStepL( void )
1.2255 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.2256 + * Use case: N/A
1.2257 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2258 + */
1.2259 + {
1.2260 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2261 + __MM_HEAP_MARK;
1.2262 +
1.2263 + TVerdict verdict = EPass;
1.2264 +
1.2265 + TMMFPrioritySettings settings;
1.2266 + TInt error = KErrNone;
1.2267 + RMMFController controller;
1.2268 +
1.2269 + settings.iPriority = 1;
1.2270 + settings.iPref = EMdaPriorityPreferenceTime;
1.2271 + settings.iState = EMMFStateIdle;
1.2272 +
1.2273 + error = controller.Open(KTstControllerUid,settings);
1.2274 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2275 +
1.2276 + //---------------------//
1.2277 + // Set Controller Mode //
1.2278 + //---------------------//
1.2279 + if (!error)
1.2280 + {
1.2281 + TUid uid = {KMmfTestControllerUid};
1.2282 + TMMFMessageDestination handleInfo(uid);
1.2283 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2284 +
1.2285 + TPckgBuf<TUint8> value = 1; // 1 = EFailure Mode
1.2286 +
1.2287 + error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8);
1.2288 + }
1.2289 +
1.2290 + const TDesC8& initData = KInitData;
1.2291 + TUid uidDummy = {0x12345678};
1.2292 +
1.2293 + // Add Source
1.2294 + INFO_PRINTF1(_L("Attempting to add a Source to Controller"));
1.2295 + if (!error)
1.2296 + {
1.2297 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.2298 + //error = controller.AddDataSource(KTestDataSourceUid, initData);
1.2299 + error = controller.AddDataSource(uidDummy, initData);
1.2300 + }
1.2301 +
1.2302 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2303 +
1.2304 + if (error != KAddDataSourceFailure)
1.2305 + {
1.2306 + verdict = EFail;
1.2307 + }
1.2308 +
1.2309 +
1.2310 + INFO_PRINTF1(_L("Closing Controller"));
1.2311 + controller.Close();
1.2312 +
1.2313 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2314 + __MM_HEAP_MARKEND;
1.2315 +
1.2316 + return verdict;
1.2317 + }
1.2318 +
1.2319 +//---------------------------------------------------------------
1.2320 +
1.2321 +
1.2322 +CTestStep_MMF_CTLFRM_U_0033::CTestStep_MMF_CTLFRM_U_0033()
1.2323 + /** Constructor
1.2324 + */
1.2325 + {
1.2326 + // store the name of this test case
1.2327 + // this is the name that is used by the script file
1.2328 + // Each test step initialises it's own name
1.2329 + iTestStepName = _L("MM-MMF-CTLFRM-U-0033");
1.2330 +
1.2331 +
1.2332 + }
1.2333 +
1.2334 +TVerdict CTestStep_MMF_CTLFRM_U_0033::DoTestStepL( void )
1.2335 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.2336 + * Use case: N/A
1.2337 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2338 + */
1.2339 + {
1.2340 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2341 + __MM_HEAP_MARK;
1.2342 +
1.2343 + TVerdict verdict = EPass;
1.2344 +
1.2345 + TMMFPrioritySettings settings;
1.2346 + TInt error = KErrNone;
1.2347 + RMMFController controller;
1.2348 +
1.2349 + settings.iPriority = 1;
1.2350 + settings.iPref = EMdaPriorityPreferenceTime;
1.2351 + settings.iState = EMMFStateIdle;
1.2352 +
1.2353 + error = controller.Open(KTstControllerUid,settings);
1.2354 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2355 +
1.2356 + //---------------------//
1.2357 + // Set Controller Mode //
1.2358 + //---------------------//
1.2359 + if (!error)
1.2360 + {
1.2361 + TUid uid = {KMmfTestControllerUid};
1.2362 + TMMFMessageDestination handleInfo(uid);
1.2363 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2364 +
1.2365 +
1.2366 + TPckgBuf<TUint8> value = 1; // 1 = EFailure Mode
1.2367 +
1.2368 + error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8);
1.2369 + }
1.2370 +
1.2371 + const TDesC8& initData = KInitData;
1.2372 +
1.2373 + // Add Sink
1.2374 + INFO_PRINTF1(_L("Attempting to add a Sink to Controller"));
1.2375 + if (!error)
1.2376 + {
1.2377 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.2378 + error = controller.AddDataSource(KTestDataSinkUid, initData);
1.2379 + }
1.2380 +
1.2381 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2382 +
1.2383 + if (error != KAddDataSinkFailure)
1.2384 + {
1.2385 + verdict = EFail;
1.2386 + }
1.2387 +
1.2388 +
1.2389 + INFO_PRINTF1(_L("Closing Controller"));
1.2390 + controller.Close();
1.2391 +
1.2392 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2393 + __MM_HEAP_MARKEND;
1.2394 +
1.2395 + return verdict;
1.2396 + }
1.2397 +
1.2398 +//---------------------------------------------------------------
1.2399 +
1.2400 +
1.2401 +CTestStep_MMF_CTLFRM_U_0034::CTestStep_MMF_CTLFRM_U_0034()
1.2402 + /** Constructor
1.2403 + */
1.2404 + {
1.2405 + // store the name of this test case
1.2406 + // this is the name that is used by the script file
1.2407 + // Each test step initialises it's own name
1.2408 + iTestStepName = _L("MM-MMF-CTLFRM-U-0034");
1.2409 +
1.2410 +
1.2411 + }
1.2412 +
1.2413 +TVerdict CTestStep_MMF_CTLFRM_U_0034::DoTestStepL( void )
1.2414 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.2415 + * Use case: N/A
1.2416 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2417 + */
1.2418 + {
1.2419 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2420 + __MM_HEAP_MARK;
1.2421 +
1.2422 + TVerdict verdict = EPass;
1.2423 +
1.2424 + TMMFPrioritySettings settings;
1.2425 + TInt error = KErrNone;
1.2426 + RMMFController controller;
1.2427 +
1.2428 + settings.iPriority = 1;
1.2429 + settings.iPref = EMdaPriorityPreferenceTime;
1.2430 + settings.iState = EMMFStateIdle;
1.2431 +
1.2432 + error = controller.Open(KTstControllerUid,settings);
1.2433 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2434 +
1.2435 + //---------------------//
1.2436 + // Set Controller Mode //
1.2437 + //---------------------//
1.2438 + if (!error)
1.2439 + {
1.2440 + TUid uid = {KMmfTestControllerUid};
1.2441 + TMMFMessageDestination handleInfo(uid);
1.2442 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2443 +
1.2444 + TPckgBuf<TUint8> value = 1; // 1 = EFailure Mode
1.2445 +
1.2446 + error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8);
1.2447 + }
1.2448 +
1.2449 + const TDesC8& initData = KInitData;
1.2450 + TMMFMessageDestination sourceHandlePtr;
1.2451 + TMMFMessageDestination& sourceHandle = sourceHandlePtr;
1.2452 +
1.2453 + // Add Source
1.2454 + INFO_PRINTF1(_L("Attempting to add a Source to Controller"));
1.2455 + if (!error)
1.2456 + {
1.2457 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.2458 + error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle);
1.2459 + error = controller.RemoveDataSource(sourceHandle);
1.2460 + }
1.2461 +
1.2462 +
1.2463 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2464 +
1.2465 + if (error != KAddDataSourceFailure)
1.2466 + {
1.2467 + verdict = EFail;
1.2468 + }
1.2469 +
1.2470 +
1.2471 + INFO_PRINTF1(_L("Closing Controller"));
1.2472 + controller.Close();
1.2473 +
1.2474 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2475 + __MM_HEAP_MARKEND;
1.2476 +
1.2477 + return verdict;
1.2478 + }
1.2479 +
1.2480 +//-----------------------------------------------------------//
1.2481 +
1.2482 +CTestStep_MMF_CTLFRM_U_0035::CTestStep_MMF_CTLFRM_U_0035()
1.2483 + /** Constructor
1.2484 + */
1.2485 + {
1.2486 + // store the name of this test case
1.2487 + // this is the name that is used by the script file
1.2488 + // Each test step initialises it's own name
1.2489 + iTestStepName = _L("MM-MMF-CTLFRM-U-0035");
1.2490 +
1.2491 +
1.2492 + }
1.2493 +
1.2494 +TVerdict CTestStep_MMF_CTLFRM_U_0035::DoTestStepL( void )
1.2495 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.2496 + * Use case: N/A
1.2497 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2498 + */
1.2499 + {
1.2500 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2501 + __MM_HEAP_MARK;
1.2502 +
1.2503 + TVerdict verdict = EPass;
1.2504 +
1.2505 + TMMFPrioritySettings settings;
1.2506 + TInt error = KErrNone;
1.2507 + RMMFController controller;
1.2508 +
1.2509 + settings.iPriority = 1;
1.2510 + settings.iPref = EMdaPriorityPreferenceTime;
1.2511 + settings.iState = EMMFStateIdle;
1.2512 +
1.2513 + error = controller.Open(KTstControllerUid,settings);
1.2514 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2515 +
1.2516 + //---------------------//
1.2517 + // Set Controller Mode //
1.2518 + //---------------------//
1.2519 + if (!error)
1.2520 + {
1.2521 + TUid uid = {KMmfTestControllerUid};
1.2522 + TMMFMessageDestination handleInfo(uid);
1.2523 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2524 +
1.2525 +// TUint8 value = 1; // 1 = EFailure Mode
1.2526 + TPckgBuf<TUint8> value = 1;
1.2527 +
1.2528 + error = controller.CustomCommandSync(messageDest, KModeFunction, value, KNullDesC8);
1.2529 + }
1.2530 +
1.2531 + const TDesC8& initData = KInitData;
1.2532 + TMMFMessageDestination sinkHandlePtr;
1.2533 + TMMFMessageDestination& sinkHandle = sinkHandlePtr;
1.2534 +
1.2535 + // Add Source
1.2536 + INFO_PRINTF1(_L("Attempting to add a Sink to Controller"));
1.2537 + if (!error)
1.2538 + {
1.2539 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.2540 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle);
1.2541 + error = controller.RemoveDataSink(sinkHandle);
1.2542 + }
1.2543 +
1.2544 +
1.2545 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.2546 +
1.2547 + if (error != KAddDataSinkFailure)
1.2548 + {
1.2549 + verdict = EFail;
1.2550 + }
1.2551 +
1.2552 + INFO_PRINTF1(_L("Closing Controller"));
1.2553 + controller.Close();
1.2554 +
1.2555 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2556 + __MM_HEAP_MARKEND;
1.2557 +
1.2558 + return verdict;
1.2559 + }
1.2560 +
1.2561 +//-----------------------------------------------------------//
1.2562 +
1.2563 +
1.2564 +
1.2565 +//-----------------------------------------------------------
1.2566 +// Testing of the Standard Custom Commands
1.2567 +//-----------------------------------------------------------
1.2568 +
1.2569 +CTestStep_MMF_CTLFRM_U_0040::CTestStep_MMF_CTLFRM_U_0040()
1.2570 + /** Constructor
1.2571 + */
1.2572 + {
1.2573 + // store the name of this test case
1.2574 + // this is the name that is used by the script file
1.2575 + // Each test step initialises it's own name
1.2576 + iTestStepName = _L("MM-MMF-CTLFRM-U-0040");
1.2577 +
1.2578 +
1.2579 + }
1.2580 +
1.2581 +TVerdict CTestStep_MMF_CTLFRM_U_0040::DoTestStepL( void )
1.2582 +/** Call the RMMFController::Open(..) (with the parameters from test 001), varify the
1.2583 + * return value is 0. Instantiate a CustomCommands Object (specified). Call RMMFController
1.2584 + * Method specified and varify the 'error' is 0. Follow this by calling the Custom
1.2585 + * Command 'KLogFunction' and varify the text value returned is equal to the specifed text
1.2586 + * in Test Step. Call the RMMFController::Close() on the Custom Controller. Varify 'error'
1.2587 + * is zero.
1.2588 +
1.2589 + * Use case: N/A
1.2590 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2591 + */
1.2592 + {
1.2593 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2594 + __MM_HEAP_MARK;
1.2595 +
1.2596 + TVerdict verdict = EPass;
1.2597 + _LIT8(KExpectedResult, "MapdSetVolumeL Called");
1.2598 +
1.2599 + TMMFPrioritySettings settings;
1.2600 + TInt error = KErrNone;
1.2601 + RMMFController controller;
1.2602 +
1.2603 + settings.iPriority = 1;
1.2604 + settings.iPref = EMdaPriorityPreferenceTime;
1.2605 + settings.iState = EMMFStateIdle;
1.2606 +
1.2607 + TInt volume = 27;
1.2608 +
1.2609 + // Open a Custom Controller
1.2610 + error = controller.Open(KTstControllerUid,settings);
1.2611 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2612 +
1.2613 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.2614 +
1.2615 + error = customCommands.SetVolume(volume);
1.2616 +
1.2617 + //------------------------------------//
1.2618 + // Getting Log from Custom Controller //
1.2619 + //------------------------------------//
1.2620 + if (!error)
1.2621 + {
1.2622 + INFO_PRINTF1(_L("Getting Log"));
1.2623 +
1.2624 + TBuf8<64> memFunctionText;
1.2625 +
1.2626 + TUid uid = {KMmfTestControllerUid};
1.2627 + TMMFMessageDestination handleInfo(uid);
1.2628 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2629 +
1.2630 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2631 +
1.2632 + TBuf<64> memFunctionText16;
1.2633 + memFunctionText16.Copy(memFunctionText);
1.2634 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.2635 +
1.2636 + if (memFunctionText != KExpectedResult)
1.2637 + {
1.2638 + verdict = EFail;
1.2639 + }
1.2640 +
1.2641 + }
1.2642 + //------------------------------------//
1.2643 +
1.2644 + if (error)
1.2645 + {
1.2646 + verdict = EFail;
1.2647 + }
1.2648 +
1.2649 + INFO_PRINTF1(_L("Closing Controller"));
1.2650 + controller.Close();
1.2651 +
1.2652 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2653 + __MM_HEAP_MARKEND;
1.2654 +
1.2655 + return verdict;
1.2656 + }
1.2657 +
1.2658 +//---------------------------------------------------------------
1.2659 +
1.2660 +
1.2661 +CTestStep_MMF_CTLFRM_U_0041::CTestStep_MMF_CTLFRM_U_0041()
1.2662 + /** Constructor
1.2663 + */
1.2664 + {
1.2665 + // store the name of this test case
1.2666 + // this is the name that is used by the script file
1.2667 + // Each test step initialises it's own name
1.2668 + iTestStepName = _L("MM-MMF-CTLFRM-U-0041");
1.2669 +
1.2670 +
1.2671 + }
1.2672 +
1.2673 +TVerdict CTestStep_MMF_CTLFRM_U_0041::DoTestStepL( void )
1.2674 +/** As TSU_MMF_CTLFRM_U_0040
1.2675 +
1.2676 + * Use case: N/A
1.2677 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2678 + */
1.2679 + {
1.2680 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2681 + __MM_HEAP_MARK;
1.2682 +
1.2683 + TVerdict verdict = EPass;
1.2684 + _LIT8(KExpectedResult, "MapdGetMaxVolumeL Called");
1.2685 +
1.2686 + TMMFPrioritySettings settings;
1.2687 + TInt error = KErrNone;
1.2688 + RMMFController controller;
1.2689 +
1.2690 + settings.iPriority = 1;
1.2691 + settings.iPref = EMdaPriorityPreferenceTime;
1.2692 + settings.iState = EMMFStateIdle;
1.2693 +
1.2694 + TInt maxVolume = 0;
1.2695 +
1.2696 + // Open a Custom Controller
1.2697 + error = controller.Open(KTstControllerUid,settings);
1.2698 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2699 +
1.2700 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.2701 +
1.2702 + error = customCommands.GetMaxVolume(maxVolume);
1.2703 +
1.2704 + //------------------------------------//
1.2705 + // Getting Log from Custom Controller //
1.2706 + //------------------------------------//
1.2707 + if (!error)
1.2708 + {
1.2709 + INFO_PRINTF1(_L("Getting Log"));
1.2710 +
1.2711 + TBuf8<64> memFunctionText;
1.2712 +
1.2713 + TUid uid = {KMmfTestControllerUid};
1.2714 + TMMFMessageDestination handleInfo(uid);
1.2715 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2716 +
1.2717 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2718 +
1.2719 + TBuf<64> memFunctionText16;
1.2720 + memFunctionText16.Copy(memFunctionText);
1.2721 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.2722 +
1.2723 + if (memFunctionText != KExpectedResult)
1.2724 + {
1.2725 + verdict = EFail;
1.2726 + }
1.2727 +
1.2728 + }
1.2729 + //------------------------------------//
1.2730 +
1.2731 +
1.2732 + if (error)
1.2733 + {
1.2734 + verdict = EFail;
1.2735 + }
1.2736 +
1.2737 + INFO_PRINTF1(_L("Closing Controller"));
1.2738 + controller.Close();
1.2739 +
1.2740 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2741 + __MM_HEAP_MARKEND;
1.2742 +
1.2743 + return verdict;
1.2744 + }
1.2745 +
1.2746 +//---------------------------------------------------------------
1.2747 +
1.2748 +CTestStep_MMF_CTLFRM_U_0042::CTestStep_MMF_CTLFRM_U_0042()
1.2749 + /** Constructor
1.2750 + */
1.2751 + {
1.2752 + // store the name of this test case
1.2753 + // this is the name that is used by the script file
1.2754 + // Each test step initialises it's own name
1.2755 + iTestStepName = _L("MM-MMF-CTLFRM-U-0042");
1.2756 +
1.2757 +
1.2758 + }
1.2759 +
1.2760 +TVerdict CTestStep_MMF_CTLFRM_U_0042::DoTestStepL( void )
1.2761 +/** As TSU_MMF_CTLFRM_U_0040
1.2762 + * Use case: N/A
1.2763 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2764 + */
1.2765 + {
1.2766 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2767 + __MM_HEAP_MARK;
1.2768 +
1.2769 + TVerdict verdict = EPass;
1.2770 + _LIT8(KExpectedResult, "MapdGetVolumeL Called");
1.2771 +
1.2772 + TMMFPrioritySettings settings;
1.2773 + TInt error = KErrNone;
1.2774 + RMMFController controller;
1.2775 +
1.2776 + settings.iPriority = 1;
1.2777 + settings.iPref = EMdaPriorityPreferenceTime;
1.2778 + settings.iState = EMMFStateIdle;
1.2779 +
1.2780 + TInt volume = 0;
1.2781 +
1.2782 + // Open a Custom Controller
1.2783 + error = controller.Open(KTstControllerUid,settings);
1.2784 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2785 +
1.2786 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.2787 +
1.2788 + error = customCommands.GetVolume(volume);
1.2789 +
1.2790 + //------------------------------------//
1.2791 + // Getting Log from Custom Controller //
1.2792 + //------------------------------------//
1.2793 + if (!error)
1.2794 + {
1.2795 + INFO_PRINTF1(_L("Getting Log"));
1.2796 +
1.2797 + TBuf8<64> memFunctionText;
1.2798 +
1.2799 + TUid uid = {KMmfTestControllerUid};
1.2800 + TMMFMessageDestination handleInfo(uid);
1.2801 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2802 +
1.2803 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2804 +
1.2805 + TBuf<64> memFunctionText16;
1.2806 + memFunctionText16.Copy(memFunctionText);
1.2807 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.2808 +
1.2809 + if (memFunctionText != KExpectedResult)
1.2810 + {
1.2811 + verdict = EFail;
1.2812 + }
1.2813 +
1.2814 + }
1.2815 + //------------------------------------//
1.2816 +
1.2817 + if (error)
1.2818 + {
1.2819 + verdict = EFail;
1.2820 + }
1.2821 +
1.2822 + INFO_PRINTF1(_L("Closing Controller"));
1.2823 + controller.Close();
1.2824 +
1.2825 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2826 + __MM_HEAP_MARKEND;
1.2827 +
1.2828 + return verdict;
1.2829 + }
1.2830 +
1.2831 +//---------------------------------------------------------------
1.2832 +
1.2833 +
1.2834 +CTestStep_MMF_CTLFRM_U_0043::CTestStep_MMF_CTLFRM_U_0043()
1.2835 + /** Constructor
1.2836 + */
1.2837 + {
1.2838 + // store the name of this test case
1.2839 + // this is the name that is used by the script file
1.2840 + // Each test step initialises it's own name
1.2841 + iTestStepName = _L("MM-MMF-CTLFRM-U-0043");
1.2842 +
1.2843 +
1.2844 + }
1.2845 +
1.2846 +TVerdict CTestStep_MMF_CTLFRM_U_0043::DoTestStepL( void )
1.2847 +/** As TSU_MMF_CTLFRM_U_0040
1.2848 + * Use case: N/A
1.2849 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2850 + */
1.2851 + {
1.2852 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2853 + __MM_HEAP_MARK;
1.2854 +
1.2855 + TVerdict verdict = EPass;
1.2856 + _LIT8(KExpectedResult, "MapdSetVolumeRampL Called");
1.2857 +
1.2858 + TMMFPrioritySettings settings;
1.2859 + TInt error = KErrNone;
1.2860 + RMMFController controller;
1.2861 +
1.2862 + settings.iPriority = 1;
1.2863 + settings.iPref = EMdaPriorityPreferenceTime;
1.2864 + settings.iState = EMMFStateIdle;
1.2865 +
1.2866 + const TInt64 interval = 10;
1.2867 + TTimeIntervalMicroSeconds rampData(interval);
1.2868 +
1.2869 + // Open a Custom Controller
1.2870 + error = controller.Open(KTstControllerUid,settings);
1.2871 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2872 +
1.2873 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.2874 +
1.2875 + error = customCommands.SetVolumeRamp(rampData);
1.2876 +
1.2877 + //------------------------------------//
1.2878 + // Getting Log from Custom Controller //
1.2879 + //------------------------------------//
1.2880 + if (!error)
1.2881 + {
1.2882 + INFO_PRINTF1(_L("Getting Log"));
1.2883 +
1.2884 + TBuf8<64> memFunctionText;
1.2885 +
1.2886 + TUid uid = {KMmfTestControllerUid};
1.2887 + TMMFMessageDestination handleInfo(uid);
1.2888 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2889 +
1.2890 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2891 +
1.2892 + TBuf<64> memFunctionText16;
1.2893 + memFunctionText16.Copy(memFunctionText);
1.2894 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.2895 +
1.2896 + if (memFunctionText != KExpectedResult)
1.2897 + {
1.2898 + verdict = EFail;
1.2899 + }
1.2900 +
1.2901 + }
1.2902 + //------------------------------------//
1.2903 +
1.2904 + if (error)
1.2905 + {
1.2906 + verdict = EFail;
1.2907 + }
1.2908 +
1.2909 + INFO_PRINTF1(_L("Closing Controller"));
1.2910 + controller.Close();
1.2911 +
1.2912 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.2913 + __MM_HEAP_MARKEND;
1.2914 +
1.2915 + return verdict;
1.2916 + }
1.2917 +
1.2918 +//---------------------------------------------------------------
1.2919 +
1.2920 +CTestStep_MMF_CTLFRM_U_0044::CTestStep_MMF_CTLFRM_U_0044()
1.2921 + /** Constructor
1.2922 + */
1.2923 + {
1.2924 + // store the name of this test case
1.2925 + // this is the name that is used by the script file
1.2926 + // Each test step initialises it's own name
1.2927 + iTestStepName = _L("MM-MMF-CTLFRM-U-0044");
1.2928 +
1.2929 +
1.2930 + }
1.2931 +
1.2932 +TVerdict CTestStep_MMF_CTLFRM_U_0044::DoTestStepL( void )
1.2933 +/** As TSU_MMF_CTLFRM_U_0040
1.2934 + * Use case: N/A
1.2935 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.2936 + */
1.2937 + {
1.2938 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.2939 + __MM_HEAP_MARK;
1.2940 +
1.2941 + TVerdict verdict = EPass;
1.2942 + _LIT8(KExpectedResult, "MapdSetBalanceL Called");
1.2943 +
1.2944 + TMMFPrioritySettings settings;
1.2945 + TInt error = KErrNone;
1.2946 + RMMFController controller;
1.2947 +
1.2948 + settings.iPriority = 1;
1.2949 + settings.iPref = EMdaPriorityPreferenceTime;
1.2950 + settings.iState = EMMFStateIdle;
1.2951 +
1.2952 + TInt balance = 5;
1.2953 +
1.2954 + // Open a Custom Controller
1.2955 + error = controller.Open(KTstControllerUid,settings);
1.2956 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.2957 +
1.2958 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.2959 +
1.2960 + error = customCommands.SetBalance(balance);
1.2961 +
1.2962 +
1.2963 + //------------------------------------//
1.2964 + // Getting Log from Custom Controller //
1.2965 + //------------------------------------//
1.2966 + if (!error)
1.2967 + {
1.2968 + INFO_PRINTF1(_L("Getting Log"));
1.2969 +
1.2970 + TBuf8<64> memFunctionText;
1.2971 +
1.2972 + TUid uid = {KMmfTestControllerUid};
1.2973 + TMMFMessageDestination handleInfo(uid);
1.2974 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.2975 +
1.2976 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.2977 +
1.2978 + TBuf<64> memFunctionText16;
1.2979 + memFunctionText16.Copy(memFunctionText);
1.2980 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.2981 +
1.2982 + if (memFunctionText != KExpectedResult)
1.2983 + {
1.2984 + verdict = EFail;
1.2985 + }
1.2986 +
1.2987 + }
1.2988 + //------------------------------------//
1.2989 +
1.2990 +
1.2991 + if (error)
1.2992 + {
1.2993 + verdict = EFail;
1.2994 + }
1.2995 +
1.2996 + INFO_PRINTF1(_L("Closing Controller"));
1.2997 + controller.Close();
1.2998 +
1.2999 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3000 + __MM_HEAP_MARKEND;
1.3001 +
1.3002 + return verdict;
1.3003 + }
1.3004 +
1.3005 +//---------------------------------------------------------------
1.3006 +
1.3007 +CTestStep_MMF_CTLFRM_U_0045::CTestStep_MMF_CTLFRM_U_0045()
1.3008 + /** Constructor
1.3009 + */
1.3010 + {
1.3011 + // store the name of this test case
1.3012 + // this is the name that is used by the script file
1.3013 + // Each test step initialises it's own name
1.3014 + iTestStepName = _L("MM-MMF-CTLFRM-U-0045");
1.3015 +
1.3016 +
1.3017 + }
1.3018 +
1.3019 +TVerdict CTestStep_MMF_CTLFRM_U_0045::DoTestStepL( void )
1.3020 +/** As TSU_MMF_CTLFRM_U_0040
1.3021 + * Use case: N/A
1.3022 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3023 + */
1.3024 + {
1.3025 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3026 + __MM_HEAP_MARK;
1.3027 +
1.3028 + TVerdict verdict = EPass;
1.3029 + _LIT8(KExpectedResult, "MapdGetBalanceL Called");
1.3030 +
1.3031 + TMMFPrioritySettings settings;
1.3032 + TInt error = KErrNone;
1.3033 + RMMFController controller;
1.3034 +
1.3035 + settings.iPriority = 1;
1.3036 + settings.iPref = EMdaPriorityPreferenceTime;
1.3037 + settings.iState = EMMFStateIdle;
1.3038 +
1.3039 + TInt balance = 5;
1.3040 +
1.3041 + // Open a Custom Controller
1.3042 + error = controller.Open(KTstControllerUid,settings);
1.3043 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3044 +
1.3045 + RMMFAudioPlayDeviceCustomCommands customCommands(controller);
1.3046 +
1.3047 + customCommands.GetBalance(balance);
1.3048 +
1.3049 + //------------------------------------//
1.3050 + // Getting Log from Custom Controller //
1.3051 + //------------------------------------//
1.3052 + if (!error)
1.3053 + {
1.3054 + INFO_PRINTF1(_L("Getting Log"));
1.3055 +
1.3056 + TBuf8<64> memFunctionText;
1.3057 +
1.3058 + TUid uid = {KMmfTestControllerUid};
1.3059 + TMMFMessageDestination handleInfo(uid);
1.3060 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3061 +
1.3062 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3063 +
1.3064 + TBuf<64> memFunctionText16;
1.3065 + memFunctionText16.Copy(memFunctionText);
1.3066 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3067 +
1.3068 + if (memFunctionText != KExpectedResult)
1.3069 + {
1.3070 + verdict = EFail;
1.3071 + }
1.3072 +
1.3073 + }
1.3074 + //------------------------------------//
1.3075 +
1.3076 +
1.3077 + if (error)
1.3078 + {
1.3079 + verdict = EFail;
1.3080 + }
1.3081 +
1.3082 + INFO_PRINTF1(_L("Closing Controller"));
1.3083 + controller.Close();
1.3084 +
1.3085 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3086 + __MM_HEAP_MARKEND;
1.3087 +
1.3088 + return verdict;
1.3089 + }
1.3090 +
1.3091 +//---------------------------------------------------------------
1.3092 +
1.3093 +CTestStep_MMF_CTLFRM_U_0050::CTestStep_MMF_CTLFRM_U_0050()
1.3094 + /** Constructor
1.3095 + */
1.3096 + {
1.3097 + // store the name of this test case
1.3098 + // this is the name that is used by the script file
1.3099 + // Each test step initialises it's own name
1.3100 + iTestStepName = _L("MM-MMF-CTLFRM-U-0050");
1.3101 +
1.3102 +
1.3103 + }
1.3104 +
1.3105 +TVerdict CTestStep_MMF_CTLFRM_U_0050::DoTestStepL( void )
1.3106 +/** As TSU_MMF_CTLFRM_U_0040
1.3107 + * Use case: N/A
1.3108 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3109 + */
1.3110 + {
1.3111 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3112 + __MM_HEAP_MARK;
1.3113 +
1.3114 + TVerdict verdict = EPass;
1.3115 + _LIT8(KExpectedResult, "MardSetGainL Called");
1.3116 +
1.3117 + TMMFPrioritySettings settings;
1.3118 + TInt error = KErrNone;
1.3119 + RMMFController controller;
1.3120 +
1.3121 + settings.iPriority = 1;
1.3122 + settings.iPref = EMdaPriorityPreferenceTime;
1.3123 + settings.iState = EMMFStateIdle;
1.3124 +
1.3125 + TInt gain = 5;
1.3126 +
1.3127 + // Open a Custom Controller
1.3128 + error = controller.Open(KTstControllerUid,settings);
1.3129 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3130 +
1.3131 + RMMFAudioRecordDeviceCustomCommands customCommands(controller);
1.3132 + error = customCommands.SetGain(gain);
1.3133 +
1.3134 + //------------------------------------//
1.3135 + // Getting Log from Custom Controller //
1.3136 + //------------------------------------//
1.3137 + if (!error)
1.3138 + {
1.3139 + INFO_PRINTF1(_L("Getting Log"));
1.3140 +
1.3141 + TBuf8<64> memFunctionText;
1.3142 +
1.3143 + TUid uid = {KMmfTestControllerUid};
1.3144 + TMMFMessageDestination handleInfo(uid);
1.3145 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3146 +
1.3147 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3148 +
1.3149 + TBuf<64> memFunctionText16;
1.3150 + memFunctionText16.Copy(memFunctionText);
1.3151 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3152 +
1.3153 + if (memFunctionText != KExpectedResult)
1.3154 + {
1.3155 + verdict = EFail;
1.3156 + }
1.3157 +
1.3158 + }
1.3159 + //------------------------------------//
1.3160 +
1.3161 + if (error)
1.3162 + {
1.3163 + verdict = EFail;
1.3164 + }
1.3165 +
1.3166 + INFO_PRINTF1(_L("Closing Controller"));
1.3167 + controller.Close();
1.3168 +
1.3169 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3170 + __MM_HEAP_MARKEND;
1.3171 +
1.3172 + return verdict;
1.3173 + }
1.3174 +
1.3175 +//---------------------------------------------------------------
1.3176 +
1.3177 +
1.3178 +CTestStep_MMF_CTLFRM_U_0051::CTestStep_MMF_CTLFRM_U_0051()
1.3179 + /** Constructor
1.3180 + */
1.3181 + {
1.3182 + // store the name of this test case
1.3183 + // this is the name that is used by the script file
1.3184 + // Each test step initialises it's own name
1.3185 + iTestStepName = _L("MM-MMF-CTLFRM-U-0051");
1.3186 +
1.3187 +
1.3188 + }
1.3189 +
1.3190 +TVerdict CTestStep_MMF_CTLFRM_U_0051::DoTestStepL( void )
1.3191 +/** As TSU_MMF_CTLFRM_U_0040
1.3192 + * Use case: N/A
1.3193 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3194 + */
1.3195 + {
1.3196 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3197 + __MM_HEAP_MARK;
1.3198 +
1.3199 + TVerdict verdict = EPass;
1.3200 + _LIT8(KExpectedResult, "MardGetMaxGainL Called");
1.3201 +
1.3202 + TMMFPrioritySettings settings;
1.3203 + TInt error = KErrNone;
1.3204 + RMMFController controller;
1.3205 +
1.3206 + settings.iPriority = 1;
1.3207 + settings.iPref = EMdaPriorityPreferenceTime;
1.3208 + settings.iState = EMMFStateIdle;
1.3209 +
1.3210 + TInt maxGain = 0;
1.3211 +
1.3212 + // Open a Custom Controller
1.3213 + error = controller.Open(KTstControllerUid,settings);
1.3214 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3215 +
1.3216 + RMMFAudioRecordDeviceCustomCommands customCommands(controller);
1.3217 + error = customCommands.GetMaxGain(maxGain);
1.3218 +
1.3219 + //------------------------------------//
1.3220 + // Getting Log from Custom Controller //
1.3221 + //------------------------------------//
1.3222 + if (!error)
1.3223 + {
1.3224 + INFO_PRINTF1(_L("Getting Log"));
1.3225 +
1.3226 + TBuf8<64> memFunctionText;
1.3227 +
1.3228 + TUid uid = {KMmfTestControllerUid};
1.3229 + TMMFMessageDestination handleInfo(uid);
1.3230 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3231 +
1.3232 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3233 +
1.3234 + TBuf<64> memFunctionText16;
1.3235 + memFunctionText16.Copy(memFunctionText);
1.3236 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3237 +
1.3238 + if (memFunctionText != KExpectedResult)
1.3239 + {
1.3240 + verdict = EFail;
1.3241 + }
1.3242 +
1.3243 + }
1.3244 + //------------------------------------//
1.3245 +
1.3246 + INFO_PRINTF2(_L("Max Gain: %d"),maxGain);
1.3247 +
1.3248 +
1.3249 + if (error)
1.3250 + {
1.3251 + verdict = EFail;
1.3252 + }
1.3253 +
1.3254 + INFO_PRINTF1(_L("Closing Controller"));
1.3255 + controller.Close();
1.3256 +
1.3257 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3258 + __MM_HEAP_MARKEND;
1.3259 +
1.3260 + return verdict;
1.3261 + }
1.3262 +
1.3263 +//---------------------------------------------------------------
1.3264 +
1.3265 +CTestStep_MMF_CTLFRM_U_0052::CTestStep_MMF_CTLFRM_U_0052()
1.3266 + /** Constructor
1.3267 + */
1.3268 + {
1.3269 + // store the name of this test case
1.3270 + // this is the name that is used by the script file
1.3271 + // Each test step initialises it's own name
1.3272 + iTestStepName = _L("MM-MMF-CTLFRM-U-0052");
1.3273 +
1.3274 +
1.3275 + }
1.3276 +
1.3277 +TVerdict CTestStep_MMF_CTLFRM_U_0052::DoTestStepL( void )
1.3278 +/** As TSU_MMF_CTLFRM_U_0040
1.3279 + * Use case: N/A
1.3280 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3281 + */
1.3282 + {
1.3283 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3284 + __MM_HEAP_MARK;
1.3285 +
1.3286 + TVerdict verdict = EPass;
1.3287 + _LIT8(KExpectedResult, "MardGetGainL Called");
1.3288 +
1.3289 + TMMFPrioritySettings settings;
1.3290 + TInt error = KErrNone;
1.3291 + RMMFController controller;
1.3292 +
1.3293 + settings.iPriority = 1;
1.3294 + settings.iPref = EMdaPriorityPreferenceTime;
1.3295 + settings.iState = EMMFStateIdle;
1.3296 +
1.3297 + TInt gain = 0;
1.3298 +
1.3299 + // Open a Custom Controller
1.3300 + error = controller.Open(KTstControllerUid,settings);
1.3301 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3302 +
1.3303 + RMMFAudioRecordDeviceCustomCommands customCommands(controller);
1.3304 +
1.3305 + error = customCommands.GetGain(gain);
1.3306 +
1.3307 + //------------------------------------//
1.3308 + // Getting Log from Custom Controller //
1.3309 + //------------------------------------//
1.3310 + if (!error)
1.3311 + {
1.3312 + INFO_PRINTF1(_L("Getting Log"));
1.3313 +
1.3314 + TBuf8<64> memFunctionText;
1.3315 +
1.3316 + TUid uid = {KMmfTestControllerUid};
1.3317 + TMMFMessageDestination handleInfo(uid);
1.3318 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3319 +
1.3320 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3321 +
1.3322 + TBuf<64> memFunctionText16;
1.3323 + memFunctionText16.Copy(memFunctionText);
1.3324 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3325 +
1.3326 + if (memFunctionText != KExpectedResult)
1.3327 + {
1.3328 + verdict = EFail;
1.3329 + }
1.3330 +
1.3331 + }
1.3332 + //------------------------------------//
1.3333 +
1.3334 + INFO_PRINTF2(_L("Gain: %d"),gain);
1.3335 +
1.3336 +
1.3337 + if (error)
1.3338 + {
1.3339 + verdict = EFail;
1.3340 + }
1.3341 +
1.3342 + INFO_PRINTF1(_L("Closing Controller"));
1.3343 + controller.Close();
1.3344 +
1.3345 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3346 + __MM_HEAP_MARKEND;
1.3347 +
1.3348 + return verdict;
1.3349 + }
1.3350 +
1.3351 +//---------------------------------------------------------------
1.3352 +
1.3353 +CTestStep_MMF_CTLFRM_U_0053::CTestStep_MMF_CTLFRM_U_0053()
1.3354 + /** Constructor
1.3355 + */
1.3356 + {
1.3357 + // store the name of this test case
1.3358 + // this is the name that is used by the script file
1.3359 + // Each test step initialises it's own name
1.3360 + iTestStepName = _L("MM-MMF-CTLFRM-U-0053");
1.3361 +
1.3362 +
1.3363 + }
1.3364 +
1.3365 +TVerdict CTestStep_MMF_CTLFRM_U_0053::DoTestStepL( void )
1.3366 +/** As TSU_MMF_CTLFRM_U_0040
1.3367 + * Use case: N/A
1.3368 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3369 + */
1.3370 + {
1.3371 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3372 + __MM_HEAP_MARK;
1.3373 +
1.3374 + TVerdict verdict = EPass;
1.3375 + _LIT8(KExpectedResult, "MardSetBalanceL Called");
1.3376 +
1.3377 + TMMFPrioritySettings settings;
1.3378 + TInt error = KErrNone;
1.3379 + RMMFController controller;
1.3380 +
1.3381 + settings.iPriority = 1;
1.3382 + settings.iPref = EMdaPriorityPreferenceTime;
1.3383 + settings.iState = EMMFStateIdle;
1.3384 +
1.3385 + TInt balance = 5;
1.3386 +
1.3387 + // Open a Custom Controller
1.3388 + error = controller.Open(KTstControllerUid,settings);
1.3389 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3390 +
1.3391 + RMMFAudioRecordDeviceCustomCommands customCommands(controller);
1.3392 + error = customCommands.SetBalance(balance);
1.3393 +
1.3394 + //------------------------------------//
1.3395 + // Getting Log from Custom Controller //
1.3396 + //------------------------------------//
1.3397 + if (!error)
1.3398 + {
1.3399 + INFO_PRINTF1(_L("Getting Log"));
1.3400 +
1.3401 + TBuf8<64> memFunctionText;
1.3402 +
1.3403 + TUid uid = {KMmfTestControllerUid};
1.3404 + TMMFMessageDestination handleInfo(uid);
1.3405 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3406 +
1.3407 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3408 +
1.3409 + TBuf<64> memFunctionText16;
1.3410 + memFunctionText16.Copy(memFunctionText);
1.3411 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3412 +
1.3413 + if (memFunctionText != KExpectedResult)
1.3414 + {
1.3415 + verdict = EFail;
1.3416 + }
1.3417 +
1.3418 + }
1.3419 + //------------------------------------//
1.3420 +
1.3421 + if (error)
1.3422 + {
1.3423 + verdict = EFail;
1.3424 + }
1.3425 +
1.3426 + INFO_PRINTF1(_L("Closing Controller"));
1.3427 + controller.Close();
1.3428 +
1.3429 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3430 + __MM_HEAP_MARKEND;
1.3431 +
1.3432 + return verdict;
1.3433 + }
1.3434 +
1.3435 +//---------------------------------------------------------------
1.3436 +
1.3437 +CTestStep_MMF_CTLFRM_U_0054::CTestStep_MMF_CTLFRM_U_0054()
1.3438 + /** Constructor
1.3439 + */
1.3440 + {
1.3441 + // store the name of this test case
1.3442 + // this is the name that is used by the script file
1.3443 + // Each test step initialises it's own name
1.3444 + iTestStepName = _L("MM-MMF-CTLFRM-U-0054");
1.3445 +
1.3446 +
1.3447 + }
1.3448 +
1.3449 +TVerdict CTestStep_MMF_CTLFRM_U_0054::DoTestStepL( void )
1.3450 +/** As TSU_MMF_CTLFRM_U_0040
1.3451 + * Use case: N/A
1.3452 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3453 + */
1.3454 + {
1.3455 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3456 + __MM_HEAP_MARK;
1.3457 +
1.3458 + TVerdict verdict = EPass;
1.3459 + _LIT8(KExpectedResult, "MardGetBalanceL Called");
1.3460 +
1.3461 + TMMFPrioritySettings settings;
1.3462 + TInt error = KErrNone;
1.3463 + RMMFController controller;
1.3464 +
1.3465 + settings.iPriority = 1;
1.3466 + settings.iPref = EMdaPriorityPreferenceTime;
1.3467 + settings.iState = EMMFStateIdle;
1.3468 +
1.3469 + TInt balance = 0;
1.3470 +
1.3471 + // Open a Custom Controller
1.3472 + error = controller.Open(KTstControllerUid,settings);
1.3473 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3474 +
1.3475 + RMMFAudioRecordDeviceCustomCommands customCommands(controller);
1.3476 + error = customCommands.GetBalance(balance);
1.3477 +
1.3478 + //------------------------------------//
1.3479 + // Getting Log from Custom Controller //
1.3480 + //------------------------------------//
1.3481 + if (!error)
1.3482 + {
1.3483 + INFO_PRINTF1(_L("Getting Log"));
1.3484 +
1.3485 + TBuf8<64> memFunctionText;
1.3486 +
1.3487 + TUid uid = {KMmfTestControllerUid};
1.3488 + TMMFMessageDestination handleInfo(uid);
1.3489 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3490 +
1.3491 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3492 +
1.3493 + TBuf<64> memFunctionText16;
1.3494 + memFunctionText16.Copy(memFunctionText);
1.3495 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3496 +
1.3497 + if (memFunctionText != KExpectedResult)
1.3498 + {
1.3499 + verdict = EFail;
1.3500 + }
1.3501 +
1.3502 + }
1.3503 + //------------------------------------//
1.3504 +
1.3505 + INFO_PRINTF2(_L("Balance: %d"),balance);
1.3506 +
1.3507 + if (error)
1.3508 + {
1.3509 + verdict = EFail;
1.3510 + }
1.3511 +
1.3512 + INFO_PRINTF1(_L("Closing Controller"));
1.3513 + controller.Close();
1.3514 +
1.3515 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3516 + __MM_HEAP_MARKEND;
1.3517 +
1.3518 + return verdict;
1.3519 + }
1.3520 +
1.3521 +//---------------------------------------------------------------
1.3522 +
1.3523 +CTestStep_MMF_CTLFRM_U_0060::CTestStep_MMF_CTLFRM_U_0060()
1.3524 + /** Constructor
1.3525 + */
1.3526 + {
1.3527 + // store the name of this test case
1.3528 + // this is the name that is used by the script file
1.3529 + // Each test step initialises it's own name
1.3530 + iTestStepName = _L("MM-MMF-CTLFRM-U-0060");
1.3531 +
1.3532 +
1.3533 + }
1.3534 +
1.3535 +TVerdict CTestStep_MMF_CTLFRM_U_0060::DoTestStepL( void )
1.3536 +/** As TSU_MMF_CTLFRM_U_0040
1.3537 + * Use case: N/A
1.3538 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3539 + */
1.3540 + {
1.3541 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3542 + __MM_HEAP_MARK;
1.3543 +
1.3544 + TVerdict verdict = EPass;
1.3545 + _LIT8(KExpectedResult, "MapdSetPlaybackWindowL Called");
1.3546 +
1.3547 + TMMFPrioritySettings settings;
1.3548 + TInt error = KErrNone;
1.3549 + RMMFController controller;
1.3550 +
1.3551 + settings.iPriority = 1;
1.3552 + settings.iPref = EMdaPriorityPreferenceTime;
1.3553 + settings.iState = EMMFStateIdle;
1.3554 +
1.3555 + const TInt64 interval1 = 10;
1.3556 + TTimeIntervalMicroSeconds start(interval1);
1.3557 +
1.3558 + const TInt64 interval2 = 25;
1.3559 + TTimeIntervalMicroSeconds end(interval2);
1.3560 +
1.3561 + // Open a Custom Controller
1.3562 + error = controller.Open(KTstControllerUid,settings);
1.3563 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3564 +
1.3565 + RMMFAudioPlayControllerCustomCommands customCommands(controller);
1.3566 + error = customCommands.SetPlaybackWindow(start,end);
1.3567 +
1.3568 + //------------------------------------//
1.3569 + // Getting Log from Custom Controller //
1.3570 + //------------------------------------//
1.3571 + if (!error)
1.3572 + {
1.3573 + INFO_PRINTF1(_L("Getting Log"));
1.3574 +
1.3575 + TBuf8<64> memFunctionText;
1.3576 +
1.3577 + TUid uid = {KMmfTestControllerUid};
1.3578 + TMMFMessageDestination handleInfo(uid);
1.3579 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3580 +
1.3581 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3582 +
1.3583 + TBuf<64> memFunctionText16;
1.3584 + memFunctionText16.Copy(memFunctionText);
1.3585 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.3586 +
1.3587 + if (memFunctionText != KExpectedResult)
1.3588 + {
1.3589 + verdict = EFail;
1.3590 + }
1.3591 +
1.3592 + }
1.3593 + //------------------------------------//
1.3594 +
1.3595 + if (error)
1.3596 + {
1.3597 + verdict = EFail;
1.3598 + }
1.3599 +
1.3600 + INFO_PRINTF1(_L("Closing Controller"));
1.3601 + controller.Close();
1.3602 +
1.3603 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3604 + __MM_HEAP_MARKEND;
1.3605 +
1.3606 + return verdict;
1.3607 + }
1.3608 +
1.3609 +//---------------------------------------------------------------
1.3610 +
1.3611 +CTestStep_MMF_CTLFRM_U_0061::CTestStep_MMF_CTLFRM_U_0061()
1.3612 + /** Constructor
1.3613 + */
1.3614 + {
1.3615 + // store the name of this test case
1.3616 + // this is the name that is used by the script file
1.3617 + // Each test step initialises it's own name
1.3618 + iTestStepName = _L("MM-MMF-CTLFRM-U-0061");
1.3619 +
1.3620 +
1.3621 + }
1.3622 +
1.3623 +TVerdict CTestStep_MMF_CTLFRM_U_0061::DoTestStepL( void )
1.3624 +/** As TSU_MMF_CTLFRM_U_0040
1.3625 + * Use case: N/A
1.3626 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3627 + */
1.3628 + {
1.3629 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3630 + __MM_HEAP_MARK;
1.3631 +
1.3632 + TVerdict verdict = EPass;
1.3633 + _LIT8(KExpectedResult, "MapdDeletePlaybackWindowL Called");
1.3634 +
1.3635 + TMMFPrioritySettings settings;
1.3636 + TInt error = KErrNone;
1.3637 + RMMFController controller;
1.3638 +
1.3639 + settings.iPriority = 1;
1.3640 + settings.iPref = EMdaPriorityPreferenceTime;
1.3641 + settings.iState = EMMFStateIdle;
1.3642 +
1.3643 + // Open a Custom Controller
1.3644 + error = controller.Open(KTstControllerUid,settings);
1.3645 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3646 +
1.3647 + RMMFAudioPlayControllerCustomCommands customCommands(controller);
1.3648 + error = customCommands.DeletePlaybackWindow();
1.3649 +
1.3650 + //------------------------------------//
1.3651 + // Getting Log from Custom Controller //
1.3652 + //------------------------------------//
1.3653 + if (!error)
1.3654 + {
1.3655 + INFO_PRINTF1(_L("Getting Log"));
1.3656 +
1.3657 + TBuf8<64> memFunctionText;
1.3658 +
1.3659 + TUid uid = {KMmfTestControllerUid};
1.3660 + TMMFMessageDestination handleInfo(uid);
1.3661 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3662 +
1.3663 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3664 +
1.3665 + TBuf<64> memFunctionText16;
1.3666 + memFunctionText16.Copy(memFunctionText);
1.3667 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.3668 +
1.3669 + if (memFunctionText != KExpectedResult)
1.3670 + {
1.3671 + verdict = EFail;
1.3672 + }
1.3673 +
1.3674 + }
1.3675 + //------------------------------------//
1.3676 +
1.3677 + if (error)
1.3678 + {
1.3679 + verdict = EFail;
1.3680 + }
1.3681 +
1.3682 + INFO_PRINTF1(_L("Closing Controller"));
1.3683 + controller.Close();
1.3684 +
1.3685 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3686 + __MM_HEAP_MARKEND;
1.3687 +
1.3688 + return verdict;
1.3689 + }
1.3690 +
1.3691 +//---------------------------------------------------------------
1.3692 +
1.3693 +
1.3694 +CTestStep_MMF_CTLFRM_U_0070::CTestStep_MMF_CTLFRM_U_0070()
1.3695 + /** Constructor
1.3696 + */
1.3697 + {
1.3698 + // store the name of this test case
1.3699 + // this is the name that is used by the script file
1.3700 + // Each test step initialises it's own name
1.3701 + iTestStepName = _L("MM-MMF-CTLFRM-U-0070");
1.3702 +
1.3703 +
1.3704 + }
1.3705 +
1.3706 +TVerdict CTestStep_MMF_CTLFRM_U_0070::DoTestStepL( void )
1.3707 +/** As TSU_MMF_CTLFRM_U_0040
1.3708 + * Use case: N/A
1.3709 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3710 + */
1.3711 + {
1.3712 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3713 + __MM_HEAP_MARK;
1.3714 +
1.3715 + TVerdict verdict = EPass;
1.3716 + _LIT8(KExpectedResult, "MarcGetRecordTimeAvailableL Called");
1.3717 +
1.3718 + TMMFPrioritySettings settings;
1.3719 + TInt error = KErrNone;
1.3720 + RMMFController controller;
1.3721 +
1.3722 + settings.iPriority = 1;
1.3723 + settings.iPref = EMdaPriorityPreferenceTime;
1.3724 + settings.iState = EMMFStateIdle;
1.3725 +
1.3726 + const TInt64 interval = 0;
1.3727 + TTimeIntervalMicroSeconds recordTime(interval);
1.3728 +
1.3729 + // Open a Custom Controller
1.3730 + error = controller.Open(KTstControllerUid,settings);
1.3731 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3732 +
1.3733 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.3734 + error = customCommands.GetRecordTimeAvailable(recordTime);
1.3735 +
1.3736 + INFO_PRINTF2(_L("Record Time Available %d"),recordTime.Int64());
1.3737 +
1.3738 + //------------------------------------//
1.3739 + // Getting Log from Custom Controller //
1.3740 + //------------------------------------//
1.3741 + if (!error)
1.3742 + {
1.3743 + INFO_PRINTF1(_L("Getting Log"));
1.3744 +
1.3745 + TBuf8<64> memFunctionText;
1.3746 +
1.3747 + TUid uid = {KMmfTestControllerUid};
1.3748 + TMMFMessageDestination handleInfo(uid);
1.3749 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3750 +
1.3751 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3752 +
1.3753 + TBuf<64> memFunctionText16;
1.3754 + memFunctionText16.Copy(memFunctionText);
1.3755 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.3756 +
1.3757 + if (memFunctionText != KExpectedResult)
1.3758 + {
1.3759 + verdict = EFail;
1.3760 + }
1.3761 +
1.3762 + }
1.3763 + //------------------------------------//
1.3764 +
1.3765 + if (error)
1.3766 + {
1.3767 + verdict = EFail;
1.3768 + }
1.3769 +
1.3770 + INFO_PRINTF1(_L("Closing Controller"));
1.3771 + controller.Close();
1.3772 +
1.3773 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3774 + __MM_HEAP_MARKEND;
1.3775 +
1.3776 + return verdict;
1.3777 + }
1.3778 +
1.3779 +//---------------------------------------------------------------
1.3780 +
1.3781 +CTestStep_MMF_CTLFRM_U_0071::CTestStep_MMF_CTLFRM_U_0071()
1.3782 + /** Constructor
1.3783 + */
1.3784 + {
1.3785 + // store the name of this test case
1.3786 + // this is the name that is used by the script file
1.3787 + // Each test step initialises it's own name
1.3788 + iTestStepName = _L("MM-MMF-CTLFRM-U-0071");
1.3789 +
1.3790 +
1.3791 + }
1.3792 +
1.3793 +TVerdict CTestStep_MMF_CTLFRM_U_0071::DoTestStepL( void )
1.3794 +/** As TSU_MMF_CTLFRM_U_0040
1.3795 + * Use case: N/A
1.3796 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3797 + */
1.3798 + {
1.3799 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3800 + __MM_HEAP_MARK;
1.3801 +
1.3802 + TVerdict verdict = EPass;
1.3803 + _LIT8(KExpectedResult, "MarcSetMaxDurationL Called");
1.3804 +
1.3805 + TMMFPrioritySettings settings;
1.3806 + TInt error = KErrNone;
1.3807 + RMMFController controller;
1.3808 +
1.3809 + settings.iPriority = 1;
1.3810 + settings.iPref = EMdaPriorityPreferenceTime;
1.3811 + settings.iState = EMMFStateIdle;
1.3812 +
1.3813 + const TInt64 interval = 25;
1.3814 + TTimeIntervalMicroSeconds maxDuration(interval);
1.3815 +
1.3816 + // Open a Custom Controller
1.3817 + error = controller.Open(KTstControllerUid,settings);
1.3818 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3819 +
1.3820 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.3821 + error = customCommands.SetMaxDuration(maxDuration);
1.3822 +
1.3823 + //------------------------------------//
1.3824 + // Getting Log from Custom Controller //
1.3825 + //------------------------------------//
1.3826 + if (!error)
1.3827 + {
1.3828 + INFO_PRINTF1(_L("Getting Log"));
1.3829 +
1.3830 + TBuf8<64> memFunctionText;
1.3831 +
1.3832 + TUid uid = {KMmfTestControllerUid};
1.3833 + TMMFMessageDestination handleInfo(uid);
1.3834 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3835 +
1.3836 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3837 +
1.3838 + TBuf<64> memFunctionText16;
1.3839 + memFunctionText16.Copy(memFunctionText);
1.3840 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.3841 +
1.3842 + if (memFunctionText != KExpectedResult)
1.3843 + {
1.3844 + verdict = EFail;
1.3845 + }
1.3846 +
1.3847 + }
1.3848 + //------------------------------------//
1.3849 +
1.3850 + if (error)
1.3851 + {
1.3852 + verdict = EFail;
1.3853 + }
1.3854 +
1.3855 + INFO_PRINTF1(_L("Closing Controller"));
1.3856 + controller.Close();
1.3857 +
1.3858 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3859 + __MM_HEAP_MARKEND;
1.3860 +
1.3861 + return verdict;
1.3862 + }
1.3863 +
1.3864 +
1.3865 +//---------------------------------------------------------------
1.3866 +
1.3867 +CTestStep_MMF_CTLFRM_U_0072::CTestStep_MMF_CTLFRM_U_0072()
1.3868 + /** Constructor
1.3869 + */
1.3870 + {
1.3871 + // store the name of this test case
1.3872 + // this is the name that is used by the script file
1.3873 + // Each test step initialises it's own name
1.3874 + iTestStepName = _L("MM-MMF-CTLFRM-U-0072");
1.3875 +
1.3876 +
1.3877 + }
1.3878 +
1.3879 +TVerdict CTestStep_MMF_CTLFRM_U_0072::DoTestStepL( void )
1.3880 +/** As TSU_MMF_CTLFRM_U_0040
1.3881 + * Use case: N/A
1.3882 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3883 + */
1.3884 + {
1.3885 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3886 + __MM_HEAP_MARK;
1.3887 +
1.3888 + TVerdict verdict = EPass;
1.3889 + _LIT8(KExpectedResult, "MarcSetMaxFileSizeL Called");
1.3890 +
1.3891 + TMMFPrioritySettings settings;
1.3892 + TInt error = KErrNone;
1.3893 + RMMFController controller;
1.3894 +
1.3895 + settings.iPriority = 1;
1.3896 + settings.iPref = EMdaPriorityPreferenceTime;
1.3897 + settings.iState = EMMFStateIdle;
1.3898 +
1.3899 + const TInt fileSize = 10;
1.3900 +
1.3901 + // Open a Custom Controller
1.3902 + error = controller.Open(KTstControllerUid,settings);
1.3903 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3904 +
1.3905 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.3906 + error = customCommands.SetMaxFileSize(fileSize);
1.3907 +
1.3908 + //------------------------------------//
1.3909 + // Getting Log from Custom Controller //
1.3910 + //------------------------------------//
1.3911 + if (!error)
1.3912 + {
1.3913 + INFO_PRINTF1(_L("Getting Log"));
1.3914 +
1.3915 + TBuf8<64> memFunctionText;
1.3916 +
1.3917 + TUid uid = {KMmfTestControllerUid};
1.3918 + TMMFMessageDestination handleInfo(uid);
1.3919 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.3920 +
1.3921 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.3922 +
1.3923 + TBuf<64> memFunctionText16;
1.3924 + memFunctionText16.Copy(memFunctionText);
1.3925 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.3926 +
1.3927 + if (memFunctionText != KExpectedResult)
1.3928 + {
1.3929 + verdict = EFail;
1.3930 + }
1.3931 +
1.3932 + }
1.3933 + //------------------------------------//
1.3934 +
1.3935 +
1.3936 + if (error)
1.3937 + {
1.3938 + verdict = EFail;
1.3939 + }
1.3940 +
1.3941 + INFO_PRINTF1(_L("Closing Controller"));
1.3942 + controller.Close();
1.3943 +
1.3944 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.3945 + __MM_HEAP_MARKEND;
1.3946 +
1.3947 + return verdict;
1.3948 + }
1.3949 +
1.3950 +
1.3951 +//---------------------------------------------------------------
1.3952 +
1.3953 +CTestStep_MMF_CTLFRM_U_0073::CTestStep_MMF_CTLFRM_U_0073()
1.3954 + /** Constructor
1.3955 + */
1.3956 + {
1.3957 + // store the name of this test case
1.3958 + // this is the name that is used by the script file
1.3959 + // Each test step initialises it's own name
1.3960 + iTestStepName = _L("MM-MMF-CTLFRM-U-0073");
1.3961 +
1.3962 +
1.3963 + }
1.3964 +
1.3965 +TVerdict CTestStep_MMF_CTLFRM_U_0073::DoTestStepL( void )
1.3966 +/** As TSU_MMF_CTLFRM_U_0040
1.3967 + * Use case: N/A
1.3968 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.3969 + */
1.3970 + {
1.3971 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.3972 + __MM_HEAP_MARK;
1.3973 +
1.3974 + TVerdict verdict = EPass;
1.3975 + _LIT8(KExpectedResult, "MarcCropL Called");
1.3976 +
1.3977 + TMMFPrioritySettings settings;
1.3978 + TInt error = KErrNone;
1.3979 + RMMFController controller;
1.3980 +
1.3981 + settings.iPriority = 1;
1.3982 + settings.iPref = EMdaPriorityPreferenceTime;
1.3983 + settings.iState = EMMFStateIdle;
1.3984 +
1.3985 + // Open a Custom Controller
1.3986 + error = controller.Open(KTstControllerUid,settings);
1.3987 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.3988 +
1.3989 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.3990 + error = customCommands.Crop(ETrue);
1.3991 +
1.3992 + //------------------------------------//
1.3993 + // Getting Log from Custom Controller //
1.3994 + //------------------------------------//
1.3995 + if (!error)
1.3996 + {
1.3997 + INFO_PRINTF1(_L("Getting Log"));
1.3998 +
1.3999 + TBuf8<64> memFunctionText;
1.4000 +
1.4001 + TUid uid = {KMmfTestControllerUid};
1.4002 + TMMFMessageDestination handleInfo(uid);
1.4003 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.4004 +
1.4005 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.4006 +
1.4007 + TBuf<64> memFunctionText16;
1.4008 + memFunctionText16.Copy(memFunctionText);
1.4009 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.4010 +
1.4011 +
1.4012 + if (memFunctionText != KExpectedResult)
1.4013 + {
1.4014 + verdict = EFail;
1.4015 + }
1.4016 +
1.4017 + }
1.4018 + //------------------------------------//
1.4019 +
1.4020 + if (error)
1.4021 + {
1.4022 + verdict = EFail;
1.4023 + }
1.4024 +
1.4025 + INFO_PRINTF1(_L("Closing Controller"));
1.4026 + controller.Close();
1.4027 +
1.4028 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4029 + __MM_HEAP_MARKEND;
1.4030 +
1.4031 + return verdict;
1.4032 + }
1.4033 +
1.4034 +
1.4035 +//---------------------------------------------------------------
1.4036 +
1.4037 +CTestStep_MMF_CTLFRM_U_0074::CTestStep_MMF_CTLFRM_U_0074()
1.4038 + /** Constructor
1.4039 + */
1.4040 + {
1.4041 + // store the name of this test case
1.4042 + // this is the name that is used by the script file
1.4043 + // Each test step initialises it's own name
1.4044 + iTestStepName = _L("MM-MMF-CTLFRM-U-0074");
1.4045 +
1.4046 +
1.4047 + }
1.4048 +
1.4049 +TVerdict CTestStep_MMF_CTLFRM_U_0074::DoTestStepL( void )
1.4050 +/** As TSU_MMF_CTLFRM_U_0040
1.4051 + * Use case: N/A
1.4052 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4053 + */
1.4054 + {
1.4055 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4056 + __MM_HEAP_MARK;
1.4057 +
1.4058 + TVerdict verdict = EPass;
1.4059 + _LIT8(KExpectedResult, "MarcAddMetaDataEntryL Called");
1.4060 +
1.4061 + TMMFPrioritySettings settings;
1.4062 + TInt error = KErrNone;
1.4063 + RMMFController controller;
1.4064 +
1.4065 + CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL();
1.4066 + CleanupStack::PushL(metaEntry);
1.4067 +
1.4068 + settings.iPriority = 1;
1.4069 + settings.iPref = EMdaPriorityPreferenceTime;
1.4070 + settings.iState = EMMFStateIdle;
1.4071 +
1.4072 + // Open a Custom Controller
1.4073 + error = controller.Open(KTstControllerUid,settings);
1.4074 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4075 +
1.4076 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.4077 + customCommands.AddMetaDataEntryL(*metaEntry);
1.4078 +
1.4079 + //------------------------------------//
1.4080 + // Getting Log from Custom Controller //
1.4081 + //------------------------------------//
1.4082 + if (!error)
1.4083 + {
1.4084 + INFO_PRINTF1(_L("Getting Log"));
1.4085 +
1.4086 + TBuf8<64> memFunctionText;
1.4087 +
1.4088 + TUid uid = {KMmfTestControllerUid};
1.4089 + TMMFMessageDestination handleInfo(uid);
1.4090 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.4091 +
1.4092 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.4093 +
1.4094 + TBuf<64> memFunctionText16;
1.4095 + memFunctionText16.Copy(memFunctionText);
1.4096 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.4097 +
1.4098 + if (memFunctionText != KExpectedResult)
1.4099 + {
1.4100 + verdict = EFail;
1.4101 + }
1.4102 +
1.4103 + }
1.4104 + //------------------------------------//
1.4105 +
1.4106 + if (error)
1.4107 + {
1.4108 + verdict = EFail;
1.4109 + }
1.4110 +
1.4111 + INFO_PRINTF1(_L("Closing Controller"));
1.4112 + controller.Close();
1.4113 +
1.4114 + CleanupStack::PopAndDestroy();
1.4115 +
1.4116 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4117 + __MM_HEAP_MARKEND;
1.4118 +
1.4119 + return verdict;
1.4120 + }
1.4121 +
1.4122 +
1.4123 +//---------------------------------------------------------------
1.4124 +
1.4125 +
1.4126 +CTestStep_MMF_CTLFRM_U_0075::CTestStep_MMF_CTLFRM_U_0075()
1.4127 + /** Constructor
1.4128 + */
1.4129 + {
1.4130 + // store the name of this test case
1.4131 + // this is the name that is used by the script file
1.4132 + // Each test step initialises it's own name
1.4133 + iTestStepName = _L("MM-MMF-CTLFRM-U-0075");
1.4134 +
1.4135 +
1.4136 + }
1.4137 +
1.4138 +TVerdict CTestStep_MMF_CTLFRM_U_0075::DoTestStepL( void )
1.4139 +/** As TSU_MMF_CTLFRM_U_0040
1.4140 + * Use case: N/A
1.4141 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4142 + */
1.4143 + {
1.4144 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4145 + __MM_HEAP_MARK;
1.4146 +
1.4147 + TVerdict verdict = EPass;
1.4148 + _LIT8(KExpectedResult, "MarcRemoveMetaDataEntryL Called");
1.4149 +
1.4150 + TMMFPrioritySettings settings;
1.4151 + TInt error = KErrNone;
1.4152 + RMMFController controller;
1.4153 +
1.4154 + TInt index = 1;
1.4155 +
1.4156 + settings.iPriority = 1;
1.4157 + settings.iPref = EMdaPriorityPreferenceTime;
1.4158 + settings.iState = EMMFStateIdle;
1.4159 +
1.4160 + // Open a Custom Controller
1.4161 + error = controller.Open(KTstControllerUid,settings);
1.4162 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4163 +
1.4164 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.4165 + error = customCommands.RemoveMetaDataEntry(index);
1.4166 +
1.4167 + //------------------------------------//
1.4168 + // Getting Log from Custom Controller //
1.4169 + //------------------------------------//
1.4170 + if (!error)
1.4171 + {
1.4172 + INFO_PRINTF1(_L("Getting Log"));
1.4173 +
1.4174 + TBuf8<64> memFunctionText;
1.4175 +
1.4176 + TUid uid = {KMmfTestControllerUid};
1.4177 + TMMFMessageDestination handleInfo(uid);
1.4178 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.4179 +
1.4180 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.4181 +
1.4182 + TBuf<64> memFunctionText16;
1.4183 + memFunctionText16.Copy(memFunctionText);
1.4184 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.4185 +
1.4186 + if (memFunctionText != KExpectedResult)
1.4187 + {
1.4188 + verdict = EFail;
1.4189 + }
1.4190 +
1.4191 + }
1.4192 + //------------------------------------//
1.4193 +
1.4194 + if (error)
1.4195 + {
1.4196 + verdict = EFail;
1.4197 + }
1.4198 +
1.4199 + INFO_PRINTF1(_L("Closing Controller"));
1.4200 + controller.Close();
1.4201 +
1.4202 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4203 + __MM_HEAP_MARKEND;
1.4204 +
1.4205 + return verdict;
1.4206 + }
1.4207 +
1.4208 +
1.4209 +//---------------------------------------------------------------
1.4210 +
1.4211 +CTestStep_MMF_CTLFRM_U_0076::CTestStep_MMF_CTLFRM_U_0076()
1.4212 + /** Constructor
1.4213 + */
1.4214 + {
1.4215 + // store the name of this test case
1.4216 + // this is the name that is used by the script file
1.4217 + // Each test step initialises it's own name
1.4218 + iTestStepName = _L("MM-MMF-CTLFRM-U-0076");
1.4219 +
1.4220 +
1.4221 + }
1.4222 +
1.4223 +TVerdict CTestStep_MMF_CTLFRM_U_0076::DoTestStepL( void )
1.4224 +/** As TSU_MMF_CTLFRM_U_0040
1.4225 + * Use case: N/A
1.4226 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4227 + */
1.4228 + {
1.4229 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4230 + __MM_HEAP_MARK;
1.4231 +
1.4232 + TVerdict verdict = EPass;
1.4233 + _LIT8(KExpectedResult, "MarcReplaceMetaDataEntryL Called");
1.4234 +
1.4235 + TMMFPrioritySettings settings;
1.4236 + TInt error = KErrNone;
1.4237 + RMMFController controller;
1.4238 +
1.4239 + const TInt index = 1;
1.4240 + CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL();
1.4241 + CleanupStack::PushL(metaEntry);
1.4242 +
1.4243 + settings.iPriority = 1;
1.4244 + settings.iPref = EMdaPriorityPreferenceTime;
1.4245 + settings.iState = EMMFStateIdle;
1.4246 +
1.4247 + // Open a Custom Controller
1.4248 + error = controller.Open(KTstControllerUid,settings);
1.4249 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4250 +
1.4251 + RMMFAudioRecordControllerCustomCommands customCommands(controller);
1.4252 + customCommands.ReplaceMetaDataEntryL(index, *metaEntry);
1.4253 +
1.4254 + //------------------------------------//
1.4255 + // Getting Log from Custom Controller //
1.4256 + //------------------------------------//
1.4257 + if (!error)
1.4258 + {
1.4259 + INFO_PRINTF1(_L("Getting Log"));
1.4260 +
1.4261 + TBuf8<64> memFunctionText;
1.4262 +
1.4263 + TUid uid = {KMmfTestControllerUid};
1.4264 + TMMFMessageDestination handleInfo(uid);
1.4265 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.4266 +
1.4267 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.4268 +
1.4269 + TBuf<64> memFunctionText16;
1.4270 + memFunctionText16.Copy(memFunctionText);
1.4271 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.4272 +
1.4273 + if (memFunctionText != KExpectedResult)
1.4274 + {
1.4275 + verdict = EFail;
1.4276 + }
1.4277 +
1.4278 + }
1.4279 + //------------------------------------//
1.4280 +
1.4281 + if (error)
1.4282 + {
1.4283 + verdict = EFail;
1.4284 + }
1.4285 +
1.4286 + INFO_PRINTF1(_L("Closing Controller"));
1.4287 + controller.Close();
1.4288 +
1.4289 + CleanupStack::PopAndDestroy();
1.4290 +
1.4291 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4292 + __MM_HEAP_MARKEND;
1.4293 +
1.4294 + return verdict;
1.4295 + }
1.4296 +
1.4297 +
1.4298 +//---------------------------------------------------------------
1.4299 +
1.4300 +CTestStep_MMF_CTLFRM_U_0080::CTestStep_MMF_CTLFRM_U_0080()
1.4301 + /** Constructor
1.4302 + */
1.4303 + {
1.4304 + // store the name of this test case
1.4305 + // this is the name that is used by the script file
1.4306 + // Each test step initialises it's own name
1.4307 + iTestStepName = _L("MM-MMF-CTLFRM-U-0080");
1.4308 +
1.4309 +
1.4310 + }
1.4311 +
1.4312 +TVerdict CTestStep_MMF_CTLFRM_U_0080::DoTestStepL( void )
1.4313 +/** As TSU_MMF_CTLFRM_U_0040
1.4314 + * Use case: N/A
1.4315 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4316 + */
1.4317 + {
1.4318 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4319 + __MM_HEAP_MARK;
1.4320 +
1.4321 + TVerdict verdict = EPass;
1.4322 +
1.4323 + TMMFPrioritySettings settings;
1.4324 + TInt error = KErrNone;
1.4325 + RMMFController controller;
1.4326 +
1.4327 + const TUint sample = 1;
1.4328 +
1.4329 + settings.iPriority = 1;
1.4330 + settings.iPref = EMdaPriorityPreferenceTime;
1.4331 + settings.iState = EMMFStateIdle;
1.4332 +
1.4333 + // Open a Custom Controller
1.4334 + error = controller.Open(KTstControllerUid,settings);
1.4335 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4336 +
1.4337 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4338 + error = customCommands.SetSourceSampleRate(sample);
1.4339 + if (error)
1.4340 + {
1.4341 + verdict = EFail;
1.4342 + }
1.4343 +
1.4344 + INFO_PRINTF1(_L("Closing Controller"));
1.4345 + controller.Close();
1.4346 +
1.4347 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4348 + __MM_HEAP_MARKEND;
1.4349 +
1.4350 + return verdict;
1.4351 + }
1.4352 +
1.4353 +
1.4354 +//---------------------------------------------------------------
1.4355 +
1.4356 +CTestStep_MMF_CTLFRM_U_0081::CTestStep_MMF_CTLFRM_U_0081()
1.4357 + /** Constructor
1.4358 + */
1.4359 + {
1.4360 + // store the name of this test case
1.4361 + // this is the name that is used by the script file
1.4362 + // Each test step initialises it's own name
1.4363 + iTestStepName = _L("MM-MMF-CTLFRM-U-0081");
1.4364 +
1.4365 +
1.4366 + }
1.4367 +
1.4368 +TVerdict CTestStep_MMF_CTLFRM_U_0081::DoTestStepL( void )
1.4369 +/** As TSU_MMF_CTLFRM_U_0040
1.4370 + * Use case: N/A
1.4371 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4372 + */
1.4373 + {
1.4374 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4375 + __MM_HEAP_MARK;
1.4376 +
1.4377 + TVerdict verdict = EPass;
1.4378 +
1.4379 + TMMFPrioritySettings settings;
1.4380 + TInt error = KErrNone;
1.4381 + RMMFController controller;
1.4382 +
1.4383 + const TUint numChannels = 1;
1.4384 +
1.4385 + settings.iPriority = 1;
1.4386 + settings.iPref = EMdaPriorityPreferenceTime;
1.4387 + settings.iState = EMMFStateIdle;
1.4388 +
1.4389 + // Open a Custom Controller
1.4390 + error = controller.Open(KTstControllerUid,settings);
1.4391 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4392 +
1.4393 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4394 + error = customCommands.SetSourceNumChannels(numChannels);
1.4395 +
1.4396 + if (error)
1.4397 + {
1.4398 + verdict = EFail;
1.4399 + }
1.4400 +
1.4401 + INFO_PRINTF1(_L("Closing Controller"));
1.4402 + controller.Close();
1.4403 +
1.4404 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4405 + __MM_HEAP_MARKEND;
1.4406 +
1.4407 + return verdict;
1.4408 + }
1.4409 +
1.4410 +
1.4411 +//---------------------------------------------------------------
1.4412 +
1.4413 +
1.4414 +CTestStep_MMF_CTLFRM_U_0082::CTestStep_MMF_CTLFRM_U_0082()
1.4415 + /** Constructor
1.4416 + */
1.4417 + {
1.4418 + // store the name of this test case
1.4419 + // this is the name that is used by the script file
1.4420 + // Each test step initialises it's own name
1.4421 + iTestStepName = _L("MM-MMF-CTLFRM-U-0082");
1.4422 +
1.4423 +
1.4424 + }
1.4425 +
1.4426 +TVerdict CTestStep_MMF_CTLFRM_U_0082::DoTestStepL( void )
1.4427 +/** As TSU_MMF_CTLFRM_U_0040
1.4428 + * Use case: N/A
1.4429 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4430 + */
1.4431 + {
1.4432 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4433 + __MM_HEAP_MARK;
1.4434 +
1.4435 + TVerdict verdict = EPass;
1.4436 +
1.4437 + TMMFPrioritySettings settings;
1.4438 + TInt error = KErrNone;
1.4439 + RMMFController controller;
1.4440 +
1.4441 + TUid uid = {0x12345678};
1.4442 +
1.4443 + settings.iPriority = 1;
1.4444 + settings.iPref = EMdaPriorityPreferenceTime;
1.4445 + settings.iState = EMMFStateIdle;
1.4446 +
1.4447 + // Open a Custom Controller
1.4448 + error = controller.Open(KTstControllerUid,settings);
1.4449 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4450 +
1.4451 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4452 + error = customCommands.SetSourceFormat(uid);
1.4453 +
1.4454 + if (error)
1.4455 + {
1.4456 + verdict = EFail;
1.4457 + }
1.4458 +
1.4459 + INFO_PRINTF1(_L("Closing Controller"));
1.4460 + controller.Close();
1.4461 +
1.4462 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4463 + __MM_HEAP_MARKEND;
1.4464 +
1.4465 + return verdict;
1.4466 + }
1.4467 +
1.4468 +
1.4469 +//---------------------------------------------------------------
1.4470 +
1.4471 +CTestStep_MMF_CTLFRM_U_0083::CTestStep_MMF_CTLFRM_U_0083()
1.4472 + /** Constructor
1.4473 + */
1.4474 + {
1.4475 + // store the name of this test case
1.4476 + // this is the name that is used by the script file
1.4477 + // Each test step initialises it's own name
1.4478 + iTestStepName = _L("MM-MMF-CTLFRM-U-0083");
1.4479 +
1.4480 +
1.4481 + }
1.4482 +
1.4483 +TVerdict CTestStep_MMF_CTLFRM_U_0083::DoTestStepL( void )
1.4484 +/** As TSU_MMF_CTLFRM_U_0040
1.4485 + * Use case: N/A
1.4486 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4487 + */
1.4488 + {
1.4489 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4490 + __MM_HEAP_MARK;
1.4491 +
1.4492 + TVerdict verdict = EPass;
1.4493 +
1.4494 + TMMFPrioritySettings settings;
1.4495 + TInt error = KErrNone;
1.4496 + RMMFController controller;
1.4497 +
1.4498 + TUint sampleRate = 5;
1.4499 +
1.4500 + settings.iPriority = 1;
1.4501 + settings.iPref = EMdaPriorityPreferenceTime;
1.4502 + settings.iState = EMMFStateIdle;
1.4503 +
1.4504 + // Open a Custom Controller
1.4505 + error = controller.Open(KTstControllerUid,settings);
1.4506 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4507 +
1.4508 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4509 + error = customCommands.SetSinkSampleRate(sampleRate);
1.4510 +
1.4511 + if (error)
1.4512 + {
1.4513 + verdict = EFail;
1.4514 + }
1.4515 +
1.4516 + INFO_PRINTF1(_L("Closing Controller"));
1.4517 + controller.Close();
1.4518 +
1.4519 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4520 + __MM_HEAP_MARKEND;
1.4521 +
1.4522 + return verdict;
1.4523 + }
1.4524 +
1.4525 +
1.4526 +//---------------------------------------------------------------
1.4527 +
1.4528 +CTestStep_MMF_CTLFRM_U_0084::CTestStep_MMF_CTLFRM_U_0084()
1.4529 + /** Constructor
1.4530 + */
1.4531 + {
1.4532 + // store the name of this test case
1.4533 + // this is the name that is used by the script file
1.4534 + // Each test step initialises it's own name
1.4535 + iTestStepName = _L("MM-MMF-CTLFRM-U-0084");
1.4536 +
1.4537 +
1.4538 + }
1.4539 +
1.4540 +TVerdict CTestStep_MMF_CTLFRM_U_0084::DoTestStepL( void )
1.4541 +/** As TSU_MMF_CTLFRM_U_0040
1.4542 + * Use case: N/A
1.4543 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4544 + */
1.4545 + {
1.4546 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4547 + __MM_HEAP_MARK;
1.4548 +
1.4549 + TVerdict verdict = EPass;
1.4550 +
1.4551 + TMMFPrioritySettings settings;
1.4552 + TInt error = KErrNone;
1.4553 + RMMFController controller;
1.4554 +
1.4555 + TUint numChannels = 1;
1.4556 +
1.4557 + settings.iPriority = 1;
1.4558 + settings.iPref = EMdaPriorityPreferenceTime;
1.4559 + settings.iState = EMMFStateIdle;
1.4560 +
1.4561 + // Open a Custom Controller
1.4562 + error = controller.Open(KTstControllerUid,settings);
1.4563 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4564 +
1.4565 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4566 + error = customCommands.SetSinkNumChannels(numChannels);
1.4567 +
1.4568 + if (error)
1.4569 + {
1.4570 + verdict = EFail;
1.4571 + }
1.4572 +
1.4573 + INFO_PRINTF1(_L("Closing Controller"));
1.4574 + controller.Close();
1.4575 +
1.4576 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4577 + __MM_HEAP_MARKEND;
1.4578 +
1.4579 + return verdict;
1.4580 + }
1.4581 +
1.4582 +
1.4583 +//---------------------------------------------------------------
1.4584 +
1.4585 +CTestStep_MMF_CTLFRM_U_0085::CTestStep_MMF_CTLFRM_U_0085()
1.4586 + /** Constructor
1.4587 + */
1.4588 + {
1.4589 + // store the name of this test case
1.4590 + // this is the name that is used by the script file
1.4591 + // Each test step initialises it's own name
1.4592 + iTestStepName = _L("MM-MMF-CTLFRM-U-0085");
1.4593 +
1.4594 +
1.4595 + }
1.4596 +
1.4597 +TVerdict CTestStep_MMF_CTLFRM_U_0085::DoTestStepL( void )
1.4598 +/** As TSU_MMF_CTLFRM_U_0040
1.4599 + * Use case: N/A
1.4600 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4601 + */
1.4602 + {
1.4603 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4604 + __MM_HEAP_MARK;
1.4605 +
1.4606 + TVerdict verdict = EPass;
1.4607 +
1.4608 + TMMFPrioritySettings settings;
1.4609 + TInt error = KErrNone;
1.4610 + RMMFController controller;
1.4611 +
1.4612 + TUid sinkUid = {0x12345679};
1.4613 + CMMFMetaDataEntry* metaEntry = CMMFMetaDataEntry::NewL();
1.4614 + CleanupStack::PushL(metaEntry);
1.4615 +
1.4616 + settings.iPriority = 1;
1.4617 + settings.iPref = EMdaPriorityPreferenceTime;
1.4618 + settings.iState = EMMFStateIdle;
1.4619 +
1.4620 + // Open a Custom Controller
1.4621 + error = controller.Open(KTstControllerUid,settings);
1.4622 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4623 +
1.4624 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4625 + error = customCommands.SetSinkFormat(sinkUid);
1.4626 +
1.4627 + if (error)
1.4628 + {
1.4629 + verdict = EFail;
1.4630 + }
1.4631 +
1.4632 + INFO_PRINTF1(_L("Closing Controller"));
1.4633 + controller.Close();
1.4634 +
1.4635 + CleanupStack::PopAndDestroy(1);
1.4636 +
1.4637 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4638 + __MM_HEAP_MARKEND;
1.4639 +
1.4640 + return verdict;
1.4641 + }
1.4642 +
1.4643 +
1.4644 +//---------------------------------------------------------------
1.4645 +
1.4646 +
1.4647 +CTestStep_MMF_CTLFRM_U_0086::CTestStep_MMF_CTLFRM_U_0086()
1.4648 + /** Constructor
1.4649 + */
1.4650 + {
1.4651 + // store the name of this test case
1.4652 + // this is the name that is used by the script file
1.4653 + // Each test step initialises it's own name
1.4654 + iTestStepName = _L("MM-MMF-CTLFRM-U-0086");
1.4655 +
1.4656 +
1.4657 + }
1.4658 +
1.4659 +TVerdict CTestStep_MMF_CTLFRM_U_0086::DoTestStepL( void )
1.4660 +/** As TSU_MMF_CTLFRM_U_0040
1.4661 + * Use case: N/A
1.4662 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4663 + */
1.4664 + {
1.4665 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4666 + __MM_HEAP_MARK;
1.4667 +
1.4668 + TVerdict verdict = EPass;
1.4669 +
1.4670 + TMMFPrioritySettings settings;
1.4671 + TInt error = KErrNone;
1.4672 + RMMFController controller;
1.4673 +
1.4674 + TFourCC sourceFourCC(' ','P','1','6');
1.4675 + TFourCC sinkFourCC(' ','P','1','6');
1.4676 +
1.4677 + settings.iPriority = 1;
1.4678 + settings.iPref = EMdaPriorityPreferenceTime;
1.4679 + settings.iState = EMMFStateIdle;
1.4680 +
1.4681 + // Open a Custom Controller
1.4682 + error = controller.Open(KTstControllerUid,settings);
1.4683 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4684 +
1.4685 + RMMFAudioControllerCustomCommands customCommands(controller);
1.4686 + error = customCommands.SetCodec(sourceFourCC, sinkFourCC);
1.4687 +
1.4688 + if (error)
1.4689 + {
1.4690 + verdict = EFail;
1.4691 + }
1.4692 +
1.4693 + INFO_PRINTF1(_L("Closing Controller"));
1.4694 + controller.Close();
1.4695 +
1.4696 +
1.4697 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4698 + __MM_HEAP_MARKEND;
1.4699 +
1.4700 + return verdict;
1.4701 + }
1.4702 +
1.4703 +
1.4704 +//---------------------------------------------------------------
1.4705 +
1.4706 +
1.4707 +
1.4708 +CTestStep_MMF_CTLFRM_U_0100::CTestStep_MMF_CTLFRM_U_0100()
1.4709 + /** Constructor
1.4710 + */
1.4711 + {
1.4712 + // store the name of this test case
1.4713 + // this is the name that is used by the script file
1.4714 + // Each test step initialises it's own name
1.4715 + iTestStepName = _L("MM-MMF-CTLFRM-U-0100");
1.4716 +
1.4717 +
1.4718 + }
1.4719 +
1.4720 +TVerdict CTestStep_MMF_CTLFRM_U_0100::DoTestStepL( void )
1.4721 +/** This test is to add and remove multiple Sources and Sinks and ensure this is
1.4722 + * carried out correctly.
1.4723 +
1.4724 + * Use case: N/A
1.4725 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4726 + */
1.4727 + {
1.4728 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4729 + __MM_HEAP_MARK;
1.4730 +
1.4731 + TVerdict verdict = EPass;
1.4732 +
1.4733 + TMMFPrioritySettings settings;
1.4734 + TInt error = KErrNone;
1.4735 + RMMFController controller;
1.4736 +
1.4737 + settings.iPriority = 1;
1.4738 + settings.iPref = EMdaPriorityPreferenceTime;
1.4739 + settings.iState = EMMFStateIdle;
1.4740 +
1.4741 + const TDesC8& initData = KInitData;
1.4742 +
1.4743 + CArrayFixFlat<TMMFMessageDestination>* sinkHandles = new (ELeave) CArrayFixFlat<TMMFMessageDestination>(6);
1.4744 + CleanupStack::PushL(sinkHandles);
1.4745 + CArrayFixFlat<TMMFMessageDestination>* sourceHandles = new (ELeave) CArrayFixFlat<TMMFMessageDestination>(3);
1.4746 + CleanupStack::PushL(sourceHandles);
1.4747 +
1.4748 +
1.4749 + // Open a Custom Controller
1.4750 + error = controller.Open(KTstControllerUid,settings);
1.4751 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4752 +
1.4753 + // Add Sink
1.4754 + if (!error)
1.4755 + {
1.4756 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.4757 + TMMFMessageDestination& sinkHandle = sinkHandles->ExtendL();
1.4758 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle); // index = 1
1.4759 +
1.4760 + TMMFMessageDestination& sinkHandle2= sinkHandles->ExtendL();
1.4761 + error = controller.AddDataSink(KTestDataSinkBUid, initData, sinkHandle2); // index = 2
1.4762 +
1.4763 + TMMFMessageDestination& sinkHandle3 = sinkHandles->ExtendL();
1.4764 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle3); // index = 3
1.4765 +
1.4766 + TMMFMessageDestination& sinkHandle4 = sinkHandles->ExtendL();
1.4767 + error = controller.AddDataSink(KTestDataSinkBUid, initData, sinkHandle4); // index = 4
1.4768 +
1.4769 + TMMFMessageDestination& sourceHandle = sourceHandles->ExtendL();
1.4770 + error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle); // index = 1
1.4771 +
1.4772 + TMMFMessageDestination& sourceHandle2 = sourceHandles->ExtendL();
1.4773 + error = controller.AddDataSource(KTestDataSourceUid, initData, sourceHandle2); // index = 2
1.4774 +
1.4775 + TMMFMessageDestination& sourceHandle3 = sourceHandles->ExtendL();
1.4776 + error = controller.AddDataSource(KTestDataSourceBUid, initData, sourceHandle3); // index = 3
1.4777 +
1.4778 + TMMFMessageDestination& sinkHandle5 = sinkHandles->ExtendL();
1.4779 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle5); // index = 5
1.4780 +
1.4781 + TMMFMessageDestination& sinkHandle6 = sinkHandles->ExtendL();
1.4782 + error = controller.AddDataSink(KTestDataSinkUid, initData, sinkHandle6); // index = 6
1.4783 + }
1.4784 +
1.4785 + if (!error)
1.4786 + {
1.4787 + // Remove two Sinks and a Source
1.4788 + error = controller.RemoveDataSink((*sinkHandles)[2]);
1.4789 +
1.4790 + error = controller.RemoveDataSource((*sourceHandles)[2]);
1.4791 +
1.4792 + error = controller.RemoveDataSink((*sinkHandles)[5]);
1.4793 +
1.4794 + }
1.4795 +
1.4796 + if (error)
1.4797 + {
1.4798 + verdict = EFail;
1.4799 + }
1.4800 +
1.4801 + INFO_PRINTF1(_L("Closing Controller"));
1.4802 + controller.Close();
1.4803 +
1.4804 + CleanupStack::PopAndDestroy(2);
1.4805 +
1.4806 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4807 + __MM_HEAP_MARKEND;
1.4808 +
1.4809 + return verdict;
1.4810 + }
1.4811 +
1.4812 +
1.4813 +//---------------------------------------------------------------
1.4814 +
1.4815 +
1.4816 +CTestStep_MMF_CTLFRM_U_0110::CTestStep_MMF_CTLFRM_U_0110()
1.4817 + /** Constructor
1.4818 + */
1.4819 + {
1.4820 + // store the name of this test case
1.4821 + // this is the name that is used by the script file
1.4822 + // Each test step initialises it's own name
1.4823 + iTestStepName = _L("MM-MMF-CTLFRM-U-0110");
1.4824 +
1.4825 + }
1.4826 +
1.4827 +TVerdict CTestStep_MMF_CTLFRM_U_0110::DoTestStepL( void )
1.4828 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.4829 + * Use case: N/A
1.4830 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4831 + */
1.4832 + {
1.4833 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4834 + __MM_HEAP_MARK;
1.4835 +
1.4836 + TVerdict verdict = EPass;
1.4837 +
1.4838 + TMMFPrioritySettings settings;
1.4839 + TInt error = KErrNone;
1.4840 + RMMFController controller;
1.4841 +
1.4842 + settings.iPriority = 1;
1.4843 + settings.iPref = EMdaPriorityPreferenceTime;
1.4844 + settings.iState = EMMFStateIdle;
1.4845 +
1.4846 + // Open a Custom Controller
1.4847 +
1.4848 + INFO_PRINTF1(_L("Controller Instantiation Fail"));
1.4849 + __UHEAP_FAILNEXT(1); // Make the Controller Instantiation fail
1.4850 + __MM_HEAP_MARK;
1.4851 + TRAP(error, controller.Open(KTstControllerUid,settings));
1.4852 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4853 +
1.4854 + __MM_HEAP_MARKEND;
1.4855 +
1.4856 + if (error)
1.4857 + {
1.4858 + verdict = EFail;
1.4859 + }
1.4860 +
1.4861 + INFO_PRINTF1(_L("Closing Controller"));
1.4862 + controller.Close();
1.4863 +
1.4864 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4865 + __MM_HEAP_MARKEND;
1.4866 +
1.4867 + return verdict;
1.4868 + }
1.4869 +
1.4870 +
1.4871 +//---------------------------------------------------------------
1.4872 +
1.4873 +CTestStep_MMF_CTLFRM_U_0111::CTestStep_MMF_CTLFRM_U_0111()
1.4874 + /** Constructor
1.4875 + */
1.4876 + {
1.4877 + // store the name of this test case
1.4878 + // this is the name that is used by the script file
1.4879 + // Each test step initialises it's own name
1.4880 + iTestStepName = _L("MM-MMF-CTLFRM-U-0111");
1.4881 +
1.4882 +
1.4883 + }
1.4884 +
1.4885 +TVerdict CTestStep_MMF_CTLFRM_U_0111::DoTestStepL( void )
1.4886 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.4887 + * Use case: N/A
1.4888 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4889 + */
1.4890 + {
1.4891 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4892 + __MM_HEAP_MARK;
1.4893 +
1.4894 + TVerdict verdict = EPass;
1.4895 + _LIT8(KExpectedResult, "AddDataSourceL Called");
1.4896 +
1.4897 + TMMFPrioritySettings settings;
1.4898 + TInt error = KErrNone;
1.4899 + RMMFController controller;
1.4900 +
1.4901 + settings.iPriority = 1;
1.4902 + settings.iPref = EMdaPriorityPreferenceTime;
1.4903 + settings.iState = EMMFStateIdle;
1.4904 +
1.4905 + error = controller.Open(KTstControllerUid,settings);
1.4906 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.4907 +
1.4908 + const TDesC8& initData = KInitData;
1.4909 +
1.4910 + // Add Source
1.4911 + INFO_PRINTF1(_L("Attempting to add a Source and a Sink to Controller"));
1.4912 + if (!error)
1.4913 + {
1.4914 + INFO_PRINTF1(_L("API TEST: Calling AddDataSource"));
1.4915 + __UHEAP_FAILNEXT(1);
1.4916 + error = controller.AddDataSource(KTestDataSourceUid, initData);
1.4917 + }
1.4918 +
1.4919 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.4920 +
1.4921 + //------------------------------------//
1.4922 + // Getting Log from Custom Controller //
1.4923 + //------------------------------------//
1.4924 + if (!error)
1.4925 + {
1.4926 + INFO_PRINTF1(_L("Getting Log"));
1.4927 +
1.4928 + TBuf8<64> memFunctionText;
1.4929 +
1.4930 +
1.4931 + TUid uid = {KMmfTestControllerUid};
1.4932 + TMMFMessageDestination handleInfo(uid);
1.4933 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.4934 +
1.4935 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.4936 +
1.4937 + TBuf<64> memFunctionText16;
1.4938 + memFunctionText16.Copy(memFunctionText);
1.4939 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.4940 +
1.4941 + if (memFunctionText != KExpectedResult)
1.4942 + {
1.4943 + verdict = EFail;
1.4944 + }
1.4945 +
1.4946 + }
1.4947 + //------------------------------------//
1.4948 +
1.4949 +
1.4950 + INFO_PRINTF1(_L("Closing Controller"));
1.4951 + controller.Close();
1.4952 +
1.4953 + if (error)
1.4954 + {
1.4955 + verdict = EFail;
1.4956 + }
1.4957 +
1.4958 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.4959 + __MM_HEAP_MARKEND;
1.4960 +
1.4961 + return verdict;
1.4962 + }
1.4963 +
1.4964 +
1.4965 +//---------------------------------------------------------------
1.4966 +
1.4967 +CTestStep_MMF_CTLFRM_U_0112::CTestStep_MMF_CTLFRM_U_0112()
1.4968 + /** Constructor
1.4969 + */
1.4970 + {
1.4971 + // store the name of this test case
1.4972 + // this is the name that is used by the script file
1.4973 + // Each test step initialises it's own name
1.4974 + iTestStepName = _L("MM-MMF-CTLFRM-U-0112");
1.4975 +
1.4976 +
1.4977 + }
1.4978 +
1.4979 +TVerdict CTestStep_MMF_CTLFRM_U_0112::DoTestStepL( void )
1.4980 +/** Verfiy CMMFDescriptorBuffer creation and deletion using default buffer size
1.4981 + * Use case: N/A
1.4982 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.4983 + */
1.4984 + {
1.4985 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.4986 + __MM_HEAP_MARK;
1.4987 +
1.4988 + TVerdict verdict = EPass;
1.4989 + _LIT8(KExpectedResult, "AddDataSinkL Called");
1.4990 +
1.4991 + TMMFPrioritySettings settings;
1.4992 + TInt error = KErrNone;
1.4993 + RMMFController controller;
1.4994 +
1.4995 + settings.iPriority = 1;
1.4996 + settings.iPref = EMdaPriorityPreferenceTime;
1.4997 + settings.iState = EMMFStateIdle;
1.4998 +
1.4999 + error = controller.Open(KTstControllerUid,settings);
1.5000 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.5001 +
1.5002 + const TDesC8& initData = KInitData;
1.5003 +
1.5004 + // Add Sink
1.5005 + if (!error)
1.5006 + {
1.5007 + INFO_PRINTF1(_L("API TEST: Calling AddDataSink"));
1.5008 + __UHEAP_FAILNEXT(1);
1.5009 + error = controller.AddDataSink(KTestDataSinkUid, initData);
1.5010 + }
1.5011 +
1.5012 +
1.5013 + INFO_PRINTF2(_L("Controller Status: %d"), error);
1.5014 +
1.5015 + //------------------------------------//
1.5016 + // Getting Log from Custom Controller //
1.5017 + //------------------------------------//
1.5018 + if (!error)
1.5019 + {
1.5020 + INFO_PRINTF1(_L("Getting Log"));
1.5021 +
1.5022 + TBuf8<64> memFunctionText;
1.5023 +
1.5024 + TUid uid = {KMmfTestControllerUid};
1.5025 + TMMFMessageDestination handleInfo(uid);
1.5026 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.5027 +
1.5028 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.5029 +
1.5030 + TBuf<64> memFunctionText16;
1.5031 + memFunctionText16.Copy(memFunctionText);
1.5032 + INFO_PRINTF2(_L("Log: %S"),&memFunctionText16);
1.5033 +
1.5034 + if (memFunctionText != KExpectedResult)
1.5035 + {
1.5036 + verdict = EFail;
1.5037 + }
1.5038 +
1.5039 + }
1.5040 + //------------------------------------//
1.5041 +
1.5042 + INFO_PRINTF1(_L("Closing Controller"));
1.5043 + controller.Close();
1.5044 +
1.5045 + if (error)
1.5046 + {
1.5047 + verdict = EFail;
1.5048 + }
1.5049 +
1.5050 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5051 + __MM_HEAP_MARKEND;
1.5052 +
1.5053 + return verdict;
1.5054 + }
1.5055 +
1.5056 +
1.5057 +//---------------------------------------------------------------
1.5058 +
1.5059 +CTestStep_MMF_CTLFRM_U_0120::CTestStep_MMF_CTLFRM_U_0120()
1.5060 + /** Constructor
1.5061 + */
1.5062 + {
1.5063 + // store the name of this test case
1.5064 + // this is the name that is used by the script file
1.5065 + // Each test step initialises it's own name
1.5066 + iTestStepName = _L("MM-MMF-CTLFRM-U-0120");
1.5067 +
1.5068 +
1.5069 + }
1.5070 +
1.5071 +TVerdict CTestStep_MMF_CTLFRM_U_0120::DoTestStepL( void )
1.5072 +/** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.5073 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.5074 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.5075 + * open a controller. Open the controller, check for errors and close the controller.
1.5076 + * (Test CMMFFormatSelectionParameters API).
1.5077 +
1.5078 + * Use case: N/A
1.5079 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5080 + */
1.5081 + {
1.5082 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5083 + __MM_HEAP_MARK;
1.5084 +
1.5085 + TVerdict verdict = EPass;
1.5086 +
1.5087 + TMMFPrioritySettings settings;
1.5088 + TInt error = KErrNone;
1.5089 + RMMFController controller1;
1.5090 +
1.5091 + settings.iPriority = 1;
1.5092 + settings.iPref = EMdaPriorityPreferenceTime;
1.5093 + settings.iState = EMMFStateIdle;
1.5094 +
1.5095 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5096 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5097 +
1.5098 + // Set the format match data
1.5099 +
1.5100 + //---------------------//
1.5101 + // Method being Tested //
1.5102 + //---------------------//
1.5103 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5104 + //---------------------//
1.5105 +
1.5106 + // Set the controller plugin play format match data
1.5107 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5108 +
1.5109 + // Get Controllers
1.5110 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5111 + CleanupResetAndDestroyPushL(controllers);
1.5112 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5113 +
1.5114 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5115 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5116 +
1.5117 + INFO_PRINTF1(_L("Closing Controller"));
1.5118 + controller1.Close();
1.5119 +
1.5120 + if (error)
1.5121 + {
1.5122 + verdict = EFail;
1.5123 + }
1.5124 +
1.5125 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5126 + __MM_HEAP_MARKEND;
1.5127 +
1.5128 + return verdict;
1.5129 + }
1.5130 +
1.5131 +
1.5132 +//---------------------------------------------------------------
1.5133 +
1.5134 +CTestStep_MMF_CTLFRM_U_0121::CTestStep_MMF_CTLFRM_U_0121()
1.5135 + /** Constructor
1.5136 + */
1.5137 + {
1.5138 + // store the name of this test case
1.5139 + // this is the name that is used by the script file
1.5140 + // Each test step initialises it's own name
1.5141 + iTestStepName = _L("MM-MMF-CTLFRM-U-0121");
1.5142 +
1.5143 +
1.5144 + }
1.5145 +
1.5146 +TVerdict CTestStep_MMF_CTLFRM_U_0121::DoTestStepL( void )
1.5147 +/** As TSU_MMF_CTLFRM_U_0120
1.5148 + * Use case: N/A
1.5149 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5150 + */
1.5151 + {
1.5152 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5153 + __MM_HEAP_MARK;
1.5154 +
1.5155 + TVerdict verdict = EPass;
1.5156 +
1.5157 + TMMFPrioritySettings settings;
1.5158 + TInt error = KErrNone;
1.5159 + RMMFController controller1;
1.5160 +
1.5161 + settings.iPriority = 1;
1.5162 + settings.iPref = EMdaPriorityPreferenceTime;
1.5163 + settings.iState = EMMFStateIdle;
1.5164 +
1.5165 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5166 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5167 +
1.5168 + //---------------------//
1.5169 + // Method being Tested //
1.5170 + //---------------------//
1.5171 + _LIT8(KMimeData, "audio/mbeg");
1.5172 + fSelect->SetMatchToMimeTypeL(KMimeData);
1.5173 + //--------------------//
1.5174 +
1.5175 + // Set the controller plugin play format match data
1.5176 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5177 +
1.5178 + cSelect->SetPreferredSupplierL(_L("Symbian"), CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.5179 +
1.5180 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5181 + CleanupResetAndDestroyPushL(controllers);
1.5182 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5183 +
1.5184 + // Check Array Size here
1.5185 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5186 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5187 +
1.5188 + INFO_PRINTF1(_L("Closing Controller"));
1.5189 + controller1.Close();
1.5190 +
1.5191 + if (error)
1.5192 + {
1.5193 + verdict = EFail;
1.5194 + }
1.5195 +
1.5196 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5197 + __MM_HEAP_MARKEND;
1.5198 +
1.5199 + return verdict;
1.5200 + }
1.5201 +
1.5202 +
1.5203 +//---------------------------------------------------------------
1.5204 +
1.5205 +CTestStep_MMF_CTLFRM_U_0122::CTestStep_MMF_CTLFRM_U_0122()
1.5206 + /** Constructor
1.5207 + */
1.5208 + {
1.5209 + // store the name of this test case
1.5210 + // this is the name that is used by the script file
1.5211 + // Each test step initialises it's own name
1.5212 + iTestStepName = _L("MM-MMF-CTLFRM-U-0122");
1.5213 +
1.5214 +
1.5215 + }
1.5216 +
1.5217 +TVerdict CTestStep_MMF_CTLFRM_U_0122::DoTestStepL( void )
1.5218 +/** As TSU_MMF_CTLFRM_U_0120
1.5219 + * Use case: N/A
1.5220 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5221 + */
1.5222 + {
1.5223 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5224 + __MM_HEAP_MARK;
1.5225 +
1.5226 + TVerdict verdict = EPass;
1.5227 +
1.5228 + TMMFPrioritySettings settings;
1.5229 + TInt error = KErrNone;
1.5230 + RMMFController controller1;
1.5231 +
1.5232 + settings.iPriority = 1;
1.5233 + settings.iPref = EMdaPriorityPreferenceTime;
1.5234 + settings.iState = EMMFStateIdle;
1.5235 +
1.5236 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5237 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5238 +
1.5239 + //---------------------//
1.5240 + // Method being Tested //
1.5241 + //---------------------//
1.5242 + _LIT8(KHeaderData, "RIFF????PAVE");
1.5243 + fSelect->SetMatchToHeaderDataL(KHeaderData);
1.5244 + //--------------------//
1.5245 +
1.5246 + // Set the controller plugin play format match data
1.5247 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5248 +
1.5249 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5250 + CleanupResetAndDestroyPushL(controllers);
1.5251 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5252 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5253 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5254 + controller1.Close();
1.5255 +
1.5256 + if (error)
1.5257 + {
1.5258 + verdict = EFail;
1.5259 + }
1.5260 +
1.5261 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5262 + __MM_HEAP_MARKEND;
1.5263 +
1.5264 + return verdict;
1.5265 + }
1.5266 +
1.5267 +
1.5268 +//---------------------------------------------------------------
1.5269 +
1.5270 +CTestStep_MMF_CTLFRM_U_0123::CTestStep_MMF_CTLFRM_U_0123()
1.5271 + /** Constructor
1.5272 + */
1.5273 + {
1.5274 + // store the name of this test case
1.5275 + // this is the name that is used by the script file
1.5276 + // Each test step initialises it's own name
1.5277 + iTestStepName = _L("MM-MMF-CTLFRM-U-0123");
1.5278 +
1.5279 +
1.5280 + }
1.5281 +
1.5282 +TVerdict CTestStep_MMF_CTLFRM_U_0123::DoTestStepL( void )
1.5283 +/** As TSU_MMF_CTLFRM_U_0120
1.5284 + * Use case: N/A
1.5285 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5286 + */
1.5287 + {
1.5288 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5289 + __MM_HEAP_MARK;
1.5290 +
1.5291 + TVerdict verdict = EPass;
1.5292 +
1.5293 + TMMFPrioritySettings settings;
1.5294 + TInt error = KErrNone;
1.5295 + RMMFController controller1;
1.5296 +
1.5297 + settings.iPriority = 1;
1.5298 + settings.iPref = EMdaPriorityPreferenceTime;
1.5299 + settings.iState = EMMFStateIdle;
1.5300 +
1.5301 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5302 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5303 +
1.5304 +
1.5305 + _LIT8(KHeaderData, "RIFF????PAVE");
1.5306 + fSelect->SetMatchToHeaderDataL(KHeaderData);
1.5307 +
1.5308 +
1.5309 + //---------------------//
1.5310 + // Method being Tested //
1.5311 + //---------------------//
1.5312 + fSelect->MatchData();
1.5313 + //---------------------//
1.5314 +
1.5315 + // Set the controller plugin play format match data
1.5316 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5317 +
1.5318 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5319 + CleanupResetAndDestroyPushL(controllers);
1.5320 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5321 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5322 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5323 + controller1.Close();
1.5324 +
1.5325 + if (error)
1.5326 + {
1.5327 + verdict = EFail;
1.5328 + }
1.5329 +
1.5330 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5331 + __MM_HEAP_MARKEND;
1.5332 +
1.5333 + return verdict;
1.5334 + }
1.5335 +
1.5336 +
1.5337 +//---------------------------------------------------------------
1.5338 +
1.5339 +CTestStep_MMF_CTLFRM_U_0124::CTestStep_MMF_CTLFRM_U_0124()
1.5340 + /** Constructor
1.5341 + */
1.5342 + {
1.5343 + // store the name of this test case
1.5344 + // this is the name that is used by the script file
1.5345 + // Each test step initialises it's own name
1.5346 + iTestStepName = _L("MM-MMF-CTLFRM-U-0124");
1.5347 +
1.5348 +
1.5349 + }
1.5350 +
1.5351 +TVerdict CTestStep_MMF_CTLFRM_U_0124::DoTestStepL( void )
1.5352 +/**As TSU_MMF_CTLFRM_U_0120
1.5353 + * Use case: N/A
1.5354 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5355 + */
1.5356 + {
1.5357 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5358 + __MM_HEAP_MARK;
1.5359 +
1.5360 + TVerdict verdict = EPass;
1.5361 +
1.5362 + TMMFPrioritySettings settings;
1.5363 + TInt error = KErrNone;
1.5364 + RMMFController controller1;
1.5365 +
1.5366 + settings.iPriority = 1;
1.5367 + settings.iPref = EMdaPriorityPreferenceTime;
1.5368 + settings.iState = EMMFStateIdle;
1.5369 +
1.5370 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5371 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5372 +
1.5373 + _LIT8(KHeaderData, "RIFF????PAVE");
1.5374 + fSelect->SetMatchToHeaderDataL(KHeaderData);
1.5375 +
1.5376 + //---------------------//
1.5377 + // Method being Tested //
1.5378 + //---------------------//
1.5379 +// CMMFFormatSelectionParameters::TMatchDataType dataType; //EABI warning removal
1.5380 +// dataType = fSelect->MatchDataType();
1.5381 + //--------------------//
1.5382 +
1.5383 + // Set the controller plugin play format match data
1.5384 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5385 +
1.5386 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5387 + CleanupResetAndDestroyPushL(controllers);
1.5388 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5389 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5390 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5391 + controller1.Close();
1.5392 +
1.5393 + if (error)
1.5394 + {
1.5395 + verdict = EFail;
1.5396 + }
1.5397 +
1.5398 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5399 + __MM_HEAP_MARKEND;
1.5400 +
1.5401 + return verdict;
1.5402 + }
1.5403 +
1.5404 +//---------------------------------------------------------------
1.5405 +
1.5406 +
1.5407 +
1.5408 +CTestStep_MMF_CTLFRM_U_0130::CTestStep_MMF_CTLFRM_U_0130()
1.5409 + /** Constructor
1.5410 + */
1.5411 + {
1.5412 + // store the name of this test case
1.5413 + // this is the name that is used by the script file
1.5414 + // Each test step initialises it's own name
1.5415 + iTestStepName = _L("MM-MMF-CTLFRM-U-0130");
1.5416 +
1.5417 +
1.5418 + }
1.5419 +
1.5420 +TVerdict CTestStep_MMF_CTLFRM_U_0130::DoTestStepL( void )
1.5421 +/** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.5422 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.5423 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.5424 + * open a controller. Check the details obtained to open the controller are correct. Open
1.5425 + * the controller, check for errors and close the controller.
1.5426 + * (Test CMMFControllerPluginSelectionParameters API).
1.5427 +
1.5428 + * Use case: N/A
1.5429 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5430 + */
1.5431 + {
1.5432 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5433 + __MM_HEAP_MARK;
1.5434 +
1.5435 + TVerdict verdict = EPass;
1.5436 +
1.5437 + TMMFPrioritySettings settings;
1.5438 + TInt error = KErrNone;
1.5439 + RMMFController controller1;
1.5440 +
1.5441 + settings.iPriority = 1;
1.5442 + settings.iPref = EMdaPriorityPreferenceTime;
1.5443 + settings.iState = EMMFStateIdle;
1.5444 +
1.5445 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5446 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5447 +
1.5448 + //_LIT8(KHeaderData, "RIFF????PAVE");
1.5449 + //fSelect->SetMatchToHeaderDataL(KHeaderData);
1.5450 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5451 +
1.5452 + //---------------------//
1.5453 + // Method being Tested //
1.5454 + //---------------------//
1.5455 + // Set the controller plugin play format match data
1.5456 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5457 + //--------------------//
1.5458 +
1.5459 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5460 + CleanupResetAndDestroyPushL(controllers);
1.5461 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5462 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5463 +
1.5464 + TUid controllerUid;
1.5465 + controllerUid = controllers[0]->Uid();
1.5466 +
1.5467 + if (controllerUid == KTstControllerUid)
1.5468 + {
1.5469 + verdict = EPass;
1.5470 + }
1.5471 + else
1.5472 + {
1.5473 + verdict = EFail;
1.5474 + }
1.5475 +
1.5476 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5477 + controller1.Close();
1.5478 +
1.5479 + if (error)
1.5480 + {
1.5481 + verdict = EFail;
1.5482 + }
1.5483 +
1.5484 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5485 + __MM_HEAP_MARKEND;
1.5486 +
1.5487 + return verdict;
1.5488 + }
1.5489 +
1.5490 +
1.5491 +//---------------------------------------------------------------
1.5492 +
1.5493 +
1.5494 +CTestStep_MMF_CTLFRM_U_0131::CTestStep_MMF_CTLFRM_U_0131()
1.5495 + /** Constructor
1.5496 + */
1.5497 + {
1.5498 + // store the name of this test case
1.5499 + // this is the name that is used by the script file
1.5500 + // Each test step initialises it's own name
1.5501 + iTestStepName = _L("MM-MMF-CTLFRM-U-0131");
1.5502 +
1.5503 +
1.5504 + }
1.5505 +
1.5506 +TVerdict CTestStep_MMF_CTLFRM_U_0131::DoTestStepL( void )
1.5507 +/** As TSU_MMF_CTLFRM_U_0130
1.5508 +
1.5509 + * Use case: N/A
1.5510 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5511 + */
1.5512 + {
1.5513 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5514 + __MM_HEAP_MARK;
1.5515 +
1.5516 + TVerdict verdict = EPass;
1.5517 +
1.5518 + TMMFPrioritySettings settings;
1.5519 + TInt error = KErrNone;
1.5520 + RMMFController controller1;
1.5521 +
1.5522 + settings.iPriority = 1;
1.5523 + settings.iPref = EMdaPriorityPreferenceTime;
1.5524 + settings.iState = EMMFStateIdle;
1.5525 +
1.5526 +
1.5527 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5528 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5529 +
1.5530 + fSelect->SetMatchToFileNameL(_L("test.ai"));
1.5531 +
1.5532 + //---------------------//
1.5533 + // Method being Tested //
1.5534 + //---------------------//
1.5535 + // Set the controller plugin play format match data
1.5536 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.5537 + //--------------------//
1.5538 +
1.5539 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5540 + CleanupResetAndDestroyPushL(controllers);
1.5541 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5542 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5543 +
1.5544 + TUid controllerUid;
1.5545 + controllerUid = controllers[0]->Uid();
1.5546 +
1.5547 + if (controllerUid == KTstControllerUid)
1.5548 + {
1.5549 + verdict = EPass;
1.5550 + }
1.5551 + else
1.5552 + {
1.5553 + verdict = EFail;
1.5554 + }
1.5555 +
1.5556 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5557 + controller1.Close();
1.5558 +
1.5559 + if (error)
1.5560 + {
1.5561 + verdict = EFail;
1.5562 + }
1.5563 +
1.5564 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5565 + __MM_HEAP_MARKEND;
1.5566 +
1.5567 + return verdict;
1.5568 + }
1.5569 +
1.5570 +
1.5571 +//---------------------------------------------------------------
1.5572 +
1.5573 +
1.5574 +CTestStep_MMF_CTLFRM_U_0140::CTestStep_MMF_CTLFRM_U_0140()
1.5575 + /** Constructor
1.5576 + */
1.5577 + {
1.5578 + // store the name of this test case
1.5579 + // this is the name that is used by the script file
1.5580 + // Each test step initialises it's own name
1.5581 + iTestStepName = _L("MM-MMF-CTLFRM-U-0140");
1.5582 +
1.5583 +
1.5584 + }
1.5585 +
1.5586 +TVerdict CTestStep_MMF_CTLFRM_U_0140::DoTestStepL( void )
1.5587 +/** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.5588 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.5589 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.5590 + * open a controller. Check the details obtained to open the controller are correct. Open
1.5591 + * the controller, check for errors and close the controller.
1.5592 + * (Test CMMFPluginImplementationInformation API)
1.5593 +
1.5594 + * Use case: N/A
1.5595 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5596 + */
1.5597 + {
1.5598 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5599 + __MM_HEAP_MARK;
1.5600 +
1.5601 + TVerdict verdict = EPass;
1.5602 +
1.5603 + TMMFPrioritySettings settings;
1.5604 + TInt error = KErrNone;
1.5605 + RMMFController controller1;
1.5606 +
1.5607 + settings.iPriority = 1;
1.5608 + settings.iPref = EMdaPriorityPreferenceTime;
1.5609 + settings.iState = EMMFStateIdle;
1.5610 +
1.5611 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5612 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5613 +
1.5614 + // Set the format match data
1.5615 +
1.5616 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5617 +
1.5618 + // Set the controller plugin play format match data
1.5619 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5620 +
1.5621 + // Get Controllers
1.5622 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5623 + CleanupResetAndDestroyPushL(controllers);
1.5624 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5625 +
1.5626 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5627 +
1.5628 + //---------------------//
1.5629 + // Method being Tested //
1.5630 + //---------------------//
1.5631 + TUid controllerUid;
1.5632 + controllerUid = controllers[0]->Uid();
1.5633 +
1.5634 + if (controllerUid == KTstControllerUid)
1.5635 + {
1.5636 + verdict = EPass;
1.5637 + }
1.5638 + else
1.5639 + {
1.5640 + verdict = EFail;
1.5641 + }
1.5642 + //--------------------//
1.5643 +
1.5644 +
1.5645 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5646 + controller1.Close();
1.5647 +
1.5648 + if (error)
1.5649 + {
1.5650 + verdict = EFail;
1.5651 + }
1.5652 +
1.5653 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5654 + __MM_HEAP_MARKEND;
1.5655 +
1.5656 + return verdict;
1.5657 + }
1.5658 +
1.5659 +
1.5660 +//---------------------------------------------------------------
1.5661 +
1.5662 +
1.5663 +CTestStep_MMF_CTLFRM_U_0141::CTestStep_MMF_CTLFRM_U_0141()
1.5664 + /** Constructor
1.5665 + */
1.5666 + {
1.5667 + // store the name of this test case
1.5668 + // this is the name that is used by the script file
1.5669 + // Each test step initialises it's own name
1.5670 + iTestStepName = _L("MM-MMF-CTLFRM-U-0141");
1.5671 +
1.5672 +
1.5673 + }
1.5674 +
1.5675 +TVerdict CTestStep_MMF_CTLFRM_U_0141::DoTestStepL( void )
1.5676 +/** As TSU_MMF_CTLFRM_U_0140
1.5677 +
1.5678 + * Use case: N/A
1.5679 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5680 + */
1.5681 + {
1.5682 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5683 + __MM_HEAP_MARK;
1.5684 +
1.5685 + TVerdict verdict = EPass;
1.5686 +
1.5687 + _LIT(KExpectedName,"CMMFTestController");
1.5688 +
1.5689 + TMMFPrioritySettings settings;
1.5690 + TInt error = KErrNone;
1.5691 + RMMFController controller1;
1.5692 +
1.5693 + settings.iPriority = 1;
1.5694 + settings.iPref = EMdaPriorityPreferenceTime;
1.5695 + settings.iState = EMMFStateIdle;
1.5696 +
1.5697 +
1.5698 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5699 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5700 +
1.5701 + // Set the format match data
1.5702 +
1.5703 + //---------------------//
1.5704 + // Method being Tested //
1.5705 + //---------------------//
1.5706 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5707 + //---------------------//
1.5708 +
1.5709 + // Set the controller plugin play format match data
1.5710 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5711 +
1.5712 + // Get Controllers
1.5713 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5714 + CleanupResetAndDestroyPushL(controllers);
1.5715 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5716 +
1.5717 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5718 +
1.5719 + //---------------------//
1.5720 + // Method being Tested //
1.5721 + //---------------------//
1.5722 + TPtrC controllerName;
1.5723 + controllerName.Set(controllers[0]->DisplayName());
1.5724 + INFO_PRINTF2(_L("Controller Name: %S"),&controllerName);
1.5725 +
1.5726 + if (controllerName == KExpectedName)
1.5727 + {
1.5728 + verdict = EPass;
1.5729 + }
1.5730 + else
1.5731 + {
1.5732 + verdict = EFail;
1.5733 + }
1.5734 + //--------------------//
1.5735 +
1.5736 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5737 + controller1.Close();
1.5738 +
1.5739 + if (error)
1.5740 + {
1.5741 + verdict = EFail;
1.5742 + }
1.5743 +
1.5744 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5745 + __MM_HEAP_MARKEND;
1.5746 +
1.5747 + return verdict;
1.5748 + }
1.5749 +
1.5750 +
1.5751 +//---------------------------------------------------------------
1.5752 +
1.5753 +
1.5754 +CTestStep_MMF_CTLFRM_U_0142::CTestStep_MMF_CTLFRM_U_0142()
1.5755 + /** Constructor
1.5756 + */
1.5757 + {
1.5758 + // store the name of this test case
1.5759 + // this is the name that is used by the script file
1.5760 + // Each test step initialises it's own name
1.5761 + iTestStepName = _L("MM-MMF-CTLFRM-U-0142");
1.5762 +
1.5763 +
1.5764 + }
1.5765 +
1.5766 +TVerdict CTestStep_MMF_CTLFRM_U_0142::DoTestStepL( void )
1.5767 +/** As TSU_MMF_CTLFRM_U_0140
1.5768 +
1.5769 + * Use case: N/A
1.5770 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5771 + */
1.5772 + {
1.5773 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5774 + __MM_HEAP_MARK;
1.5775 +
1.5776 + TVerdict verdict = EPass;
1.5777 +
1.5778 + _LIT(KExpectedSupplier, "TSU_MMF_CTLFRM");
1.5779 +
1.5780 + TMMFPrioritySettings settings;
1.5781 + TInt error = KErrNone;
1.5782 + RMMFController controller1;
1.5783 +
1.5784 + settings.iPriority = 1;
1.5785 + settings.iPref = EMdaPriorityPreferenceTime;
1.5786 + settings.iState = EMMFStateIdle;
1.5787 +
1.5788 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5789 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5790 +
1.5791 + // Set the format match data
1.5792 +
1.5793 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5794 +
1.5795 + // Set the controller plugin play format match data
1.5796 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5797 +
1.5798 + // Get Controllers
1.5799 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5800 + CleanupResetAndDestroyPushL(controllers);
1.5801 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5802 +
1.5803 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5804 +
1.5805 + //---------------------//
1.5806 + // Method being Tested //
1.5807 + //---------------------//
1.5808 + TPtrC supplier;
1.5809 +
1.5810 + supplier.Set(controllers[0]->Supplier());
1.5811 +
1.5812 + INFO_PRINTF2(_L("Controller Name: %S"),&supplier);
1.5813 + TPtrC expectedSupplierPtrC;
1.5814 + expectedSupplierPtrC.Set(KExpectedSupplier);
1.5815 +
1.5816 + if (*supplier.Ptr() == *expectedSupplierPtrC.Ptr())
1.5817 + {
1.5818 + verdict = EPass;
1.5819 + }
1.5820 + else
1.5821 + {
1.5822 + verdict = EFail;
1.5823 + }
1.5824 + //--------------------//
1.5825 +
1.5826 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5827 + controller1.Close();
1.5828 +
1.5829 + if (error)
1.5830 + {
1.5831 + verdict = EFail;
1.5832 + }
1.5833 +
1.5834 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5835 + __MM_HEAP_MARKEND;
1.5836 +
1.5837 + return verdict;
1.5838 + }
1.5839 +
1.5840 +
1.5841 +//---------------------------------------------------------------
1.5842 +
1.5843 +CTestStep_MMF_CTLFRM_U_0143::CTestStep_MMF_CTLFRM_U_0143()
1.5844 + /** Constructor
1.5845 + */
1.5846 + {
1.5847 + // store the name of this test case
1.5848 + // this is the name that is used by the script file
1.5849 + // Each test step initialises it's own name
1.5850 + iTestStepName = _L("MM-MMF-CTLFRM-U-0143");
1.5851 +
1.5852 +
1.5853 + }
1.5854 +
1.5855 +TVerdict CTestStep_MMF_CTLFRM_U_0143::DoTestStepL( void )
1.5856 +/** As TSU_MMF_CTLFRM_U_0140
1.5857 +
1.5858 + * Use case: N/A
1.5859 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5860 + */
1.5861 + {
1.5862 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5863 + __MM_HEAP_MARK;
1.5864 +
1.5865 + TVerdict verdict = EPass;
1.5866 +
1.5867 + // Expected result
1.5868 + TInt expectVersionNo = 3;
1.5869 +
1.5870 + TMMFPrioritySettings settings;
1.5871 + TInt error = KErrNone;
1.5872 + RMMFController controller1;
1.5873 +
1.5874 + settings.iPriority = 1;
1.5875 + settings.iPref = EMdaPriorityPreferenceTime;
1.5876 + settings.iState = EMMFStateIdle;
1.5877 +
1.5878 +
1.5879 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5880 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5881 +
1.5882 + // Set the format match data
1.5883 +
1.5884 + //---------------------//
1.5885 + // Method being Tested //
1.5886 + //---------------------//
1.5887 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5888 + //---------------------//
1.5889 +
1.5890 + // Set the controller plugin play format match data
1.5891 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5892 +
1.5893 + // Get Controllers
1.5894 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5895 + CleanupResetAndDestroyPushL(controllers);
1.5896 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5897 +
1.5898 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // instantiate the controller
1.5899 +
1.5900 +
1.5901 + //---------------------//
1.5902 + // Method being Tested //
1.5903 + //---------------------//
1.5904 + TInt versionNo;
1.5905 + versionNo = controllers[0]->Version();
1.5906 + INFO_PRINTF2(_L("Controller Name:%d"),versionNo);
1.5907 +
1.5908 + if (expectVersionNo != versionNo)
1.5909 + {
1.5910 + verdict = EFail;
1.5911 + }
1.5912 + //--------------------//
1.5913 +
1.5914 +
1.5915 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5916 + controller1.Close();
1.5917 +
1.5918 + if (error)
1.5919 + {
1.5920 + verdict = EFail;
1.5921 + }
1.5922 +
1.5923 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.5924 + __MM_HEAP_MARKEND;
1.5925 +
1.5926 + return verdict;
1.5927 + }
1.5928 +
1.5929 +
1.5930 +//---------------------------------------------------------------
1.5931 +
1.5932 +
1.5933 +CTestStep_MMF_CTLFRM_U_0144::CTestStep_MMF_CTLFRM_U_0144()
1.5934 + /** Constructor
1.5935 + */
1.5936 + {
1.5937 + // store the name of this test case
1.5938 + // this is the name that is used by the script file
1.5939 + // Each test step initialises it's own name
1.5940 + iTestStepName = _L("MM-MMF-CTLFRM-U-0144");
1.5941 +
1.5942 +
1.5943 + }
1.5944 +
1.5945 +TVerdict CTestStep_MMF_CTLFRM_U_0144::DoTestStepL( void )
1.5946 +/** As TSU_MMF_CTLFRM_U_0140
1.5947 +
1.5948 + * Use case: N/A
1.5949 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.5950 + */
1.5951 + {
1.5952 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.5953 + __MM_HEAP_MARK;
1.5954 +
1.5955 + TVerdict verdict = EPass;
1.5956 +
1.5957 + TMMFPrioritySettings settings;
1.5958 + TInt error = KErrNone;
1.5959 + RMMFController controller1;
1.5960 +
1.5961 + settings.iPriority = 1;
1.5962 + settings.iPref = EMdaPriorityPreferenceTime;
1.5963 + settings.iState = EMMFStateIdle;
1.5964 +
1.5965 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.5966 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.5967 +
1.5968 + // Set the format match data
1.5969 +
1.5970 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.5971 +
1.5972 + // Set the controller plugin play format match data
1.5973 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.5974 +
1.5975 + // Get Controllers
1.5976 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.5977 + CleanupResetAndDestroyPushL(controllers);
1.5978 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.5979 +
1.5980 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.5981 +
1.5982 + //---------------------//
1.5983 + // Method being Tested //
1.5984 + //---------------------//
1.5985 + const RArray<TUid>& mediaIds = controllers[0]->SupportedMediaIds();
1.5986 +
1.5987 + TUid controllerUid = mediaIds[0];
1.5988 + if (controllerUid == KExpectedMediaIDUid140)
1.5989 + {
1.5990 + verdict = EPass;
1.5991 + }
1.5992 + else
1.5993 + {
1.5994 + verdict = EFail;
1.5995 + }
1.5996 + //--------------------//
1.5997 +
1.5998 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.5999 + controller1.Close();
1.6000 +
1.6001 + if (error)
1.6002 + {
1.6003 + verdict = EFail;
1.6004 + }
1.6005 +
1.6006 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6007 + __MM_HEAP_MARKEND;
1.6008 +
1.6009 + return verdict;
1.6010 + }
1.6011 +
1.6012 +//---------------------------------------------------------------
1.6013 +
1.6014 +
1.6015 +CTestStep_MMF_CTLFRM_U_0145::CTestStep_MMF_CTLFRM_U_0145()
1.6016 + /** Constructor
1.6017 + */
1.6018 + {
1.6019 + // store the name of this test case
1.6020 + // this is the name that is used by the script file
1.6021 + // Each test step initialises it's own name
1.6022 + iTestStepName = _L("MM-MMF-CTLFRM-U-0145");
1.6023 +
1.6024 +
1.6025 + }
1.6026 +
1.6027 +TVerdict CTestStep_MMF_CTLFRM_U_0145::DoTestStepL( void )
1.6028 +/** As TSU_MMF_CTLFRM_U_0140
1.6029 +
1.6030 + * Use case: N/A
1.6031 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6032 + */
1.6033 + {
1.6034 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6035 + __MM_HEAP_MARK;
1.6036 +
1.6037 + TVerdict verdict = EPass;
1.6038 +
1.6039 + TMMFPrioritySettings settings;
1.6040 + TInt error = KErrNone;
1.6041 + RMMFController controller1;
1.6042 +
1.6043 + settings.iPriority = 1;
1.6044 + settings.iPref = EMdaPriorityPreferenceTime;
1.6045 + settings.iState = EMMFStateIdle;
1.6046 +
1.6047 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6048 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6049 +
1.6050 + // Set the format match data
1.6051 +
1.6052 + //---------------------//
1.6053 + // Method being Tested //
1.6054 + //---------------------//
1.6055 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.6056 + //---------------------//
1.6057 +
1.6058 + // Set the controller plugin play format match data
1.6059 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6060 +
1.6061 + // Get Controllers
1.6062 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6063 + CleanupResetAndDestroyPushL(controllers);
1.6064 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6065 +
1.6066 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6067 +
1.6068 + //---------------------//
1.6069 + // Method being Tested //
1.6070 + //---------------------//
1.6071 + TBool supplierSupported = controllers[0]->SupportsSupplier(_L("TSU_MMF_CTLFRM"));
1.6072 +
1.6073 + if (!supplierSupported)
1.6074 + {
1.6075 + verdict = EFail;
1.6076 + }
1.6077 + //--------------------//
1.6078 +
1.6079 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6080 + controller1.Close();
1.6081 +
1.6082 + if (error)
1.6083 + {
1.6084 + verdict = EFail;
1.6085 + }
1.6086 +
1.6087 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6088 + __MM_HEAP_MARKEND;
1.6089 +
1.6090 + return verdict;
1.6091 + }
1.6092 +
1.6093 +//---------------------------------------------------------------
1.6094 +
1.6095 +
1.6096 +CTestStep_MMF_CTLFRM_U_0146::CTestStep_MMF_CTLFRM_U_0146()
1.6097 + /** Constructor
1.6098 + */
1.6099 + {
1.6100 + // store the name of this test case
1.6101 + // this is the name that is used by the script file
1.6102 + // Each test step initialises it's own name
1.6103 + iTestStepName = _L("MM-MMF-CTLFRM-U-0146");
1.6104 +
1.6105 +
1.6106 + }
1.6107 +
1.6108 +TVerdict CTestStep_MMF_CTLFRM_U_0146::DoTestStepL( void )
1.6109 +/** As TSU_MMF_CTLFRM_U_0140
1.6110 + * Use case: N/A
1.6111 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6112 + */
1.6113 + {
1.6114 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6115 + __MM_HEAP_MARK;
1.6116 +
1.6117 + TVerdict verdict = EPass;
1.6118 +
1.6119 + TMMFPrioritySettings settings;
1.6120 + TInt error = KErrNone;
1.6121 + RMMFController controller1;
1.6122 +
1.6123 + settings.iPriority = 1;
1.6124 + settings.iPref = EMdaPriorityPreferenceTime;
1.6125 + settings.iState = EMMFStateIdle;
1.6126 +
1.6127 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6128 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6129 +
1.6130 + // Set the format match data
1.6131 +
1.6132 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.6133 +
1.6134 + // Set the controller plugin play format match data
1.6135 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6136 +
1.6137 + // Get Controllers
1.6138 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6139 + CleanupResetAndDestroyPushL(controllers);
1.6140 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6141 +
1.6142 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6143 +
1.6144 + //---------------------//
1.6145 + // Method being Tested //
1.6146 + //---------------------//
1.6147 + TBool mediaSupported = controllers[0]->SupportsMediaId(KExpectedMediaIDUid140);
1.6148 +
1.6149 + if (!mediaSupported)
1.6150 + {
1.6151 + verdict = EFail;
1.6152 + }
1.6153 + //--------------------//
1.6154 +
1.6155 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6156 + controller1.Close();
1.6157 +
1.6158 + if (error)
1.6159 + {
1.6160 + verdict = EFail;
1.6161 + }
1.6162 +
1.6163 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6164 + __MM_HEAP_MARKEND;
1.6165 +
1.6166 + return verdict;
1.6167 + }
1.6168 +
1.6169 +//---------------------------------------------------------------
1.6170 +
1.6171 +CTestStep_MMF_CTLFRM_U_0150::CTestStep_MMF_CTLFRM_U_0150()
1.6172 + /** Constructor
1.6173 + */
1.6174 + {
1.6175 + // store the name of this test case
1.6176 + // this is the name that is used by the script file
1.6177 + // Each test step initialises it's own name
1.6178 + iTestStepName = _L("MM-MMF-CTLFRM-U-0150");
1.6179 +
1.6180 +
1.6181 + }
1.6182 +
1.6183 +TVerdict CTestStep_MMF_CTLFRM_U_0150::DoTestStepL( void )
1.6184 +/** Instanciate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.6185 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.6186 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.6187 + * open a controller. Check the details obtained to open the controller are correct. Open
1.6188 + * the controller, check for errors and close the controller.
1.6189 + * (Test CMMFControllerImplementationInformation API)
1.6190 +
1.6191 + * Use case: N/A
1.6192 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6193 + */
1.6194 + {
1.6195 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6196 + __MM_HEAP_MARK;
1.6197 +
1.6198 + TVerdict verdict = EPass;
1.6199 +
1.6200 + TMMFPrioritySettings settings;
1.6201 + TInt error = KErrNone;
1.6202 + RMMFController controller1;
1.6203 +
1.6204 + settings.iPriority = 1;
1.6205 + settings.iPref = EMdaPriorityPreferenceTime;
1.6206 + settings.iState = EMMFStateIdle;
1.6207 +
1.6208 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6209 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6210 +
1.6211 + // Set the format match data
1.6212 +
1.6213 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.6214 +
1.6215 + // Set the controller plugin play format match data
1.6216 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6217 +
1.6218 + // Get Controllers
1.6219 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6220 + CleanupResetAndDestroyPushL(controllers);
1.6221 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6222 +
1.6223 + //---------------------//
1.6224 + // Method being Tested //
1.6225 + //---------------------//
1.6226 + RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats();
1.6227 + INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count());
1.6228 +
1.6229 + TUid formatUid = controllersPlayFormats[0]->Uid();
1.6230 +
1.6231 + if (formatUid == KMmfUidFormatPAVReadUid ||
1.6232 + formatUid == KMmfUidFormatFAWReadUid ||
1.6233 + formatUid == KMmfUidFormatAIReadUid ||
1.6234 + formatUid == KMmfUidFormatMBEGReadUid)
1.6235 + {
1.6236 + verdict = EPass;
1.6237 + }
1.6238 + else
1.6239 + {
1.6240 + verdict = EFail;
1.6241 + }
1.6242 + //--------------------//
1.6243 +
1.6244 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6245 +
1.6246 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6247 + controller1.Close();
1.6248 +
1.6249 + if (error)
1.6250 + {
1.6251 + verdict = EFail;
1.6252 + }
1.6253 +
1.6254 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6255 + __MM_HEAP_MARKEND;
1.6256 +
1.6257 + return verdict;
1.6258 + }
1.6259 +
1.6260 +//---------------------------------------------------------------
1.6261 +
1.6262 +
1.6263 +CTestStep_MMF_CTLFRM_U_0151::CTestStep_MMF_CTLFRM_U_0151()
1.6264 + /** Constructor
1.6265 + */
1.6266 + {
1.6267 + // store the name of this test case
1.6268 + // this is the name that is used by the script file
1.6269 + // Each test step initialises it's own name
1.6270 + iTestStepName = _L("MM-MMF-CTLFRM-U-0151");
1.6271 +
1.6272 +
1.6273 + }
1.6274 +
1.6275 +TVerdict CTestStep_MMF_CTLFRM_U_0151::DoTestStepL( void )
1.6276 +/** As TSU_MMF_CTLFRM_U_0150
1.6277 + * Use case: N/A
1.6278 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6279 + */
1.6280 + {
1.6281 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6282 + __MM_HEAP_MARK;
1.6283 +
1.6284 + TVerdict verdict = EPass;
1.6285 +
1.6286 + TMMFPrioritySettings settings;
1.6287 + TInt error = KErrNone;
1.6288 + RMMFController controller1;
1.6289 +
1.6290 + settings.iPriority = 1;
1.6291 + settings.iPref = EMdaPriorityPreferenceTime;
1.6292 + settings.iState = EMMFStateIdle;
1.6293 +
1.6294 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6295 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6296 +
1.6297 + // Set the format match data
1.6298 + fSelect->SetMatchToFileNameL(_L("test.ai"));
1.6299 +
1.6300 + // Set the controller plugin play format match data
1.6301 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.6302 +
1.6303 + // Get Controllers
1.6304 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6305 + CleanupResetAndDestroyPushL(controllers);
1.6306 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6307 +
1.6308 + //---------------------//
1.6309 + // Method being Tested //
1.6310 + //---------------------//
1.6311 + RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats();
1.6312 + INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count());
1.6313 +
1.6314 + TUid formatUid = controllersRecordFormats[0]->Uid();
1.6315 +
1.6316 + if (formatUid == KMmfUidFormatPAVWriteUid ||
1.6317 + formatUid == KMmfUidFormatFAWWriteUid ||
1.6318 + formatUid == KMmfUidFormatAIWriteUid)
1.6319 + {
1.6320 + verdict = EPass;
1.6321 + }
1.6322 + else
1.6323 + {
1.6324 + verdict = EFail;
1.6325 + }
1.6326 + //--------------------//
1.6327 +
1.6328 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6329 +
1.6330 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6331 + controller1.Close();
1.6332 +
1.6333 + if (error)
1.6334 + {
1.6335 + verdict = EFail;
1.6336 + }
1.6337 +
1.6338 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6339 + __MM_HEAP_MARKEND;
1.6340 +
1.6341 + return verdict;
1.6342 + }
1.6343 +
1.6344 +//------------------------------------------------------------
1.6345 +
1.6346 +CTestStep_MMF_CTLFRM_U_0197::CTestStep_MMF_CTLFRM_U_0197()
1.6347 + /** Constructor
1.6348 + */
1.6349 + {
1.6350 + // store the name of this test case
1.6351 + // this is the name that is used by the script file
1.6352 + // Each test step initialises it's own name
1.6353 + iTestStepName = _L("MM-MMF-CTLFRM-U-0197");
1.6354 +
1.6355 +
1.6356 + }
1.6357 +
1.6358 +TVerdict CTestStep_MMF_CTLFRM_U_0197::DoTestStepL( void )
1.6359 +/** As TSU_MMF_CTLFRM_U_0140
1.6360 +
1.6361 + * Use case: N/A
1.6362 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6363 + */
1.6364 + {
1.6365 +
1.6366 + _LIT8(KExpectedText, "rtsp");
1.6367 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6368 + __MM_HEAP_MARK;
1.6369 +
1.6370 + TVerdict verdict = EPass;
1.6371 +
1.6372 + TMMFPrioritySettings settings;
1.6373 + TInt error = KErrNone;
1.6374 + RMMFController controller1;
1.6375 +
1.6376 + settings.iPriority = 1;
1.6377 + settings.iPref = EMdaPriorityPreferenceTime;
1.6378 + settings.iState = EMMFStateIdle;
1.6379 +
1.6380 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6381 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6382 +
1.6383 + // Set the format match data
1.6384 + fSelect->SetMatchToUriSupportL(_L("rtsp://www.symbian.com/first/test/directory/test.rm"));
1.6385 +
1.6386 + // Set the controller plugin play format match data
1.6387 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6388 +
1.6389 + // Get Controllers
1.6390 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6391 + CleanupResetAndDestroyPushL(controllers);
1.6392 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6393 +
1.6394 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6395 +
1.6396 + //---------------------//
1.6397 + // Method being Tested //
1.6398 + //---------------------//
1.6399 + const CDesC8Array* uriSchemes = &controllers[0]->SupportedUriSchemes();
1.6400 +
1.6401 + if (uriSchemes->Count() > 0)
1.6402 + {
1.6403 + TPtrC8 ptrC;
1.6404 + ptrC.Set(uriSchemes->MdcaPoint(0));
1.6405 +
1.6406 + if (ptrC.Compare(KExpectedText)==0)
1.6407 + {
1.6408 + verdict = EPass;
1.6409 + }
1.6410 + else
1.6411 + {
1.6412 + verdict = EFail;
1.6413 + }
1.6414 + }
1.6415 +
1.6416 + //--------------------//
1.6417 +
1.6418 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6419 + controller1.Close();
1.6420 +
1.6421 + if (error)
1.6422 + {
1.6423 + verdict = EFail;
1.6424 + }
1.6425 +
1.6426 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6427 + __MM_HEAP_MARKEND;
1.6428 +
1.6429 + return verdict;
1.6430 + }
1.6431 +
1.6432 +
1.6433 +
1.6434 +//------------------------------------------------------------
1.6435 +
1.6436 +
1.6437 +
1.6438 +//---------------------------------------------------------------
1.6439 +
1.6440 +CTestStep_MMF_CTLFRM_U_0152::CTestStep_MMF_CTLFRM_U_0152()
1.6441 + /** Constructor
1.6442 + */
1.6443 + {
1.6444 + // store the name of this test case
1.6445 + // this is the name that is used by the script file
1.6446 + // Each test step initialises it's own name
1.6447 + iTestStepName = _L("MM-MMF-CTLFRM-U-0152");
1.6448 + }
1.6449 +
1.6450 +
1.6451 +
1.6452 +
1.6453 +
1.6454 +
1.6455 +TVerdict CTestStep_MMF_CTLFRM_U_0152::DoTestStepL( void )
1.6456 +/**
1.6457 + * Call the RMMFController::Open(..) for a number of controllers and determine what Heap size has been allocated.
1.6458 + *
1.6459 + * This test needs access to the private member iSubThread in RMMFControllerProxy. To achieve this,
1.6460 + * private has been #defined to public oprior to including MmfControllerFramework.h and them #undef.
1.6461 + * This avoided the use of a friend declaration, but may later result in a maintenance problem.
1.6462 + *
1.6463 + * Test for fix to INC038123
1.6464 + */
1.6465 + {
1.6466 +
1.6467 + INFO_PRINTF1(_L("The test step is not available on EKA2 - Skipping test!"));
1.6468 + return EPass;
1.6469 +
1.6470 + }
1.6471 +
1.6472 +
1.6473 +//---------------------------------------------------------------
1.6474 +
1.6475 +CTestStep_MMF_CTLFRM_U_0160::CTestStep_MMF_CTLFRM_U_0160()
1.6476 + /** Constructor
1.6477 + */
1.6478 + {
1.6479 + // store the name of this test case
1.6480 + // this is the name that is used by the script file
1.6481 + // Each test step initialises it's own name
1.6482 + iTestStepName = _L("MM-MMF-CTLFRM-U-0160");
1.6483 +
1.6484 +
1.6485 + }
1.6486 +
1.6487 +TVerdict CTestStep_MMF_CTLFRM_U_0160::DoTestStepL( void )
1.6488 +/**
1.6489 + * Use case: N/A
1.6490 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6491 + */
1.6492 + {
1.6493 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6494 + __MM_HEAP_MARK;
1.6495 +
1.6496 + TVerdict verdict = EPass;
1.6497 + _LIT8(KExpectedText, ".ai");
1.6498 +
1.6499 +
1.6500 + TMMFPrioritySettings settings;
1.6501 + TInt error = KErrNone;
1.6502 + RMMFController controller1;
1.6503 +
1.6504 + settings.iPriority = 1;
1.6505 + settings.iPref = EMdaPriorityPreferenceTime;
1.6506 + settings.iState = EMMFStateIdle;
1.6507 +
1.6508 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6509 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6510 +
1.6511 + // Set the format match data
1.6512 + fSelect->SetMatchToFileNameL(_L("test.ai"));
1.6513 +
1.6514 +
1.6515 + // Set the controller plugin play format match data
1.6516 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.6517 +
1.6518 + // Get Controllers
1.6519 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6520 + CleanupResetAndDestroyPushL(controllers);
1.6521 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6522 + if (controllers.Count() > 0 )
1.6523 + {
1.6524 + RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats();
1.6525 + INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count());
1.6526 + for (TInt recordFormatCount = 0;recordFormatCount < controllersRecordFormats.Count();recordFormatCount++)
1.6527 + {
1.6528 + //---------------------//
1.6529 + // Method being Tested //
1.6530 + const CDesC8Array* fileExtensions = &controllersRecordFormats[recordFormatCount]->SupportedFileExtensions();
1.6531 + //---------------------//
1.6532 + if (fileExtensions->Count() > 0)
1.6533 + {
1.6534 + TPtrC8 ptrC;
1.6535 + ptrC.Set(fileExtensions->MdcaPoint(0));
1.6536 + if (ptrC.Compare(KExpectedText)==0)
1.6537 + {
1.6538 + verdict = EPass;
1.6539 + break;
1.6540 + }
1.6541 + else
1.6542 + {
1.6543 + verdict = EFail;
1.6544 + }
1.6545 + }
1.6546 + }
1.6547 + }
1.6548 + else
1.6549 + {
1.6550 + verdict = EFail;
1.6551 + }
1.6552 + if (controllers.Count() >0)//if loop added so that it will enter into loop only if Controller count >0
1.6553 + {
1.6554 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6555 + controller1.Close();
1.6556 + }
1.6557 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6558 + if (error)
1.6559 + {
1.6560 + verdict = EFail;
1.6561 + }
1.6562 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6563 + __MM_HEAP_MARKEND;
1.6564 + return verdict;
1.6565 + }
1.6566 +
1.6567 +//---------------------------------------------------------------
1.6568 +
1.6569 +
1.6570 +
1.6571 +CTestStep_MMF_CTLFRM_U_0161::CTestStep_MMF_CTLFRM_U_0161()
1.6572 + /** Constructor
1.6573 + */
1.6574 + {
1.6575 + // store the name of this test case
1.6576 + // this is the name that is used by the script file
1.6577 + // Each test step initialises it's own name
1.6578 + iTestStepName = _L("MM-MMF-CTLFRM-U-0161");
1.6579 +
1.6580 +
1.6581 + }
1.6582 +
1.6583 +TVerdict CTestStep_MMF_CTLFRM_U_0161::DoTestStepL( void )
1.6584 +/**
1.6585 + * Use case: N/A
1.6586 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6587 + */
1.6588 + {
1.6589 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6590 + __MM_HEAP_MARK;
1.6591 +
1.6592 + TVerdict verdict = EPass;
1.6593 + _LIT8(KExpectedText,"audio/mbeg");
1.6594 +
1.6595 + TMMFPrioritySettings settings;
1.6596 + TInt error = KErrNone;
1.6597 + RMMFController controller1;
1.6598 +
1.6599 + settings.iPriority = 1;
1.6600 + settings.iPref = EMdaPriorityPreferenceTime;
1.6601 + settings.iState = EMMFStateIdle;
1.6602 +
1.6603 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6604 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6605 +
1.6606 + // Set the format match data
1.6607 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.6608 +
1.6609 + // Set the controller plugin play format match data
1.6610 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6611 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.6612 +
1.6613 + // Get Controllers
1.6614 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6615 + CleanupResetAndDestroyPushL(controllers);
1.6616 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6617 +
1.6618 + if (controllers.Count() > 0)
1.6619 + {
1.6620 + RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats();
1.6621 + INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count());
1.6622 +
1.6623 + if (controllersPlayFormats.Count() > 0)
1.6624 + {
1.6625 + //---------------------//
1.6626 + // Method being Tested //
1.6627 + const CDesC8Array* mimeTypes = &controllersPlayFormats[1]->SupportedMimeTypes();
1.6628 + //---------------------//
1.6629 +
1.6630 + if (mimeTypes->Count() <= 0)
1.6631 + {
1.6632 + verdict = EFail;
1.6633 + }
1.6634 + else
1.6635 + {
1.6636 + TPtrC8 ptrC;
1.6637 + ptrC.Set(mimeTypes->MdcaPoint(0));
1.6638 + if (ptrC.Compare(KExpectedText) == 0)
1.6639 + {
1.6640 + verdict = EPass;
1.6641 + }
1.6642 + else
1.6643 + {
1.6644 + verdict = EFail;
1.6645 + }
1.6646 + }
1.6647 + }
1.6648 + else
1.6649 + {
1.6650 + verdict = EFail;
1.6651 + }
1.6652 + }
1.6653 + else
1.6654 + {
1.6655 + verdict = EFail;
1.6656 + }
1.6657 +
1.6658 +
1.6659 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6660 +
1.6661 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6662 + controller1.Close();
1.6663 +
1.6664 + if (error)
1.6665 + {
1.6666 + verdict = EFail;
1.6667 + }
1.6668 +
1.6669 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6670 + __MM_HEAP_MARKEND;
1.6671 +
1.6672 + return verdict;
1.6673 + }
1.6674 +
1.6675 +//---------------------------------------------------------------
1.6676 +
1.6677 +
1.6678 +CTestStep_MMF_CTLFRM_U_0162::CTestStep_MMF_CTLFRM_U_0162()
1.6679 + /** Constructor
1.6680 + */
1.6681 + {
1.6682 + // store the name of this test case
1.6683 + // this is the name that is used by the script file
1.6684 + // Each test step initialises it's own name
1.6685 + iTestStepName = _L("MM-MMF-CTLFRM-U-0162");
1.6686 +
1.6687 +
1.6688 + }
1.6689 +
1.6690 +TVerdict CTestStep_MMF_CTLFRM_U_0162::DoTestStepL( void )
1.6691 +/**
1.6692 + * Use case: N/A
1.6693 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6694 + */
1.6695 + {
1.6696 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6697 + __MM_HEAP_MARK;
1.6698 +
1.6699 + TVerdict verdict = EPass;
1.6700 + _LIT8(KExpectedText, "RIFF????PAVE");
1.6701 +
1.6702 + TMMFPrioritySettings settings;
1.6703 + TInt error = KErrNone;
1.6704 + RMMFController controller1;
1.6705 +
1.6706 + settings.iPriority = 1;
1.6707 + settings.iPref = EMdaPriorityPreferenceTime;
1.6708 + settings.iState = EMMFStateIdle;
1.6709 +
1.6710 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6711 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6712 +
1.6713 + // Set the format match data
1.6714 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.6715 +
1.6716 + // Set the controller plugin play format match data
1.6717 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6718 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.6719 +
1.6720 + // Get Controllers
1.6721 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6722 + CleanupResetAndDestroyPushL(controllers);
1.6723 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6724 +
1.6725 + //---------------------//
1.6726 + // Method being Tested //
1.6727 + //---------------------//
1.6728 + RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats();
1.6729 + INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count());
1.6730 +
1.6731 + if (controllersPlayFormats.Count() > 0)
1.6732 + {
1.6733 + //---------------------//
1.6734 + // Method being Tested //
1.6735 + const CDesC8Array* headerData = &controllersPlayFormats[0]->SupportedHeaderData();
1.6736 + //---------------------//
1.6737 +
1.6738 + if (headerData->Count() <= 0)
1.6739 + {
1.6740 + verdict = EFail;
1.6741 + }
1.6742 + else
1.6743 + {
1.6744 + TPtrC8 ptrC;
1.6745 + ptrC.Set(headerData->MdcaPoint(0));
1.6746 + if (ptrC.Compare(KExpectedText)==0)
1.6747 + {
1.6748 + verdict = EPass;
1.6749 + }
1.6750 + else
1.6751 + {
1.6752 + verdict = EFail;
1.6753 + }
1.6754 + }
1.6755 + }
1.6756 + else
1.6757 + {
1.6758 + verdict = EFail;
1.6759 + }
1.6760 +
1.6761 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6762 +
1.6763 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6764 + controller1.Close();
1.6765 +
1.6766 + if (error)
1.6767 + {
1.6768 + verdict = EFail;
1.6769 + }
1.6770 +
1.6771 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6772 + __MM_HEAP_MARKEND;
1.6773 +
1.6774 + return verdict;
1.6775 + }
1.6776 +
1.6777 +//---------------------------------------------------------------
1.6778 +
1.6779 +
1.6780 +CTestStep_MMF_CTLFRM_U_0163::CTestStep_MMF_CTLFRM_U_0163()
1.6781 + /** Constructor
1.6782 + */
1.6783 + {
1.6784 + // store the name of this test case
1.6785 + // this is the name that is used by the script file
1.6786 + // Each test step initialises it's own name
1.6787 + iTestStepName = _L("MM-MMF-CTLFRM-U-0163");
1.6788 +
1.6789 +
1.6790 + }
1.6791 +
1.6792 +TVerdict CTestStep_MMF_CTLFRM_U_0163::DoTestStepL( void )
1.6793 +/**
1.6794 + * Use case: N/A
1.6795 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6796 + */
1.6797 + {
1.6798 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6799 + __MM_HEAP_MARK;
1.6800 +
1.6801 + TVerdict verdict = EPass;
1.6802 + _LIT8(KExpectedText, ".ai");
1.6803 +
1.6804 + TMMFPrioritySettings settings;
1.6805 + TInt error = KErrNone;
1.6806 + RMMFController controller1;
1.6807 +
1.6808 + settings.iPriority = 1;
1.6809 + settings.iPref = EMdaPriorityPreferenceTime;
1.6810 + settings.iState = EMMFStateIdle;
1.6811 +
1.6812 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6813 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6814 +
1.6815 + // Set the format match data
1.6816 + fSelect->SetMatchToFileNameL(_L("test.ai"));
1.6817 +
1.6818 + // Set the controller plugin play format match data
1.6819 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.6820 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.6821 +
1.6822 + // Get Controllers
1.6823 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6824 + CleanupResetAndDestroyPushL(controllers);
1.6825 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6826 + if (controllers.Count() > 0)
1.6827 + {
1.6828 + //---------------------//
1.6829 + // Method being Tested //
1.6830 + //---------------------//
1.6831 + RMMFFormatImplInfoArray controllersRecordFormats = controllers[0]->RecordFormats();
1.6832 + INFO_PRINTF2(_L("Number of Record Formats: %d"),controllersRecordFormats.Count());
1.6833 + TBufC8<32> bufC8Expected;
1.6834 + bufC8Expected = KExpectedText;
1.6835 + for (TInt recordFormatCount=0;recordFormatCount<controllersRecordFormats.Count();recordFormatCount++)
1.6836 + {
1.6837 + TBool fileExtensionSupported = controllersRecordFormats[recordFormatCount]->SupportsFileExtension(bufC8Expected);
1.6838 + if (fileExtensionSupported)
1.6839 + {
1.6840 + verdict = EPass;
1.6841 + break;
1.6842 + }
1.6843 + else if (!fileExtensionSupported)
1.6844 + {
1.6845 + verdict = EFail;
1.6846 + }
1.6847 + }
1.6848 + }
1.6849 + else
1.6850 + {
1.6851 + verdict = EFail;
1.6852 + }
1.6853 +
1.6854 + if (controllers.Count() >0) //if loop added so that it will enter into loop only if Controller count >0
1.6855 + {
1.6856 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6857 + controller1.Close();
1.6858 + }
1.6859 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6860 + if (error)
1.6861 + {
1.6862 + verdict = EFail;
1.6863 + }
1.6864 +
1.6865 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6866 + __MM_HEAP_MARKEND;
1.6867 +
1.6868 + return verdict;
1.6869 + }
1.6870 +
1.6871 +//---------------------------------------------------------------
1.6872 +
1.6873 +
1.6874 +
1.6875 +CTestStep_MMF_CTLFRM_U_0164::CTestStep_MMF_CTLFRM_U_0164()
1.6876 + /** Constructor
1.6877 + */
1.6878 + {
1.6879 + // store the name of this test case
1.6880 + // this is the name that is used by the script file
1.6881 + // Each test step initialises it's own name
1.6882 + iTestStepName = _L("MM-MMF-CTLFRM-U-0164");
1.6883 +
1.6884 +
1.6885 + }
1.6886 +
1.6887 +TVerdict CTestStep_MMF_CTLFRM_U_0164::DoTestStepL( void )
1.6888 +/**
1.6889 + * Use case: N/A
1.6890 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6891 + */
1.6892 + {
1.6893 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6894 + __MM_HEAP_MARK;
1.6895 +
1.6896 + TVerdict verdict = EPass;
1.6897 + _LIT8(KExpectedText, "audio/mbeg");
1.6898 +
1.6899 + TMMFPrioritySettings settings;
1.6900 + TInt error = KErrNone;
1.6901 + RMMFController controller1;
1.6902 +
1.6903 + settings.iPriority = 1;
1.6904 + settings.iPref = EMdaPriorityPreferenceTime;
1.6905 + settings.iState = EMMFStateIdle;
1.6906 +
1.6907 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6908 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.6909 +
1.6910 + // Set the format match data
1.6911 + fSelect->SetMatchToFileNameL(_L("test.mp3"));
1.6912 +
1.6913 + // Set the controller plugin play format match data
1.6914 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.6915 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.6916 +
1.6917 + // Get Controllers
1.6918 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.6919 + CleanupResetAndDestroyPushL(controllers);
1.6920 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.6921 +
1.6922 + //---------------------//
1.6923 + // Method being Tested //
1.6924 + //---------------------//
1.6925 + RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats();
1.6926 + INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count());
1.6927 +
1.6928 + if (controllersPlayFormats.Count() > 0)
1.6929 + {
1.6930 + TBufC8<32> bufC8Expected;
1.6931 + bufC8Expected = KExpectedText;
1.6932 + //---------------------//
1.6933 + // Method being Tested //
1.6934 + TBool mimeTypeSupported = controllersPlayFormats[1]->SupportsMimeType(bufC8Expected);
1.6935 + //---------------------//
1.6936 +
1.6937 + if (!mimeTypeSupported)
1.6938 + {
1.6939 + verdict = EFail;
1.6940 + }
1.6941 + }
1.6942 + else
1.6943 + {
1.6944 + verdict = EFail;
1.6945 + }
1.6946 +
1.6947 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.6948 +
1.6949 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.6950 + controller1.Close();
1.6951 +
1.6952 + if (error)
1.6953 + {
1.6954 + verdict = EFail;
1.6955 + }
1.6956 +
1.6957 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.6958 + __MM_HEAP_MARKEND;
1.6959 +
1.6960 + return verdict;
1.6961 + }
1.6962 +
1.6963 +//---------------------------------------------------------------
1.6964 +
1.6965 +
1.6966 +CTestStep_MMF_CTLFRM_U_0165::CTestStep_MMF_CTLFRM_U_0165()
1.6967 + /** Constructor
1.6968 + */
1.6969 + {
1.6970 + // store the name of this test case
1.6971 + // this is the name that is used by the script file
1.6972 + // Each test step initialises it's own name
1.6973 + iTestStepName = _L("MM-MMF-CTLFRM-U-0165");
1.6974 +
1.6975 +
1.6976 + }
1.6977 +
1.6978 +TVerdict CTestStep_MMF_CTLFRM_U_0165::DoTestStepL( void )
1.6979 +/**
1.6980 + * Use case: N/A
1.6981 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.6982 + */
1.6983 + {
1.6984 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.6985 + __MM_HEAP_MARK;
1.6986 +
1.6987 + TVerdict verdict = EPass;
1.6988 + _LIT8(KExpectedText, "RIFF????PAVE");
1.6989 +
1.6990 + TMMFPrioritySettings settings;
1.6991 + TInt error = KErrNone;
1.6992 + RMMFController controller1;
1.6993 +
1.6994 + settings.iPriority = 1;
1.6995 + settings.iPref = EMdaPriorityPreferenceTime;
1.6996 + settings.iState = EMMFStateIdle;
1.6997 +
1.6998 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.6999 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7000 +
1.7001 + // Set the format match data
1.7002 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7003 +
1.7004 + // Set the controller plugin play format match data
1.7005 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7006 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7007 +
1.7008 + // Get Controllers
1.7009 + RMMFControllerImplInfoArray controllers; // Array to hold all the controllers support the match data
1.7010 + CleanupResetAndDestroyPushL(controllers);
1.7011 + cSelect->ListImplementationsL(controllers); // Populates the array with all the suitable controllers
1.7012 +
1.7013 + //---------------------//
1.7014 + // Method being Tested //
1.7015 + //---------------------//
1.7016 + RMMFFormatImplInfoArray controllersPlayFormats = controllers[0]->PlayFormats();
1.7017 + INFO_PRINTF2(_L("Number of Play Formats: %d"),controllersPlayFormats.Count());
1.7018 +
1.7019 + if (controllersPlayFormats.Count() > 0)
1.7020 + {
1.7021 + TBufC8<32> bufC8Expected;
1.7022 + bufC8Expected = KExpectedText;
1.7023 + //---------------------//
1.7024 + // Method being Tested //
1.7025 + TBool headerDataSupported = controllersPlayFormats[0]->SupportsHeaderDataL(bufC8Expected);
1.7026 + //---------------------//
1.7027 +
1.7028 + if (!headerDataSupported)
1.7029 + {
1.7030 + verdict = EFail;
1.7031 + }
1.7032 + }
1.7033 + else
1.7034 + {
1.7035 + verdict = EFail;
1.7036 + }
1.7037 +
1.7038 + User::LeaveIfError(error = controller1.Open(controllers[0]->Uid(), settings)); // iinstantiate the controller
1.7039 +
1.7040 + CleanupStack::PopAndDestroy(3);//controllers, fSelect, cSelect
1.7041 + controller1.Close();
1.7042 +
1.7043 + if (error)
1.7044 + {
1.7045 + verdict = EFail;
1.7046 + }
1.7047 +
1.7048 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7049 + __MM_HEAP_MARKEND;
1.7050 +
1.7051 + return verdict;
1.7052 + }
1.7053 +
1.7054 +//---------------------------------------------------------------
1.7055 +
1.7056 +
1.7057 +
1.7058 +CTestStep_MMF_CTLFRM_U_0170::CTestStep_MMF_CTLFRM_U_0170()
1.7059 + /** Constructor
1.7060 + */
1.7061 + {
1.7062 + // store the name of this test case
1.7063 + // this is the name that is used by the script file
1.7064 + // Each test step initialises it's own name
1.7065 + iTestStepName = _L("MM-MMF-CTLFRM-U-0170");
1.7066 +
1.7067 +
1.7068 + }
1.7069 +
1.7070 +TVerdict CTestStep_MMF_CTLFRM_U_0170::DoTestStepL( void )
1.7071 +/**
1.7072 + * Use case: N/A
1.7073 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.7074 + */
1.7075 + {
1.7076 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7077 + __MM_HEAP_MARK;
1.7078 +
1.7079 + TVerdict verdict = EPass;
1.7080 +// TMMFPrioritySettings settings; //EABI warning removal
1.7081 +
1.7082 +// settings.iPriority = 1;
1.7083 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7084 +// settings.iState = EMMFStateIdle;
1.7085 +
1.7086 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7087 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7088 +
1.7089 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7090 +
1.7091 + // Set the format match data
1.7092 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7093 +
1.7094 + // Set the controller plugin play format match data
1.7095 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7096 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7097 +
1.7098 +
1.7099 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7100 +
1.7101 + //---------------------//
1.7102 + // Method being Tested //
1.7103 + //---------------------//
1.7104 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7105 + //---------------------//
1.7106 +
1.7107 + // Get Encode Format(s)
1.7108 + RMMFFormatImplInfoArray formats;
1.7109 + CleanupResetAndDestroyPushL(formats);
1.7110 + fEncodeSelect->ListImplementationsL(formats);
1.7111 +
1.7112 +
1.7113 + // Check the Uid is correct, hense the correct interface has been obtained
1.7114 + TUid formatUid;
1.7115 + formatUid = formats[0]->Uid();
1.7116 + if (formatUid == KMmfUidFormatPAVWriteUid)
1.7117 + {
1.7118 + verdict = EPass;
1.7119 + }
1.7120 + else
1.7121 + {
1.7122 + verdict = EFail;
1.7123 + }
1.7124 +
1.7125 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7126 +
1.7127 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7128 + __MM_HEAP_MARKEND;
1.7129 +
1.7130 + return verdict;
1.7131 + }
1.7132 +
1.7133 +//---------------------------------------------------------------
1.7134 +
1.7135 +CTestStep_MMF_CTLFRM_U_0171::CTestStep_MMF_CTLFRM_U_0171()
1.7136 + /** Constructor
1.7137 + */
1.7138 + {
1.7139 + // store the name of this test case
1.7140 + // this is the name that is used by the script file
1.7141 + // Each test step initialises it's own name
1.7142 + iTestStepName = _L("MM-MMF-CTLFRM-U-0171");
1.7143 +
1.7144 +
1.7145 + }
1.7146 +
1.7147 +TVerdict CTestStep_MMF_CTLFRM_U_0171::DoTestStepL( void )
1.7148 +/**
1.7149 + * Use case: N/A
1.7150 + * @test Req.
1.7151 + */
1.7152 + {
1.7153 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7154 + __MM_HEAP_MARK;
1.7155 +
1.7156 + TVerdict verdict = EPass;
1.7157 +// TMMFPrioritySettings settings; //EABI warning removal
1.7158 +
1.7159 +// settings.iPriority = 1;
1.7160 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7161 +// settings.iState = EMMFStateIdle;
1.7162 +
1.7163 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7164 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7165 +
1.7166 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7167 +
1.7168 + // Set the format match data
1.7169 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7170 +
1.7171 + // Set the controller plugin play format match data
1.7172 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7173 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7174 +
1.7175 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7176 +
1.7177 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7178 +
1.7179 + //---------------------//
1.7180 +
1.7181 + // Get Encode Format(s)
1.7182 + RMMFFormatImplInfoArray formats;
1.7183 + CleanupResetAndDestroyPushL(formats);
1.7184 + fEncodeSelect->ListImplementationsL(formats);
1.7185 +
1.7186 +
1.7187 + RArray<TUid> mediaIds;
1.7188 +
1.7189 + //---------------------//
1.7190 + // Method being Tested //
1.7191 + //---------------------//
1.7192 + fEncodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds);
1.7193 + //---------------------//
1.7194 +
1.7195 + TUid uid = {0x101FF9FF};
1.7196 +
1.7197 + if (mediaIds.Count() > 0)
1.7198 + {
1.7199 + if (mediaIds[0] == uid)
1.7200 + {
1.7201 + verdict = EPass;
1.7202 + }
1.7203 + }
1.7204 + else
1.7205 + {
1.7206 + verdict = EFail;
1.7207 + }
1.7208 +
1.7209 + // Check the Uid is correct, hense the correct interface has been obtained
1.7210 + TUid formatUid;
1.7211 + formatUid = formats[0]->Uid();
1.7212 + if (formatUid == KMmfUidFormatPAVWriteUid)
1.7213 + {
1.7214 + verdict = EPass;
1.7215 + }
1.7216 + else
1.7217 + {
1.7218 + verdict = EFail;
1.7219 + }
1.7220 +
1.7221 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7222 +
1.7223 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7224 + __MM_HEAP_MARKEND;
1.7225 +
1.7226 + return verdict;
1.7227 + }
1.7228 +
1.7229 +//---------------------------------------------------------------
1.7230 +
1.7231 +
1.7232 +CTestStep_MMF_CTLFRM_U_0172::CTestStep_MMF_CTLFRM_U_0172()
1.7233 + /** Constructor
1.7234 + */
1.7235 + {
1.7236 + // store the name of this test case
1.7237 + // this is the name that is used by the script file
1.7238 + // Each test step initialises it's own name
1.7239 + iTestStepName = _L("MM-MMF-CTLFRM-U-0172");
1.7240 +
1.7241 +
1.7242 + }
1.7243 +
1.7244 +TVerdict CTestStep_MMF_CTLFRM_U_0172::DoTestStepL( void )
1.7245 +/**
1.7246 + * Use case: N/A
1.7247 + * @test Req. under test
1.7248 + */
1.7249 + {
1.7250 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7251 + __MM_HEAP_MARK;
1.7252 +
1.7253 + TVerdict verdict = EPass;
1.7254 + _LIT(KExpectedText, "Symbian");
1.7255 +
1.7256 +// TMMFPrioritySettings settings; //EABI warning removal
1.7257 +
1.7258 +// settings.iPriority = 1;
1.7259 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7260 +// settings.iState = EMMFStateIdle;
1.7261 +
1.7262 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7263 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7264 +
1.7265 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7266 +
1.7267 + // Set the format match data
1.7268 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7269 +
1.7270 + // Set the controller plugin play format match data
1.7271 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7272 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7273 +
1.7274 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7275 +
1.7276 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7277 + //---------------------//
1.7278 +
1.7279 + // Get Encode Format(s)
1.7280 + RMMFFormatImplInfoArray formats;
1.7281 + CleanupResetAndDestroyPushL(formats);
1.7282 + fEncodeSelect->ListImplementationsL(formats);
1.7283 +
1.7284 + //---------------------//
1.7285 + // Method being Tested //
1.7286 + //---------------------//
1.7287 + TBufC<12> bufC = fEncodeSelect->PreferredSupplier();
1.7288 + //---------------------//
1.7289 +
1.7290 + if ((bufC == KExpectedText) && (verdict == EPass))
1.7291 + {
1.7292 + verdict = EPass;
1.7293 + }
1.7294 + else
1.7295 + {
1.7296 + verdict = EFail;
1.7297 + }
1.7298 +
1.7299 + // Check the Uid is correct, hense the correct interface has been obtained
1.7300 + TUid formatUid;
1.7301 + formatUid = formats[0]->Uid();
1.7302 + if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass)
1.7303 + {
1.7304 + verdict = EPass;
1.7305 + }
1.7306 + else
1.7307 + {
1.7308 + verdict = EFail;
1.7309 + }
1.7310 +
1.7311 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7312 +
1.7313 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7314 + __MM_HEAP_MARKEND;
1.7315 +
1.7316 + return verdict;
1.7317 + }
1.7318 +
1.7319 +//---------------------------------------------------------------
1.7320 +
1.7321 +
1.7322 +CTestStep_MMF_CTLFRM_U_0173::CTestStep_MMF_CTLFRM_U_0173()
1.7323 + /** Constructor
1.7324 + */
1.7325 + {
1.7326 + // store the name of this test case
1.7327 + // this is the name that is used by the script file
1.7328 + // Each test step initialises it's own name
1.7329 + iTestStepName = _L("MM-MMF-CTLFRM-U-0173");
1.7330 +
1.7331 +
1.7332 + }
1.7333 +
1.7334 +TVerdict CTestStep_MMF_CTLFRM_U_0173::DoTestStepL( void )
1.7335 +/**
1.7336 + * Use case: N/A
1.7337 + * @test Req. under test
1.7338 + */
1.7339 + {
1.7340 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7341 + __MM_HEAP_MARK;
1.7342 +
1.7343 + TVerdict verdict = EPass;
1.7344 +// TMMFPrioritySettings settings; //EABI warning removal
1.7345 +
1.7346 +// settings.iPriority = 1;
1.7347 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7348 +// settings.iState = EMMFStateIdle;
1.7349 +
1.7350 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7351 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7352 +
1.7353 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7354 +
1.7355 + // Set the format match data
1.7356 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7357 +
1.7358 + // Set the controller plugin play format match data
1.7359 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7360 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7361 +
1.7362 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7363 +
1.7364 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7365 + //---------------------//
1.7366 +
1.7367 + // Get Encode Format(s)
1.7368 + RMMFFormatImplInfoArray formats;
1.7369 + CleanupResetAndDestroyPushL(formats);
1.7370 + fEncodeSelect->ListImplementationsL(formats);
1.7371 +
1.7372 + //---------------------//
1.7373 + // Method being Tested //
1.7374 + //---------------------//
1.7375 + if ((fEncodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned) && (verdict == EPass))
1.7376 + {
1.7377 + verdict = EPass;
1.7378 + }
1.7379 + else
1.7380 + {
1.7381 + verdict = EFail;
1.7382 + }
1.7383 + //---------------------//
1.7384 +
1.7385 + // Check the Uid is correct, hense the correct interface has been obtained
1.7386 + TUid formatUid;
1.7387 + formatUid = formats[0]->Uid();
1.7388 + if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass)
1.7389 + {
1.7390 + verdict = EPass;
1.7391 + }
1.7392 + else
1.7393 + {
1.7394 + verdict = EFail;
1.7395 + }
1.7396 +
1.7397 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7398 +
1.7399 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7400 + __MM_HEAP_MARKEND;
1.7401 +
1.7402 + return verdict;
1.7403 + }
1.7404 +
1.7405 +//---------------------------------------------------------------
1.7406 +
1.7407 +
1.7408 +CTestStep_MMF_CTLFRM_U_0174::CTestStep_MMF_CTLFRM_U_0174()
1.7409 + /** Constructor
1.7410 + */
1.7411 + {
1.7412 + // store the name of this test case
1.7413 + // this is the name that is used by the script file
1.7414 + // Each test step initialises it's own name
1.7415 + iTestStepName = _L("MM-MMF-CTLFRM-U-0174");
1.7416 +
1.7417 +
1.7418 + }
1.7419 +
1.7420 +TVerdict CTestStep_MMF_CTLFRM_U_0174::DoTestStepL( void )
1.7421 +/**
1.7422 + * Use case: N/A
1.7423 + * @test Req. under test
1.7424 + */
1.7425 + {
1.7426 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7427 + __MM_HEAP_MARK;
1.7428 +
1.7429 + TVerdict verdict = EPass;
1.7430 +// TMMFPrioritySettings settings; //EABI warning removal
1.7431 +
1.7432 +// settings.iPriority = 1;
1.7433 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7434 +// settings.iState = EMMFStateIdle;
1.7435 +
1.7436 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7437 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7438 +
1.7439 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7440 +
1.7441 + // Set the format match data
1.7442 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7443 +
1.7444 + // Set the controller plugin play format match data
1.7445 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.7446 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7447 +
1.7448 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7449 +
1.7450 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7451 + //---------------------//
1.7452 +
1.7453 + // Get Encode Format(s)
1.7454 + RMMFFormatImplInfoArray formats;
1.7455 + CleanupResetAndDestroyPushL(formats);
1.7456 + fEncodeSelect->ListImplementationsL(formats);
1.7457 +
1.7458 + TUid testUid = {0x12345679};
1.7459 + RArray<TUid> mediaIdsToAdd;
1.7460 + mediaIdsToAdd.Append(testUid);
1.7461 +
1.7462 + fEncodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds);
1.7463 +
1.7464 + //---------------------//
1.7465 + // Method being Tested //
1.7466 + //---------------------//
1.7467 + const RArray<TUid>& mediaIds = fEncodeSelect->MediaIds();
1.7468 + //---------------------//
1.7469 +
1.7470 + if (mediaIds.Count() > 0)
1.7471 + {
1.7472 + TUid uid = {0x12345679};
1.7473 +
1.7474 + if (mediaIds[0] == uid)
1.7475 + {
1.7476 + verdict = EPass;
1.7477 + }
1.7478 + else
1.7479 + {
1.7480 + verdict = EFail;
1.7481 + }
1.7482 + }
1.7483 + else
1.7484 + {
1.7485 + verdict = EFail;
1.7486 + }
1.7487 +
1.7488 + // Check the Uid is correct, hense the correct interface has been obtained
1.7489 + TUid formatUid;
1.7490 + formatUid = formats[0]->Uid();
1.7491 + if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass)
1.7492 + {
1.7493 + verdict = EPass;
1.7494 + }
1.7495 + else
1.7496 + {
1.7497 + verdict = EFail;
1.7498 + }
1.7499 +
1.7500 +
1.7501 + mediaIdsToAdd.Remove(0); // Remove otherwise TUid will be destroyed below and Panic.
1.7502 + mediaIdsToAdd.Close();
1.7503 +
1.7504 + CleanupStack::PopAndDestroy(4);// formats, fSelect, cSelect, fEncodeSelect
1.7505 +
1.7506 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7507 + __MM_HEAP_MARKEND;
1.7508 +
1.7509 + return verdict;
1.7510 + }
1.7511 +
1.7512 +//---------------------------------------------------------------
1.7513 +
1.7514 +CTestStep_MMF_CTLFRM_U_0175::CTestStep_MMF_CTLFRM_U_0175()
1.7515 + /** Constructor
1.7516 + */
1.7517 + {
1.7518 + // store the name of this test case
1.7519 + // this is the name that is used by the script file
1.7520 + // Each test step initialises it's own name
1.7521 + iTestStepName = _L("MM-MMF-CTLFRM-U-0175");
1.7522 +
1.7523 +
1.7524 + }
1.7525 +
1.7526 +TVerdict CTestStep_MMF_CTLFRM_U_0175::DoTestStepL( void )
1.7527 +/**
1.7528 + * Use case: N/A
1.7529 + * @test Req. under test
1.7530 + */
1.7531 + {
1.7532 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7533 + __MM_HEAP_MARK;
1.7534 +
1.7535 + TVerdict verdict = EPass;
1.7536 +// TMMFPrioritySettings settings; //EABI warning removal
1.7537 +
1.7538 +// settings.iPriority = 1;
1.7539 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7540 +// settings.iState = EMMFStateIdle;
1.7541 +
1.7542 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7543 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7544 +
1.7545 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7546 +
1.7547 + // Set the format match data
1.7548 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7549 +
1.7550 + // Set the controller plugin play format match data
1.7551 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7552 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7553 +
1.7554 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7555 +
1.7556 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7557 + //---------------------//
1.7558 +
1.7559 + // Get Encode Format(s)
1.7560 + RMMFFormatImplInfoArray formats;
1.7561 + CleanupResetAndDestroyPushL(formats);
1.7562 + fEncodeSelect->ListImplementationsL(formats);
1.7563 +
1.7564 + //---------------------//
1.7565 + // Method being Tested //
1.7566 + //---------------------//
1.7567 + if ((fEncodeSelect->MediaIdMatchType() == CMMFPluginSelectionParameters::ENoMediaIdMatch) && (verdict == EPass))
1.7568 + {
1.7569 + verdict = EPass;
1.7570 + }
1.7571 + else
1.7572 + {
1.7573 + verdict = EFail;
1.7574 + }
1.7575 + //---------------------//
1.7576 +
1.7577 + // Check the Uid is correct, hense the correct interface has been obtained
1.7578 + TUid formatUid;
1.7579 + formatUid = formats[0]->Uid();
1.7580 + if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass)
1.7581 + {
1.7582 + verdict = EPass;
1.7583 + }
1.7584 + else
1.7585 + {
1.7586 + verdict = EFail;
1.7587 + }
1.7588 +
1.7589 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7590 +
1.7591 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7592 + __MM_HEAP_MARKEND;
1.7593 +
1.7594 + return verdict;
1.7595 + }
1.7596 +
1.7597 +//---------------------------------------------------------------
1.7598 +
1.7599 +CTestStep_MMF_CTLFRM_U_0176::CTestStep_MMF_CTLFRM_U_0176()
1.7600 + /** Constructor
1.7601 + */
1.7602 + {
1.7603 + // store the name of this test case
1.7604 + // this is the name that is used by the script file
1.7605 + // Each test step initialises it's own name
1.7606 + iTestStepName = _L("MM-MMF-CTLFRM-U-0176");
1.7607 +
1.7608 +
1.7609 + }
1.7610 +
1.7611 +TVerdict CTestStep_MMF_CTLFRM_U_0176::DoTestStepL( void )
1.7612 +/**
1.7613 + * Use case: N/A
1.7614 + * @test Req. under test
1.7615 + */
1.7616 + {
1.7617 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7618 + __MM_HEAP_MARK;
1.7619 +
1.7620 + TVerdict verdict = EPass;
1.7621 +// TMMFPrioritySettings settings; //EABI warning removal
1.7622 +
1.7623 +// settings.iPriority = 1;
1.7624 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7625 +// settings.iState = EMMFStateIdle;
1.7626 +
1.7627 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7628 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7629 +
1.7630 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7631 +
1.7632 + // Set the format match data
1.7633 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7634 +
1.7635 + // Set the controller plugin play format match data
1.7636 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7637 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7638 +
1.7639 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7640 +
1.7641 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7642 + //---------------------//
1.7643 +
1.7644 + // Get Encode Format(s)
1.7645 + RMMFFormatImplInfoArray formats;
1.7646 + CleanupResetAndDestroyPushL(formats);
1.7647 + fEncodeSelect->ListImplementationsL(formats);
1.7648 +
1.7649 + //---------------------//
1.7650 + // Method being Tested //
1.7651 + //---------------------//
1.7652 + TUid uid = fEncodeSelect->InterfaceUid();
1.7653 + //---------------------//
1.7654 +
1.7655 + if (uid == KMmfUidPluginInterfaceFormatEncodeUid)
1.7656 + {
1.7657 + verdict = EPass;
1.7658 + }
1.7659 + else
1.7660 + {
1.7661 + verdict = EFail;
1.7662 + }
1.7663 +
1.7664 +
1.7665 +
1.7666 + // Check the Uid is correct, hense the correct interface has been obtained
1.7667 + TUid formatUid;
1.7668 + formatUid = formats[0]->Uid();
1.7669 + if (formatUid == KMmfUidFormatPAVWriteUid && verdict == EPass)
1.7670 + {
1.7671 + verdict = EPass;
1.7672 + }
1.7673 + else
1.7674 + {
1.7675 + verdict = EFail;
1.7676 + }
1.7677 +
1.7678 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7679 +
1.7680 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7681 + __MM_HEAP_MARKEND;
1.7682 +
1.7683 + return verdict;
1.7684 + }
1.7685 +
1.7686 +//---------------------------------------------------------------
1.7687 +
1.7688 +
1.7689 +
1.7690 +CTestStep_MMF_CTLFRM_U_0180::CTestStep_MMF_CTLFRM_U_0180()
1.7691 + /** Constructor
1.7692 + */
1.7693 + {
1.7694 + // store the name of this test case
1.7695 + // this is the name that is used by the script file
1.7696 + // Each test step initialises it's own name
1.7697 + iTestStepName = _L("MM-MMF-CTLFRM-U-0180");
1.7698 +
1.7699 +
1.7700 + }
1.7701 +
1.7702 +TVerdict CTestStep_MMF_CTLFRM_U_0180::DoTestStepL( void )
1.7703 +/**
1.7704 + * Use case: N/A
1.7705 + * @test Req. under test
1.7706 + */
1.7707 + {
1.7708 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7709 + __MM_HEAP_MARK;
1.7710 +
1.7711 + TVerdict verdict = EPass;
1.7712 +// TMMFPrioritySettings settings; //EABI warning removal
1.7713 +
1.7714 +// settings.iPriority = 1;
1.7715 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7716 +// settings.iState = EMMFStateIdle;
1.7717 +
1.7718 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7719 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7720 +
1.7721 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7722 +
1.7723 + // Set the format match data
1.7724 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7725 +
1.7726 + // Set the controller plugin play format match data
1.7727 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7728 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7729 +
1.7730 +
1.7731 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7732 +
1.7733 + //---------------------//
1.7734 + // Method being Tested //
1.7735 + //---------------------//
1.7736 + fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7737 + //---------------------//
1.7738 +
1.7739 + // Get Encode Format(s)
1.7740 + RMMFFormatImplInfoArray formats;
1.7741 + CleanupResetAndDestroyPushL(formats);
1.7742 + fEncodeSelect->ListImplementationsL(formats);
1.7743 +
1.7744 +
1.7745 + // Check the Uid is correct, hense the correct interface has been obtained
1.7746 + TUid formatUid;
1.7747 +
1.7748 + if (formats.Count() > 0)
1.7749 + {
1.7750 + formatUid = formats[0]->Uid();
1.7751 + if (formatUid == KMmfUidFormatPAVWriteUid)
1.7752 + {
1.7753 + verdict = EFail; // Wrong if correct ID occurs
1.7754 + }
1.7755 + else
1.7756 + {
1.7757 + verdict = EPass;
1.7758 + }
1.7759 + }
1.7760 + else
1.7761 + {
1.7762 + verdict = EPass;
1.7763 + }
1.7764 +
1.7765 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7766 +
1.7767 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7768 + __MM_HEAP_MARKEND;
1.7769 +
1.7770 + return verdict;
1.7771 + }
1.7772 +
1.7773 +//---------------------------------------------------------------
1.7774 +
1.7775 +CTestStep_MMF_CTLFRM_U_0181::CTestStep_MMF_CTLFRM_U_0181()
1.7776 + /** Constructor
1.7777 + */
1.7778 + {
1.7779 + // store the name of this test case
1.7780 + // this is the name that is used by the script file
1.7781 + // Each test step initialises it's own name
1.7782 + iTestStepName = _L("MM-MMF-CTLFRM-U-0181");
1.7783 +
1.7784 +
1.7785 + }
1.7786 +
1.7787 +TVerdict CTestStep_MMF_CTLFRM_U_0181::DoTestStepL( void )
1.7788 +/**
1.7789 + * Use case: N/A
1.7790 + * @test Req. under test
1.7791 + */
1.7792 + {
1.7793 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7794 + __MM_HEAP_MARK;
1.7795 +
1.7796 + TVerdict verdict = EPass;
1.7797 +
1.7798 +// TMMFPrioritySettings settings; //EABI warning removal
1.7799 +
1.7800 +// settings.iPriority = 1;
1.7801 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7802 +// settings.iState = EMMFStateIdle;
1.7803 +
1.7804 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7805 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7806 +
1.7807 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7808 +
1.7809 + // Set the format match data
1.7810 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7811 +
1.7812 + // Set the controller plugin play format match data
1.7813 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7814 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7815 +
1.7816 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7817 +
1.7818 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7819 +
1.7820 + //---------------------//
1.7821 +
1.7822 + // Get Encode Format(s)
1.7823 + RMMFFormatImplInfoArray formats;
1.7824 + CleanupResetAndDestroyPushL(formats);
1.7825 + fEncodeSelect->ListImplementationsL(formats);
1.7826 +
1.7827 +
1.7828 + RArray<TUid> mediaIds;
1.7829 +
1.7830 + //---------------------//
1.7831 + // Method being Tested //
1.7832 + //---------------------//
1.7833 + // Incorrect Enum Passed
1.7834 + fEncodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOtherMediaIds);
1.7835 + //---------------------//
1.7836 +
1.7837 + TUid uid = {0x101FF9FF};
1.7838 +
1.7839 + // Should return nothing
1.7840 + if (mediaIds.Count() > 0)
1.7841 + {
1.7842 + if (mediaIds[0] == uid)
1.7843 + {
1.7844 + verdict = EFail;
1.7845 + }
1.7846 + }
1.7847 + else
1.7848 + {
1.7849 + verdict = EPass;
1.7850 + }
1.7851 +
1.7852 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7853 +
1.7854 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7855 + __MM_HEAP_MARKEND;
1.7856 +
1.7857 + return verdict;
1.7858 + }
1.7859 +
1.7860 +//---------------------------------------------------------------
1.7861 +
1.7862 +
1.7863 +CTestStep_MMF_CTLFRM_U_0182::CTestStep_MMF_CTLFRM_U_0182()
1.7864 + /** Constructor
1.7865 + */
1.7866 + {
1.7867 + // store the name of this test case
1.7868 + // this is the name that is used by the script file
1.7869 + // Each test step initialises it's own name
1.7870 + iTestStepName = _L("MM-MMF-CTLFRM-U-0182");
1.7871 +
1.7872 +
1.7873 + }
1.7874 +
1.7875 +TVerdict CTestStep_MMF_CTLFRM_U_0182::DoTestStepL( void )
1.7876 +/**
1.7877 + * Use case: N/A
1.7878 + * @test Req. under test
1.7879 + */
1.7880 + {
1.7881 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7882 + __MM_HEAP_MARK;
1.7883 +
1.7884 + TVerdict verdict = EPass;
1.7885 + _LIT(KExpectedText, "Symbian");
1.7886 +
1.7887 +// TMMFPrioritySettings settings; //EABI warning removal
1.7888 +
1.7889 +// settings.iPriority = 1;
1.7890 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7891 +// settings.iState = EMMFStateIdle;
1.7892 +
1.7893 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7894 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7895 +
1.7896 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7897 +
1.7898 + // Set the format match data
1.7899 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7900 +
1.7901 + // Set the controller plugin play format match data
1.7902 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7903 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7904 +
1.7905 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7906 +
1.7907 + fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7908 + //---------------------//
1.7909 +
1.7910 + // Get Encode Format(s)
1.7911 + RMMFFormatImplInfoArray formats;
1.7912 + CleanupResetAndDestroyPushL(formats);
1.7913 + fEncodeSelect->ListImplementationsL(formats);
1.7914 +
1.7915 + //---------------------//
1.7916 + // Method being Tested //
1.7917 + //---------------------//
1.7918 + TBufC<12> bufC = fEncodeSelect->PreferredSupplier();
1.7919 + //---------------------//
1.7920 +
1.7921 + // Shouldn't return Symbian, should be Simbian
1.7922 + if ((bufC == KExpectedText) && (verdict == EPass))
1.7923 + {
1.7924 + verdict = EFail;
1.7925 + }
1.7926 + else
1.7927 + {
1.7928 + verdict = EPass;
1.7929 + }
1.7930 +
1.7931 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.7932 +
1.7933 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.7934 + __MM_HEAP_MARKEND;
1.7935 +
1.7936 + return verdict;
1.7937 + }
1.7938 +
1.7939 +//---------------------------------------------------------------
1.7940 +
1.7941 +
1.7942 +CTestStep_MMF_CTLFRM_U_0183::CTestStep_MMF_CTLFRM_U_0183()
1.7943 + /** Constructor
1.7944 + */
1.7945 + {
1.7946 + // store the name of this test case
1.7947 + // this is the name that is used by the script file
1.7948 + // Each test step initialises it's own name
1.7949 + iTestStepName = _L("MM-MMF-CTLFRM-U-0183");
1.7950 +
1.7951 +
1.7952 + }
1.7953 +
1.7954 +TVerdict CTestStep_MMF_CTLFRM_U_0183::DoTestStepL( void )
1.7955 +/**
1.7956 + * Use case: N/A
1.7957 + * @test Req. under test
1.7958 + */
1.7959 + {
1.7960 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.7961 + __MM_HEAP_MARK;
1.7962 +
1.7963 + TVerdict verdict = EPass;
1.7964 +// TMMFPrioritySettings settings; //EABI warning removal
1.7965 +
1.7966 +// settings.iPriority = 1;
1.7967 +// settings.iPref = EMdaPriorityPreferenceTime;
1.7968 +// settings.iState = EMMFStateIdle;
1.7969 +
1.7970 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.7971 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.7972 +
1.7973 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.7974 +
1.7975 + // Set the format match data
1.7976 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.7977 +
1.7978 + // Set the controller plugin play format match data
1.7979 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.7980 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.7981 +
1.7982 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.7983 +
1.7984 + fEncodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.7985 + //---------------------//
1.7986 +
1.7987 + // Get Encode Format(s)
1.7988 + RMMFFormatImplInfoArray formats;
1.7989 + CleanupResetAndDestroyPushL(formats);
1.7990 + fEncodeSelect->ListImplementationsL(formats);
1.7991 +
1.7992 + //---------------------//
1.7993 + // Method being Tested //
1.7994 + //---------------------//
1.7995 + if ((fEncodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::ENoPreferredSupplierMatch) && (verdict == EFail))
1.7996 + {
1.7997 + verdict = EFail;
1.7998 + }
1.7999 + else
1.8000 + {
1.8001 + verdict = EPass;
1.8002 + }
1.8003 + //---------------------//
1.8004 +
1.8005 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.8006 +
1.8007 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8008 + __MM_HEAP_MARKEND;
1.8009 +
1.8010 + return verdict;
1.8011 + }
1.8012 +
1.8013 +//---------------------------------------------------------------
1.8014 +
1.8015 +
1.8016 +CTestStep_MMF_CTLFRM_U_0184::CTestStep_MMF_CTLFRM_U_0184()
1.8017 + /** Constructor
1.8018 + */
1.8019 + {
1.8020 + // store the name of this test case
1.8021 + // this is the name that is used by the script file
1.8022 + // Each test step initialises it's own name
1.8023 + iTestStepName = _L("MM-MMF-CTLFRM-U-0184");
1.8024 +
1.8025 +
1.8026 + }
1.8027 +
1.8028 +TVerdict CTestStep_MMF_CTLFRM_U_0184::DoTestStepL( void )
1.8029 +/**
1.8030 + * Use case: N/A
1.8031 + * @test Req. under test
1.8032 + */
1.8033 + {
1.8034 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8035 + __MM_HEAP_MARK;
1.8036 +
1.8037 + TVerdict verdict = EPass;
1.8038 +// TMMFPrioritySettings settings; //EABI warning removal
1.8039 +
1.8040 +// settings.iPriority = 1;
1.8041 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8042 +// settings.iState = EMMFStateIdle;
1.8043 +
1.8044 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8045 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8046 +
1.8047 + CMMFFormatEncodePluginSelectionParameters* fEncodeSelect = CMMFFormatEncodePluginSelectionParameters::NewLC();
1.8048 +
1.8049 + // Set the format match data
1.8050 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8051 +
1.8052 + // Set the controller plugin play format match data
1.8053 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.8054 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8055 +
1.8056 + fEncodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8057 +
1.8058 + fEncodeSelect->SetPreferredSupplierL(_L("Simbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8059 + //---------------------//
1.8060 +
1.8061 + // Get Encode Format(s)
1.8062 + RMMFFormatImplInfoArray formats;
1.8063 + CleanupResetAndDestroyPushL(formats);
1.8064 + fEncodeSelect->ListImplementationsL(formats);
1.8065 +
1.8066 + RArray<TUid> mediaIdsToAdd;
1.8067 +
1.8068 + // Pass Empty Array
1.8069 + fEncodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds);
1.8070 +
1.8071 +
1.8072 + //---------------------//
1.8073 + // Method being Tested //
1.8074 + //---------------------//
1.8075 + const RArray<TUid>& mediaIds = fEncodeSelect->MediaIds();
1.8076 + //---------------------//
1.8077 +
1.8078 + if (mediaIds.Count() > 0)
1.8079 + {
1.8080 + TUid uid = {0x12345679};
1.8081 + if (mediaIds[0] == uid)
1.8082 + {
1.8083 + verdict = EFail;
1.8084 + }
1.8085 + else
1.8086 + {
1.8087 + verdict = EPass;
1.8088 + }
1.8089 + }
1.8090 + else
1.8091 + {
1.8092 + verdict = EPass;
1.8093 + }
1.8094 +
1.8095 + mediaIdsToAdd.Close();
1.8096 +
1.8097 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fEncodeSelect
1.8098 +
1.8099 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8100 + __MM_HEAP_MARKEND;
1.8101 +
1.8102 + return verdict;
1.8103 + }
1.8104 +
1.8105 +//---------------------------------------------------------------
1.8106 +
1.8107 +
1.8108 +CTestStep_MMF_CTLFRM_U_0190::CTestStep_MMF_CTLFRM_U_0190()
1.8109 + /** Constructor
1.8110 + */
1.8111 + {
1.8112 + // store the name of this test case
1.8113 + // this is the name that is used by the script file
1.8114 + // Each test step initialises it's own name
1.8115 + iTestStepName = _L("MM-MMF-CTLFRM-U-0190");
1.8116 +
1.8117 +
1.8118 + }
1.8119 +
1.8120 +TVerdict CTestStep_MMF_CTLFRM_U_0190::DoTestStepL( void )
1.8121 +/**
1.8122 + * Use case: N/A
1.8123 + * @test Req. under test
1.8124 + */
1.8125 + {
1.8126 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8127 + __MM_HEAP_MARK;
1.8128 +
1.8129 + TVerdict verdict = EPass;
1.8130 +// TMMFPrioritySettings settings; //EABI warning removal
1.8131 +
1.8132 +// settings.iPriority = 1;
1.8133 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8134 +// settings.iState = EMMFStateIdle;
1.8135 +
1.8136 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8137 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8138 +
1.8139 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8140 +
1.8141 + // Set the format match data
1.8142 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8143 +
1.8144 + // Set the controller plugin play format match data
1.8145 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8146 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8147 +
1.8148 +
1.8149 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8150 +
1.8151 + //---------------------//
1.8152 + // Method being Tested //
1.8153 + //---------------------//
1.8154 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8155 + //---------------------//
1.8156 +
1.8157 + // Get Decode Format(s)
1.8158 + RMMFFormatImplInfoArray formats;
1.8159 + CleanupResetAndDestroyPushL(formats);
1.8160 + fDecodeSelect->ListImplementationsL(formats);
1.8161 +
1.8162 +
1.8163 + // Check the Uid is correct, hense the correct interface has been obtained
1.8164 + TUid formatUid;
1.8165 + formatUid = formats[0]->Uid();
1.8166 + if (formatUid == KMmfUidFormatPAVReadUid)
1.8167 + {
1.8168 + verdict = EPass;
1.8169 + }
1.8170 + else
1.8171 + {
1.8172 + verdict = EFail;
1.8173 + }
1.8174 +
1.8175 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8176 +
1.8177 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8178 + __MM_HEAP_MARKEND;
1.8179 +
1.8180 + return verdict;
1.8181 + }
1.8182 +
1.8183 +//---------------------------------------------------------------
1.8184 +
1.8185 +CTestStep_MMF_CTLFRM_U_0191::CTestStep_MMF_CTLFRM_U_0191()
1.8186 + /** Constructor
1.8187 + */
1.8188 + {
1.8189 + // store the name of this test case
1.8190 + // this is the name that is used by the script file
1.8191 + // Each test step initialises it's own name
1.8192 + iTestStepName = _L("MM-MMF-CTLFRM-U-0191");
1.8193 +
1.8194 +
1.8195 + }
1.8196 +
1.8197 +TVerdict CTestStep_MMF_CTLFRM_U_0191::DoTestStepL( void )
1.8198 +/**
1.8199 + * Use case: N/A
1.8200 + * @test Req. under test
1.8201 + */
1.8202 + {
1.8203 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8204 + __MM_HEAP_MARK;
1.8205 +
1.8206 + TVerdict verdict = EPass;
1.8207 +// TMMFPrioritySettings settings; //EABI warning removal
1.8208 +
1.8209 +// settings.iPriority = 1;
1.8210 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8211 +// settings.iState = EMMFStateIdle;
1.8212 +
1.8213 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8214 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8215 +
1.8216 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8217 +
1.8218 + // Set the format match data
1.8219 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8220 +
1.8221 + // Set the controller plugin play format match data
1.8222 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8223 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8224 +
1.8225 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8226 +
1.8227 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8228 +
1.8229 + //---------------------//
1.8230 +
1.8231 + // Get Decode Format(s)
1.8232 + RMMFFormatImplInfoArray formats;
1.8233 + CleanupResetAndDestroyPushL(formats);
1.8234 + fDecodeSelect->ListImplementationsL(formats);
1.8235 +
1.8236 +
1.8237 + RArray<TUid> mediaIds;
1.8238 +
1.8239 + //---------------------//
1.8240 + // Method being Tested //
1.8241 + //---------------------//
1.8242 + fDecodeSelect->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds);
1.8243 + //---------------------//
1.8244 +
1.8245 + TUid uid = {0x101FF9FF};
1.8246 +
1.8247 + if (mediaIds.Count() > 0)
1.8248 + {
1.8249 + if (mediaIds[0] == uid)
1.8250 + {
1.8251 + verdict = EPass;
1.8252 + }
1.8253 + }
1.8254 + else
1.8255 + {
1.8256 + verdict = EFail;
1.8257 + }
1.8258 +
1.8259 + // Check the Uid is correct, hense the correct interface has been obtained
1.8260 + TUid formatUid;
1.8261 + formatUid = formats[0]->Uid();
1.8262 + if (formatUid == KMmfUidFormatPAVReadUid)
1.8263 + {
1.8264 + verdict = EPass;
1.8265 + }
1.8266 + else
1.8267 + {
1.8268 + verdict = EFail;
1.8269 + }
1.8270 +
1.8271 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8272 +
1.8273 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8274 + __MM_HEAP_MARKEND;
1.8275 +
1.8276 + return verdict;
1.8277 + }
1.8278 +
1.8279 +//---------------------------------------------------------------
1.8280 +
1.8281 +
1.8282 +CTestStep_MMF_CTLFRM_U_0192::CTestStep_MMF_CTLFRM_U_0192()
1.8283 + /** Constructor
1.8284 + */
1.8285 + {
1.8286 + // store the name of this test case
1.8287 + // this is the name that is used by the script file
1.8288 + // Each test step initialises it's own name
1.8289 + iTestStepName = _L("MM-MMF-CTLFRM-U-0192");
1.8290 +
1.8291 +
1.8292 + }
1.8293 +
1.8294 +TVerdict CTestStep_MMF_CTLFRM_U_0192::DoTestStepL( void )
1.8295 +/**
1.8296 + * Use case: N/A
1.8297 + * @test Req. under test
1.8298 + */
1.8299 + {
1.8300 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8301 + __MM_HEAP_MARK;
1.8302 +
1.8303 + TVerdict verdict = EPass;
1.8304 + _LIT(KExpectedText, "Symbian");
1.8305 +
1.8306 +// TMMFPrioritySettings settings; //EABI warning removal
1.8307 +
1.8308 +// settings.iPriority = 1;
1.8309 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8310 +// settings.iState = EMMFStateIdle;
1.8311 +
1.8312 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8313 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8314 +
1.8315 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8316 +
1.8317 + // Set the format match data
1.8318 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8319 +
1.8320 + // Set the controller plugin play format match data
1.8321 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8322 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8323 +
1.8324 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8325 +
1.8326 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8327 + //---------------------//
1.8328 +
1.8329 + // Get Decode Format(s)
1.8330 + RMMFFormatImplInfoArray formats;
1.8331 + CleanupResetAndDestroyPushL(formats);
1.8332 + fDecodeSelect->ListImplementationsL(formats);
1.8333 +
1.8334 + //---------------------//
1.8335 + // Method being Tested //
1.8336 + //---------------------//
1.8337 + TBufC<12> bufC = fDecodeSelect->PreferredSupplier();
1.8338 + //---------------------//
1.8339 +
1.8340 + if ((bufC == KExpectedText) && (verdict == EPass))
1.8341 + {
1.8342 + verdict = EPass;
1.8343 + }
1.8344 + else
1.8345 + {
1.8346 + verdict = EFail;
1.8347 + }
1.8348 +
1.8349 + // Check the Uid is correct, hense the correct interface has been obtained
1.8350 + TUid formatUid;
1.8351 + formatUid = formats[0]->Uid();
1.8352 + if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass)
1.8353 + {
1.8354 + verdict = EPass;
1.8355 + }
1.8356 + else
1.8357 + {
1.8358 + verdict = EFail;
1.8359 + }
1.8360 +
1.8361 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8362 +
1.8363 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8364 + __MM_HEAP_MARKEND;
1.8365 +
1.8366 + return verdict;
1.8367 + }
1.8368 +
1.8369 +//---------------------------------------------------------------
1.8370 +
1.8371 +
1.8372 +CTestStep_MMF_CTLFRM_U_0193::CTestStep_MMF_CTLFRM_U_0193()
1.8373 + /** Constructor
1.8374 + */
1.8375 + {
1.8376 + // store the name of this test case
1.8377 + // this is the name that is used by the script file
1.8378 + // Each test step initialises it's own name
1.8379 + iTestStepName = _L("MM-MMF-CTLFRM-U-0193");
1.8380 +
1.8381 +
1.8382 + }
1.8383 +
1.8384 +TVerdict CTestStep_MMF_CTLFRM_U_0193::DoTestStepL( void )
1.8385 +/**
1.8386 + * Use case: N/A
1.8387 + * @test Req. under test
1.8388 + */
1.8389 + {
1.8390 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8391 + __MM_HEAP_MARK;
1.8392 +
1.8393 + TVerdict verdict = EPass;
1.8394 +// TMMFPrioritySettings settings; //EABI warning removal
1.8395 +
1.8396 +
1.8397 +// settings.iPriority = 1;
1.8398 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8399 +// settings.iState = EMMFStateIdle;
1.8400 +
1.8401 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8402 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8403 +
1.8404 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8405 +
1.8406 + // Set the format match data
1.8407 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8408 +
1.8409 + // Set the controller plugin play format match data
1.8410 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8411 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8412 +
1.8413 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8414 +
1.8415 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8416 + //---------------------//
1.8417 +
1.8418 + // Get Decode Format(s)
1.8419 + RMMFFormatImplInfoArray formats;
1.8420 + CleanupResetAndDestroyPushL(formats);
1.8421 + fDecodeSelect->ListImplementationsL(formats);
1.8422 +
1.8423 + //---------------------//
1.8424 + // Method being Tested //
1.8425 + //---------------------//
1.8426 + if ((fDecodeSelect->PreferredSupplierMatchType() == CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned) && (verdict == EPass))
1.8427 + {
1.8428 + verdict = EPass;
1.8429 + }
1.8430 + else
1.8431 + {
1.8432 + verdict = EFail;
1.8433 + }
1.8434 + //---------------------//
1.8435 +
1.8436 + // Check the Uid is correct, hense the correct interface has been obtained
1.8437 + TUid formatUid;
1.8438 + formatUid = formats[0]->Uid();
1.8439 + if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass)
1.8440 + {
1.8441 + verdict = EPass;
1.8442 + }
1.8443 + else
1.8444 + {
1.8445 + verdict = EFail;
1.8446 + }
1.8447 +
1.8448 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8449 +
1.8450 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8451 + __MM_HEAP_MARKEND;
1.8452 +
1.8453 + return verdict;
1.8454 + }
1.8455 +
1.8456 +//---------------------------------------------------------------
1.8457 +
1.8458 +
1.8459 +CTestStep_MMF_CTLFRM_U_0194::CTestStep_MMF_CTLFRM_U_0194()
1.8460 + /** Constructor
1.8461 + */
1.8462 + {
1.8463 + // store the name of this test case
1.8464 + // this is the name that is used by the script file
1.8465 + // Each test step initialises it's own name
1.8466 + iTestStepName = _L("MM-MMF-CTLFRM-U-0194");
1.8467 +
1.8468 +
1.8469 + }
1.8470 +
1.8471 +TVerdict CTestStep_MMF_CTLFRM_U_0194::DoTestStepL( void )
1.8472 +/**
1.8473 + * Use case: N/A
1.8474 + * @test Req. under test
1.8475 + */
1.8476 + {
1.8477 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8478 + __MM_HEAP_MARK;
1.8479 +
1.8480 + TVerdict verdict = EPass;
1.8481 +// TMMFPrioritySettings settings; //EABI warning removal
1.8482 +
1.8483 +
1.8484 +// settings.iPriority = 1;
1.8485 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8486 +// settings.iState = EMMFStateIdle;
1.8487 +
1.8488 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8489 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8490 +
1.8491 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8492 +
1.8493 + // Set the format match data
1.8494 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8495 +
1.8496 + // Set the controller plugin play format match data
1.8497 + cSelect->SetRequiredRecordFormatSupportL(*fSelect);
1.8498 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8499 +
1.8500 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8501 +
1.8502 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8503 + //---------------------//
1.8504 +
1.8505 + // Get Decode Format(s)
1.8506 + RMMFFormatImplInfoArray formats;
1.8507 + CleanupResetAndDestroyPushL(formats);
1.8508 + fDecodeSelect->ListImplementationsL(formats);
1.8509 +
1.8510 + TUid testUid = {0x12345679};
1.8511 + RArray<TUid> mediaIdsToAdd;
1.8512 + mediaIdsToAdd.Append(testUid);
1.8513 +
1.8514 + fDecodeSelect->SetMediaIdsL(mediaIdsToAdd, CMMFPluginSelectionParameters::EAllowOtherMediaIds);
1.8515 +
1.8516 + //---------------------//
1.8517 + // Method being Tested //
1.8518 + //---------------------//
1.8519 + const RArray<TUid>& mediaIds = fDecodeSelect->MediaIds();
1.8520 + //---------------------//
1.8521 +
1.8522 + if (mediaIds.Count() > 0)
1.8523 + {
1.8524 + TUid uid = {0x12345679};
1.8525 + if (mediaIds[0] == uid)
1.8526 + {
1.8527 + verdict = EPass;
1.8528 + }
1.8529 + else
1.8530 + {
1.8531 + verdict = EFail;
1.8532 + }
1.8533 + }
1.8534 + else
1.8535 + {
1.8536 + verdict = EFail;
1.8537 + }
1.8538 +
1.8539 + // Check the Uid is correct, hense the correct interface has been obtained
1.8540 + TUid formatUid;
1.8541 + formatUid = formats[0]->Uid();
1.8542 + if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass)
1.8543 + {
1.8544 + verdict = EPass;
1.8545 + }
1.8546 + else
1.8547 + {
1.8548 + verdict = EFail;
1.8549 + }
1.8550 +
1.8551 + mediaIdsToAdd.Remove(0); // Remove otherwise TUid will be destroyed below and Panic.
1.8552 + mediaIdsToAdd.Close();
1.8553 +
1.8554 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8555 +
1.8556 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8557 + __MM_HEAP_MARKEND;
1.8558 +
1.8559 + return verdict;
1.8560 + }
1.8561 +
1.8562 +//---------------------------------------------------------------
1.8563 +
1.8564 +CTestStep_MMF_CTLFRM_U_0195::CTestStep_MMF_CTLFRM_U_0195()
1.8565 + /** Constructor
1.8566 + */
1.8567 + {
1.8568 + // store the name of this test case
1.8569 + // this is the name that is used by the script file
1.8570 + // Each test step initialises it's own name
1.8571 + iTestStepName = _L("MM-MMF-CTLFRM-U-0195");
1.8572 +
1.8573 +
1.8574 + }
1.8575 +
1.8576 +TVerdict CTestStep_MMF_CTLFRM_U_0195::DoTestStepL( void )
1.8577 +/**
1.8578 + * Use case: N/A
1.8579 + * @test Req. under test
1.8580 + */
1.8581 + {
1.8582 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8583 + __MM_HEAP_MARK;
1.8584 +
1.8585 + TVerdict verdict = EPass;
1.8586 +
1.8587 +// TMMFPrioritySettings settings; //EABI warning removal
1.8588 +
1.8589 +// settings.iPriority = 1;
1.8590 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8591 +// settings.iState = EMMFStateIdle;
1.8592 +
1.8593 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8594 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8595 +
1.8596 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8597 +
1.8598 + // Set the format match data
1.8599 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8600 +
1.8601 + // Set the controller plugin play format match data
1.8602 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8603 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8604 +
1.8605 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8606 +
1.8607 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8608 + //---------------------//
1.8609 +
1.8610 + // Get Decode Format(s)
1.8611 + RMMFFormatImplInfoArray formats;
1.8612 + CleanupResetAndDestroyPushL(formats);
1.8613 + fDecodeSelect->ListImplementationsL(formats);
1.8614 +
1.8615 + //---------------------//
1.8616 + // Method being Tested //
1.8617 + //---------------------//
1.8618 +
1.8619 + if ((fDecodeSelect->MediaIdMatchType() == CMMFPluginSelectionParameters::ENoMediaIdMatch) && (verdict == EPass))
1.8620 + {
1.8621 + verdict = EPass;
1.8622 + }
1.8623 + else
1.8624 + {
1.8625 + verdict = EFail;
1.8626 + }
1.8627 + //---------------------//
1.8628 +
1.8629 + // Check the Uid is correct, hense the correct interface has been obtained
1.8630 + TUid formatUid;
1.8631 + formatUid = formats[0]->Uid();
1.8632 + if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass)
1.8633 + {
1.8634 + verdict = EPass;
1.8635 + }
1.8636 + else
1.8637 + {
1.8638 + verdict = EFail;
1.8639 + }
1.8640 +
1.8641 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8642 +
1.8643 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8644 + __MM_HEAP_MARKEND;
1.8645 +
1.8646 + return verdict;
1.8647 + }
1.8648 +
1.8649 +//---------------------------------------------------------------
1.8650 +
1.8651 +CTestStep_MMF_CTLFRM_U_0196::CTestStep_MMF_CTLFRM_U_0196()
1.8652 + /** Constructor
1.8653 + */
1.8654 + {
1.8655 + // store the name of this test case
1.8656 + // this is the name that is used by the script file
1.8657 + // Each test step initialises it's own name
1.8658 + iTestStepName = _L("MM-MMF-CTLFRM-U-0196");
1.8659 +
1.8660 +
1.8661 + }
1.8662 +
1.8663 +TVerdict CTestStep_MMF_CTLFRM_U_0196::DoTestStepL( void )
1.8664 +/**
1.8665 + * Use case: N/A
1.8666 + * @test Req. under test
1.8667 + */
1.8668 + {
1.8669 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8670 + __MM_HEAP_MARK;
1.8671 +
1.8672 + TVerdict verdict = EPass;
1.8673 +// TMMFPrioritySettings settings; //EABI warning removal
1.8674 +
1.8675 +// settings.iPriority = 1;
1.8676 +// settings.iPref = EMdaPriorityPreferenceTime;
1.8677 +// settings.iState = EMMFStateIdle;
1.8678 +
1.8679 + CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
1.8680 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8681 +
1.8682 + CMMFFormatDecodePluginSelectionParameters* fDecodeSelect = CMMFFormatDecodePluginSelectionParameters::NewLC();
1.8683 +
1.8684 + // Set the format match data
1.8685 + fSelect->SetMatchToFileNameL(_L("test.pav"));
1.8686 +
1.8687 + // Set the controller plugin play format match data
1.8688 + cSelect->SetRequiredPlayFormatSupportL(*fSelect);
1.8689 + cSelect->SetPreferredSupplierL(KTestControllerSupplier, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
1.8690 +
1.8691 + fDecodeSelect->SetRequiredFormatSupportL(*fSelect);
1.8692 +
1.8693 + fDecodeSelect->SetPreferredSupplierL(_L("Symbian"),CMMFPluginSelectionParameters::EOnlyPreferredSupplierPluginsReturned);
1.8694 + //---------------------//
1.8695 +
1.8696 + // Get Decode Format(s)
1.8697 + RMMFFormatImplInfoArray formats;
1.8698 + CleanupResetAndDestroyPushL(formats);
1.8699 + fDecodeSelect->ListImplementationsL(formats);
1.8700 +
1.8701 + //---------------------//
1.8702 + // Method being Tested //
1.8703 + //---------------------//
1.8704 + TUid uid = fDecodeSelect->InterfaceUid();
1.8705 + //---------------------//
1.8706 +
1.8707 + if (uid == KMmfUidPluginInterfaceFormatDecodeUid)
1.8708 + {
1.8709 + verdict = EPass;
1.8710 + }
1.8711 + else
1.8712 + {
1.8713 + verdict = EFail;
1.8714 + }
1.8715 +
1.8716 +
1.8717 + // Check the Uid is correct, hense the correct interface has been obtained
1.8718 + TUid formatUid;
1.8719 + formatUid = formats[0]->Uid();
1.8720 + if (formatUid == KMmfUidFormatPAVReadUid && verdict == EPass)
1.8721 + {
1.8722 + verdict = EPass;
1.8723 + }
1.8724 + else
1.8725 + {
1.8726 + verdict = EFail;
1.8727 + }
1.8728 +
1.8729 + CleanupStack::PopAndDestroy(4);//formats, fSelect, cSelect, fDecodeSelect
1.8730 +
1.8731 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.8732 + __MM_HEAP_MARKEND;
1.8733 +
1.8734 + return verdict;
1.8735 + }
1.8736 +
1.8737 +//---------------------------------------------------------------
1.8738 +
1.8739 +CTestStep_MMF_CTLFRM_U_0125::CTestStep_MMF_CTLFRM_U_0125()
1.8740 + /** Constructor
1.8741 + */
1.8742 + {
1.8743 + // store the name of this test case
1.8744 + // this is the name that is used by the script file
1.8745 + // Each test step initialises it's own name
1.8746 + iTestStepName = _L("MM-MMF-CTLFRM-U-0125");
1.8747 +
1.8748 +
1.8749 + }
1.8750 +
1.8751 +TVerdict CTestStep_MMF_CTLFRM_U_0125::DoTestStepL( void )
1.8752 +/** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.8753 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.8754 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.8755 + * open a controller. Open the controller, check for errors and close the controller.
1.8756 + * (Test CMMFFormatSelectionParameters API).
1.8757 +
1.8758 + * Use case: N/A
1.8759 + * @test Req. under test REQ172.5.5 REQ172.5.5.13
1.8760 + */
1.8761 + {
1.8762 + const TInt KNumberTestURIs = 5;
1.8763 + _LIT(KTestUri1,"rtsp://www.symbian.com/first/test/directory/test.rm");
1.8764 + _LIT(KTestUri2,"www.symbian.com/first/test/directory/test.rm#garbage characters");
1.8765 + _LIT(KTestUri3,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find");
1.8766 + _LIT(KTestUri4,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find#garbage characters at end of url");
1.8767 + _LIT(KTestUri5,"rtsp://194.252.88.2:554/yle24/mobile/uusin.rm?cloakport=\"80,554,7");
1.8768 + _LIT8(KExpectedMatchData,".rm");
1.8769 +
1.8770 +
1.8771 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8772 + __MM_HEAP_MARK;
1.8773 +
1.8774 + TVerdict verdict = EPass;
1.8775 +
1.8776 + TPtrC testURIs[KNumberTestURIs];
1.8777 + TPtrC8 expectedMatchData[KNumberTestURIs];
1.8778 + testURIs[0].Set(KTestUri1);
1.8779 + testURIs[1].Set(KTestUri2);
1.8780 + testURIs[2].Set(KTestUri3);
1.8781 + testURIs[3].Set(KTestUri4);
1.8782 + testURIs[4].Set(KTestUri5);
1.8783 +
1.8784 + expectedMatchData[0].Set(KExpectedMatchData);
1.8785 + expectedMatchData[1].Set(KExpectedMatchData);
1.8786 + expectedMatchData[2].Set(KExpectedMatchData);
1.8787 + expectedMatchData[3].Set(KExpectedMatchData);
1.8788 + expectedMatchData[4].Set(KExpectedMatchData);
1.8789 +
1.8790 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8791 +
1.8792 + // Set the format match data
1.8793 + for (TInt i=0;i<KNumberTestURIs;i++)
1.8794 + {
1.8795 + //---------------------//
1.8796 + // Method being Tested //
1.8797 + //---------------------//
1.8798 + fSelect->SetMatchToUriL(testURIs[i]);
1.8799 + //---------------------//
1.8800 +
1.8801 + if (fSelect->MatchDataType() == CMMFFormatSelectionParameters::EMatchFileExtension)
1.8802 + {
1.8803 + const TDesC8& matchData = fSelect->MatchData();
1.8804 +
1.8805 + // make a unicode copy of the match data (file extension) for printing out
1.8806 + HBufC* bufMatchData = HBufC::NewL(matchData.Length());
1.8807 +
1.8808 + TPtr ptr = bufMatchData->Des();
1.8809 + ptr.Copy(matchData);
1.8810 + if (!(matchData == expectedMatchData[i]))
1.8811 + {
1.8812 + INFO_PRINTF3(_L("Uri Match Data failed on URI: %S | extension: %S"),
1.8813 + &testURIs[i],
1.8814 + bufMatchData);
1.8815 + verdict = EFail;
1.8816 + } else {
1.8817 +
1.8818 + INFO_PRINTF3(_L("Success URI: %S | extension: %S"),
1.8819 + &testURIs[i],
1.8820 + bufMatchData);
1.8821 +
1.8822 + }
1.8823 + delete bufMatchData;
1.8824 +
1.8825 + }
1.8826 + else
1.8827 + {
1.8828 + INFO_PRINTF1(_L("MatchDataType set to incorrect type (should be EMatchFileExtension)"));
1.8829 + verdict = EFail;
1.8830 + }
1.8831 + }
1.8832 +
1.8833 + CleanupStack::Pop(fSelect);
1.8834 +
1.8835 +
1.8836 + return verdict;
1.8837 + }
1.8838 +
1.8839 +
1.8840 +//------------------------------------------------------------------
1.8841 +
1.8842 +//---------------------------------------------------------------
1.8843 +
1.8844 +CTestStep_MMF_CTLFRM_U_0198::CTestStep_MMF_CTLFRM_U_0198()
1.8845 + /** Constructor
1.8846 + */
1.8847 + {
1.8848 + // store the name of this test case
1.8849 + // this is the name that is used by the script file
1.8850 + // Each test step initialises it's own name
1.8851 + iTestStepName = _L("MM-MMF-CTLFRM-U-0198");
1.8852 +
1.8853 +
1.8854 + }
1.8855 +
1.8856 +TVerdict CTestStep_MMF_CTLFRM_U_0198::DoTestStepL( void )
1.8857 +/** Instantiate a CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters
1.8858 + * set the parameters appropiately (See API Method Calls and Parameters) to obtain
1.8859 + * controller Implementation Uid's in a CMMFControllerImplementationInformation Array to
1.8860 + * open a controller. Open the controller, check for errors and close the controller.
1.8861 + * (Test CMMFFormatSelectionParameters API).
1.8862 +
1.8863 + * Use case: N/A
1.8864 + * @test Req. under CR0632
1.8865 + */
1.8866 + {
1.8867 + const TInt KNumberTestURIs = 5;
1.8868 + _LIT(KTestUri1,"rtsp://www.symbian.com/first/test/directory/test.rm");
1.8869 + _LIT(KTestUri2,"www.symbian.com/first/test/directory/test.rm#garbage characters");
1.8870 + _LIT(KTestUri3,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find");
1.8871 + _LIT(KTestUri4,"rtsp://www.symbian.com/first/test/directory/test.rm?param=22050&cat=find#garbage characters at end of url");
1.8872 + _LIT(KTestUri5,"rtsp://194.252.88.2:554/yle24/mobile/uusin.rm?cloakport=\"80,554,7");
1.8873 + _LIT8(KExpectedMatchData,"rtsp");
1.8874 + _LIT8(KExpectedMatchData2,"");
1.8875 +
1.8876 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8877 + __MM_HEAP_MARK;
1.8878 +
1.8879 + TVerdict verdict = EPass;
1.8880 +
1.8881 + TPtrC testURIs[KNumberTestURIs];
1.8882 + TPtrC8 expectedMatchData[KNumberTestURIs];
1.8883 + testURIs[0].Set(KTestUri1);
1.8884 + testURIs[1].Set(KTestUri2);
1.8885 + testURIs[2].Set(KTestUri3);
1.8886 + testURIs[3].Set(KTestUri4);
1.8887 + testURIs[4].Set(KTestUri5);
1.8888 +
1.8889 + expectedMatchData[0].Set(KExpectedMatchData);
1.8890 + expectedMatchData[1].Set(KExpectedMatchData2);
1.8891 + expectedMatchData[2].Set(KExpectedMatchData);
1.8892 + expectedMatchData[3].Set(KExpectedMatchData);
1.8893 + expectedMatchData[4].Set(KExpectedMatchData);
1.8894 +
1.8895 + CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
1.8896 +
1.8897 + // Set the format match data
1.8898 + for (TInt i=0;i<KNumberTestURIs;i++)
1.8899 + {
1.8900 + //---------------------//
1.8901 + // Method being Tested //
1.8902 + //---------------------//
1.8903 + fSelect->SetMatchToUriSupportL(testURIs[i]);
1.8904 + //---------------------//
1.8905 +
1.8906 + if (fSelect->MatchDataType() == CMMFFormatSelectionParameters::EMatchUri)
1.8907 + {
1.8908 + const TDesC8& matchurischeme = fSelect->MatchUriScheme();
1.8909 +
1.8910 + HBufC* bufMatchData = HBufC::NewL(matchurischeme.Length());
1.8911 +
1.8912 + TPtr ptr = bufMatchData->Des();
1.8913 + ptr.Copy(matchurischeme);
1.8914 + if (!(matchurischeme == expectedMatchData[i]))
1.8915 + {
1.8916 + INFO_PRINTF3(_L("Uri Match Data failed on URI: %S | scheme: %S"),
1.8917 + &testURIs[i],
1.8918 + bufMatchData);
1.8919 + verdict = EFail;
1.8920 + } else {
1.8921 +
1.8922 + INFO_PRINTF3(_L("Success URI: %S | scheme: %S"),
1.8923 + &testURIs[i],
1.8924 + bufMatchData);
1.8925 +
1.8926 + }
1.8927 + delete bufMatchData;
1.8928 +
1.8929 + }
1.8930 + else
1.8931 + {
1.8932 + INFO_PRINTF1(_L("MatchDataType set to incorrect type (should be EMatchUri)"));
1.8933 + verdict = EFail;
1.8934 + }
1.8935 + }
1.8936 +
1.8937 + CleanupStack::Pop(fSelect);
1.8938 +
1.8939 +
1.8940 + return verdict;
1.8941 + }
1.8942 +
1.8943 +
1.8944 +#ifdef SYMBIAN_BUILD_GCE
1.8945 +//---------------------------------------------------------------------
1.8946 +// Testing of the Standard Custom Commands of video surface support
1.8947 +//----------------------------------------------------------------------
1.8948 +
1.8949 +CTestStep_MMF_CTLFRM_U_0301::CTestStep_MMF_CTLFRM_U_0301()
1.8950 + /** Constructor
1.8951 + */
1.8952 + {
1.8953 + // store the name of this test case
1.8954 + // this is the name that is used by the script file
1.8955 + // Each test step initialises it's own name
1.8956 + iTestStepName = _L("MM-MMF-CTLFRM-U-0301");
1.8957 + }
1.8958 +
1.8959 +TVerdict CTestStep_MMF_CTLFRM_U_0301::DoTestStepL( void )
1.8960 +/** Call the RMMFController::Open(..) (with the parameters from test 001), varify the
1.8961 + * return value is 0. Instantiate a CustomCommands Object (specified). Call
1.8962 + * RMMFVideoPlaySurfaceSupportCustomCommands Method specified and varify the 'error'
1.8963 + * is 0. Follow this by calling the Custom Command 'KLogFunction' and varify the text
1.8964 + * value returned is equal to the specifed text in Test Step. Call the RMMFController::Close()
1.8965 + * on the Custom Controller. Varify 'error' is zero.
1.8966 +
1.8967 + * Use case: N/A
1.8968 + * @test Req. under test REQ 7418
1.8969 + */
1.8970 + {
1.8971 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.8972 + __MM_HEAP_MARK;
1.8973 +
1.8974 + TVerdict verdict = EPass;
1.8975 + _LIT8(KExpectedResult, "MvpssUseSurfacesL Called");
1.8976 +
1.8977 + TMMFPrioritySettings settings;
1.8978 + TInt error = KErrNone;
1.8979 + RMMFController controller;
1.8980 +
1.8981 + settings.iPriority = 1;
1.8982 + settings.iPref = EMdaPriorityPreferenceTime;
1.8983 + settings.iState = EMMFStateIdle;
1.8984 +
1.8985 + // Open a Custom Controller
1.8986 + error = controller.Open(KTstControllerUid,settings);
1.8987 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.8988 +
1.8989 + if (error == KErrNone)
1.8990 + {
1.8991 + RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller);
1.8992 +
1.8993 + error = customCommands.UseSurfaces();
1.8994 + INFO_PRINTF2(_L("customCommands.UseSurfaces() returns: %d"), error);
1.8995 + }
1.8996 + //------------------------------------//
1.8997 + // Getting Log from Custom Controller //
1.8998 + //------------------------------------//
1.8999 + if (error == KErrNone)
1.9000 + {
1.9001 + INFO_PRINTF1(_L("Getting Log"));
1.9002 +
1.9003 + TBuf8<64> memFunctionText;
1.9004 +
1.9005 + TUid uid = {KMmfTestControllerUid};
1.9006 + TMMFMessageDestination handleInfo(uid);
1.9007 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9008 +
1.9009 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.9010 +
1.9011 + TBuf<64> memFunctionText16;
1.9012 + memFunctionText16.Copy(memFunctionText);
1.9013 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.9014 +
1.9015 + if (memFunctionText != KExpectedResult)
1.9016 + {
1.9017 + verdict = EFail;
1.9018 + }
1.9019 +
1.9020 + }
1.9021 + //------------------------------------//
1.9022 +
1.9023 + if (error != KErrNone)
1.9024 + {
1.9025 + INFO_PRINTF2(_L("Test case failed with error:%d"),error);
1.9026 + verdict = EFail;
1.9027 + }
1.9028 +
1.9029 +
1.9030 + INFO_PRINTF1(_L("Closing Controller"));
1.9031 + controller.Close();
1.9032 +
1.9033 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9034 + __MM_HEAP_MARKEND;
1.9035 +
1.9036 + return verdict;
1.9037 + }
1.9038 +
1.9039 +//---------------------------------------------------------------
1.9040 +
1.9041 +CTestStep_MMF_CTLFRM_U_0303::CTestStep_MMF_CTLFRM_U_0303()
1.9042 + /** Constructor
1.9043 + */
1.9044 + {
1.9045 + // store the name of this test case
1.9046 + // this is the name that is used by the script file
1.9047 + // Each test step initialises it's own name
1.9048 +
1.9049 + iTestStepName = _L("MM-MMF-CTLFRM-U-0303");
1.9050 + }
1.9051 +
1.9052 +TVerdict CTestStep_MMF_CTLFRM_U_0303::DoTestStepL( void )
1.9053 +/** As TSU_MMF_CTLFRM_U_0301
1.9054 +
1.9055 + * Use case: N/A
1.9056 + * @test Req. under test REQ1714.3.3
1.9057 + */
1.9058 + {
1.9059 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9060 + __MM_HEAP_MARK;
1.9061 +
1.9062 + TVerdict verdict = EPass;
1.9063 + _LIT8(KExpectedResult, "MvpssGetSurfaceParametersL Called");
1.9064 +
1.9065 + TMMFPrioritySettings settings;
1.9066 + TInt error = KErrNone;
1.9067 + RMMFController controller;
1.9068 +
1.9069 + settings.iPriority = 1;
1.9070 + settings.iPref = EMdaPriorityPreferenceTime;
1.9071 + settings.iState = EMMFStateIdle;
1.9072 +
1.9073 + TSurfaceId surfaceId;
1.9074 + TRect getRect;
1.9075 + TVideoAspectRatio par;
1.9076 +
1.9077 + // Open a Custom Controller
1.9078 + error = controller.Open(KTstControllerUid,settings);
1.9079 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.9080 +
1.9081 + if (error == KErrNone)
1.9082 + {
1.9083 + RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller);
1.9084 +
1.9085 + error = customCommands.GetSurfaceParameters(surfaceId, getRect,par);
1.9086 + INFO_PRINTF2(_L("customCommands.GetSurfaceParameters returns: %d"), error);
1.9087 + }
1.9088 +
1.9089 + //From mmf test controller which sets the values
1.9090 + TSurfaceId expectedSurfaceId = {11111, 22222, 33333, 44444};
1.9091 + TInt expectedTlIx = 100;
1.9092 + TInt expectedTlIy = 50;
1.9093 + TInt expectedBrIx = 600;
1.9094 + TInt expectedBrIy = 200;
1.9095 + TInt expectedParIN = 1;
1.9096 + TInt expectedParID = 2;
1.9097 +
1.9098 +
1.9099 + //------------------------------------//
1.9100 + // Getting Log from Custom Controller //
1.9101 + //------------------------------------//
1.9102 + if (!error)
1.9103 + {
1.9104 + INFO_PRINTF1(_L("Getting Log"));
1.9105 +
1.9106 + TBuf8<64> memFunctionText;
1.9107 +
1.9108 + TUid uid = {KMmfTestControllerUid};
1.9109 + TMMFMessageDestination handleInfo(uid);
1.9110 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9111 +
1.9112 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.9113 +
1.9114 + TBuf<64> memFunctionText16;
1.9115 + memFunctionText16.Copy(memFunctionText);
1.9116 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.9117 +
1.9118 + if (memFunctionText != KExpectedResult || expectedSurfaceId != surfaceId || expectedTlIx != getRect.iTl.iX ||
1.9119 + expectedTlIy != getRect.iTl.iY || expectedBrIx != getRect.iBr.iX || expectedBrIy != getRect.iBr.iY ||
1.9120 + expectedParIN != par.iNumerator || expectedParID != par.iDenominator)
1.9121 + {
1.9122 + INFO_PRINTF5(_L("Expected surfaceId %d %d %d %d"),
1.9123 + expectedSurfaceId.iInternal[0], expectedSurfaceId.iInternal[1],
1.9124 + expectedSurfaceId.iInternal[2], expectedSurfaceId.iInternal[3]);
1.9125 + INFO_PRINTF5(_L("surfaceId Available %d %d %d %d"),
1.9126 + surfaceId.iInternal[0], surfaceId.iInternal[1],
1.9127 + surfaceId.iInternal[2], surfaceId.iInternal[3]);
1.9128 + INFO_PRINTF2(_L("Expected Rect first %d"),expectedTlIx);
1.9129 + INFO_PRINTF2(_L("Rect first Available %d"),getRect.iTl.iX);
1.9130 + INFO_PRINTF2(_L("Expected Rect second %d"),expectedTlIy);
1.9131 + INFO_PRINTF2(_L("Rect second Available %d"),getRect.iTl.iY);
1.9132 + INFO_PRINTF2(_L("Expected Rect third %d"),expectedBrIx);
1.9133 +
1.9134 + INFO_PRINTF2(_L("Rect third Available %d"),getRect.iBr.iX);
1.9135 + INFO_PRINTF2(_L("Expected Rect fourth %d"),expectedBrIy);
1.9136 + INFO_PRINTF2(_L("Rect fourth Available %d"),getRect.iBr.iY);
1.9137 + INFO_PRINTF2(_L("Expected TVideoAspectRatio iNumerator %d"),expectedParIN);
1.9138 + INFO_PRINTF2(_L("TVideoAspectRatio iNumerator Available %d"),par.iNumerator);
1.9139 + INFO_PRINTF2(_L("Expected TVideoAspectRatio iDenominator %d"),expectedParID);
1.9140 + INFO_PRINTF2(_L("TVideoAspectRatio iDenominator Available %d"),par.iDenominator);
1.9141 +
1.9142 + verdict = EFail;
1.9143 + }
1.9144 +
1.9145 + }
1.9146 + //------------------------------------//
1.9147 +
1.9148 + INFO_PRINTF1(_L("Closing Controller"));
1.9149 + controller.Close();
1.9150 +
1.9151 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9152 + __MM_HEAP_MARKEND;
1.9153 +
1.9154 + return verdict;
1.9155 + }
1.9156 +
1.9157 +//---------------------------------------------------------------
1.9158 +
1.9159 +CTestStep_MMF_CTLFRM_U_0305::CTestStep_MMF_CTLFRM_U_0305(TSurfaceId& aSurfaceId, TBool aNegTest)
1.9160 + /** Constructor
1.9161 + */
1.9162 + {
1.9163 + // store the name of this test case
1.9164 + // this is the name that is used by the script file
1.9165 + // Each test step initialises it's own name
1.9166 + iNegTest = aNegTest;
1.9167 +
1.9168 + if (!aNegTest) // The value for the positive testing in test controller
1.9169 + {
1.9170 + iSurfaceId = aSurfaceId;
1.9171 + iTestStepName = _L("MM-MMF-CTLFRM-U-0305");
1.9172 + }
1.9173 + else // Any other value for the negative testing
1.9174 + {
1.9175 + iSurfaceId2 = aSurfaceId;
1.9176 + iTestStepName = _L("MM-MMF-CTLFRM-U-0309");
1.9177 + }
1.9178 + }
1.9179 +
1.9180 +TVerdict CTestStep_MMF_CTLFRM_U_0305::DoTestStepL()
1.9181 +/** As TSU_MMF_CTLFRM_U_0301
1.9182 + * Use case: N/A
1.9183 + * @test Req. under test REQ 7418
1.9184 + */
1.9185 + {
1.9186 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9187 + __MM_HEAP_MARK;
1.9188 +
1.9189 + TVerdict verdict = EPass;
1.9190 + _LIT8(KExpectedResult, "MvpssSurfaceRemovedL Called");
1.9191 +
1.9192 + TMMFPrioritySettings settings;
1.9193 + TInt error = KErrNone;
1.9194 + RMMFController controller;
1.9195 +
1.9196 + settings.iPriority = 1;
1.9197 + settings.iPref = EMdaPriorityPreferenceTime;
1.9198 + settings.iState = EMMFStateIdle;
1.9199 +
1.9200 + // Open a Custom Controller
1.9201 + error = controller.Open(KTstControllerUid,settings);
1.9202 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.9203 +
1.9204 + TSurfaceId surfaceId;
1.9205 + if(iNegTest)
1.9206 + {
1.9207 + surfaceId = iSurfaceId2;
1.9208 + }
1.9209 + else
1.9210 + {
1.9211 + surfaceId = iSurfaceId;
1.9212 + }
1.9213 +
1.9214 + if (error == KErrNone)
1.9215 + {
1.9216 + RMMFVideoPlaySurfaceSupportCustomCommands customCommands(controller);
1.9217 + error = customCommands.SurfaceRemoved(surfaceId);
1.9218 + INFO_PRINTF2(_L("customCommands.SurfaceRemoved returns: %d"), error);
1.9219 + }
1.9220 +
1.9221 + //------------------------------------//
1.9222 + // Getting Log from Custom Controller //
1.9223 + //------------------------------------//
1.9224 + if (error == KErrNone)
1.9225 + {
1.9226 + INFO_PRINTF1(_L("Getting Log"));
1.9227 +
1.9228 + TBuf8<64> memFunctionText;
1.9229 +
1.9230 + TUid uid = {KMmfTestControllerUid};
1.9231 + TMMFMessageDestination handleInfo(uid);
1.9232 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9233 +
1.9234 + error = controller.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.9235 +
1.9236 + TBuf<64> memFunctionText16;
1.9237 + memFunctionText16.Copy(memFunctionText);
1.9238 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.9239 +
1.9240 + if (memFunctionText != KExpectedResult)
1.9241 + {
1.9242 + verdict = EFail;
1.9243 + }
1.9244 + }
1.9245 +
1.9246 + if (error != KErrNone)
1.9247 + {
1.9248 + if (iNegTest && error == KErrArgument)
1.9249 + {
1.9250 + INFO_PRINTF1(_L("Negative test; Expected return with -6"));
1.9251 + verdict = EPass;
1.9252 + }
1.9253 + else
1.9254 + {
1.9255 + INFO_PRINTF2(_L("Failed with error:%d"),error);
1.9256 + verdict = EFail;
1.9257 + }
1.9258 + }
1.9259 +
1.9260 + if (iNegTest && error != KErrArgument)
1.9261 + {
1.9262 + INFO_PRINTF1(_L("Negative test; Expected return with -6"));
1.9263 + verdict = EFail;
1.9264 + }
1.9265 + //------------------------------------//
1.9266 +
1.9267 + INFO_PRINTF1(_L("Closing Controller"));
1.9268 + controller.Close();
1.9269 +
1.9270 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9271 + __MM_HEAP_MARKEND;
1.9272 +
1.9273 + return verdict;
1.9274 + }
1.9275 +
1.9276 +
1.9277 +//------------------------------------------------------------------
1.9278 +
1.9279 +#endif // SYMBIAN_BUILD_GCE
1.9280 +
1.9281 +RTestStep_MMF_CTLFRM_U_0200::RTestStep_MMF_CTLFRM_U_0200()
1.9282 + /** Constructor
1.9283 + */
1.9284 + {
1.9285 + // store the name of this test case
1.9286 + // this is the name that is used by the script file
1.9287 + // Each test step initialises it's own name
1.9288 + iTestStepName = _L("MM-MMF-CTLFRM-U-0200");
1.9289 + }
1.9290 +
1.9291 +TInt RTestStep_MMF_CTLFRM_U_0200::Timeout(TAny* aArg)
1.9292 + {
1.9293 + RTestStep_MMF_CTLFRM_U_0200* arg = static_cast<RTestStep_MMF_CTLFRM_U_0200*>(aArg);
1.9294 + arg->StopTest(KErrNone,EFail);
1.9295 +
1.9296 + return 0;
1.9297 + }
1.9298 +
1.9299 +void RTestStep_MMF_CTLFRM_U_0200::KickoffTestL()
1.9300 +/**
1.9301 + * Call the RMMFController::Open(..) with the parameters specified,
1.9302 + * verify the return value is 0. Sends an asynchronous custom command to the controller which generates a panic
1.9303 + * in the subthread, verify the return value is 0. Verify application thread terminates with KErrDied. (with Active Scheduler)
1.9304 +
1.9305 + * Use case: N/A
1.9306 + * @test Req. INC108007
1.9307 + */
1.9308 + {
1.9309 + // Create an active object that will wrap the test execution
1.9310 + iAsyncTest = new (ELeave) CAsyncTest(this);
1.9311 + iAsyncTest->Start();
1.9312 + }
1.9313 +
1.9314 +void RTestStep_MMF_CTLFRM_U_0200::CloseTest()
1.9315 + {
1.9316 + if (iAsyncTest)
1.9317 + {
1.9318 + iAsyncTest->Cancel();
1.9319 + delete iAsyncTest;
1.9320 + }
1.9321 + }
1.9322 +
1.9323 +void RTestStep_MMF_CTLFRM_U_0200::OpeningController()
1.9324 + {
1.9325 + INFO_PRINTF1(_L("Attempting to Open Controller"));
1.9326 + }
1.9327 +
1.9328 +void RTestStep_MMF_CTLFRM_U_0200::OpenCompleted(TInt aError)
1.9329 + {
1.9330 + INFO_PRINTF2(_L("Controller Open: %d"), aError);
1.9331 + }
1.9332 +
1.9333 +void RTestStep_MMF_CTLFRM_U_0200::ClosingController()
1.9334 + {
1.9335 + INFO_PRINTF1(_L("Closing Controller"));
1.9336 + }
1.9337 +
1.9338 +void RTestStep_MMF_CTLFRM_U_0200::ClosingComplete()
1.9339 + {
1.9340 + INFO_PRINTF1(_L("Controller Closed"));
1.9341 + }
1.9342 +
1.9343 +void RTestStep_MMF_CTLFRM_U_0200::SendingCustomCommand()
1.9344 + {
1.9345 + INFO_PRINTF1(_L("Sending Panic custom command"));
1.9346 + }
1.9347 +
1.9348 +void RTestStep_MMF_CTLFRM_U_0200::CustomCommandSent(TInt aError)
1.9349 + {
1.9350 + INFO_PRINTF2(_L("Custom Command Sent: %d"), aError);
1.9351 + }
1.9352 +
1.9353 +void RTestStep_MMF_CTLFRM_U_0200::CancellingCustomCommand()
1.9354 + {
1.9355 + INFO_PRINTF1(_L("Cancelling Panic custom command"));
1.9356 + }
1.9357 +
1.9358 +void RTestStep_MMF_CTLFRM_U_0200::CustomCommandCancelled(TInt aError)
1.9359 + {
1.9360 + INFO_PRINTF2(_L("Custom Command Cancelled: %d"), aError);
1.9361 + }
1.9362 +
1.9363 +void RTestStep_MMF_CTLFRM_U_0200::TestError(TInt aError)
1.9364 + {
1.9365 + if(aError!=KErrServerTerminated)
1.9366 + {
1.9367 + StopTest(aError,EFail);
1.9368 + }
1.9369 + else
1.9370 + {
1.9371 + StopTest(EPass);
1.9372 + }
1.9373 + }
1.9374 +
1.9375 +RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::CAsyncTest(MMMF_CTRLFRM_U_0200_Observer* aObserver)
1.9376 +: CActive(EPriorityStandard)
1.9377 + {
1.9378 + iObserver = aObserver;
1.9379 +
1.9380 + CActiveScheduler::Add(this);
1.9381 + }
1.9382 +
1.9383 +RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::~CAsyncTest()
1.9384 + {
1.9385 + Cancel();
1.9386 +
1.9387 + iObserver->ClosingController();
1.9388 + iController.Close();
1.9389 + iObserver->ClosingComplete();
1.9390 + }
1.9391 +
1.9392 +void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::Start()
1.9393 + {
1.9394 + TMMFPrioritySettings settings;
1.9395 + TInt error = KErrNone;
1.9396 +
1.9397 + settings.iPriority = 1;
1.9398 + settings.iPref = EMdaPriorityPreferenceTime;
1.9399 + settings.iState = EMMFStateIdle;
1.9400 +
1.9401 + iObserver->OpeningController();
1.9402 +
1.9403 + // Open a Custom Controller
1.9404 + error = iController.Open(KTestTerminationControllerUid,settings);
1.9405 + iObserver->OpenCompleted(error);
1.9406 +
1.9407 + //------------------------------------//
1.9408 + // Sending Panic Custom Command //
1.9409 + //------------------------------------//
1.9410 + if (!error)
1.9411 + {
1.9412 + iObserver->SendingCustomCommand();
1.9413 + TMMFMessageDestination handleInfo(KTestTerminationControllerUid);
1.9414 + iMessage = handleInfo;
1.9415 +
1.9416 + iController.CustomCommandAsync(iMessage, KDummyFunc1, KNullDesC8, KNullDesC8, iStatus);
1.9417 + SetActive();
1.9418 + }
1.9419 + else
1.9420 + iObserver->TestError(error);
1.9421 + }
1.9422 +
1.9423 +void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::RunL()
1.9424 + {
1.9425 + iObserver->CustomCommandSent(iStatus.Int());
1.9426 + iObserver->TestError(iStatus.Int());
1.9427 + }
1.9428 +
1.9429 +TInt RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::RunError(TInt aError)
1.9430 + {
1.9431 + return aError;
1.9432 + }
1.9433 +
1.9434 +void RTestStep_MMF_CTLFRM_U_0200::CAsyncTest::DoCancel()
1.9435 + {
1.9436 +
1.9437 + }
1.9438 +
1.9439 +
1.9440 +//------------------------------------------------------------------
1.9441 +
1.9442 +CTestStep_MMF_CTLFRM_U_0201::CTestStep_MMF_CTLFRM_U_0201()
1.9443 + /** Constructor
1.9444 + */
1.9445 + {
1.9446 + // store the name of this test case
1.9447 + // this is the name that is used by the script file
1.9448 + // Each test step initialises it's own name
1.9449 + iTestStepName = _L("MM-MMF-CTLFRM-U-0201");
1.9450 +
1.9451 +
1.9452 + }
1.9453 +
1.9454 +
1.9455 +TVerdict CTestStep_MMF_CTLFRM_U_0201::DoTestStepL( void )
1.9456 +/**
1.9457 + * Call the RMMFController::Open(..) with the parameters specified,
1.9458 + * verify the return value is 0. Sends an asynchronous custom command to the controller which generates a panic
1.9459 + * in the subthread, verify the return value is 0. Close the controller after a timeout and
1.9460 + * verify application thread terminates with KErrDied. (without Active Scheduler)
1.9461 +
1.9462 + * Use case: N/A
1.9463 + * @test Req. INC108007
1.9464 + */
1.9465 + {
1.9466 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9467 + __MM_HEAP_MARK;
1.9468 +
1.9469 + TVerdict verdict = EPass;
1.9470 +
1.9471 + TMMFPrioritySettings settings;
1.9472 + TInt error = KErrNone;
1.9473 + RMMFController controller;
1.9474 +
1.9475 + settings.iPriority = 1;
1.9476 + settings.iPref = EMdaPriorityPreferenceTime;
1.9477 + settings.iState = EMMFStateIdle;
1.9478 +
1.9479 + error = controller.Open(KTestTerminationControllerUid,settings);
1.9480 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.9481 +
1.9482 + //------------------------------------//
1.9483 + // Sending Panic Custom Command //
1.9484 + //------------------------------------//
1.9485 + if (!error)
1.9486 + {
1.9487 + TMMFMessageDestination handleInfo(KTestTerminationControllerUid);
1.9488 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9489 +
1.9490 + TRequestStatus status;
1.9491 + INFO_PRINTF1(_L("Sending Panic custom command"));
1.9492 + controller.CustomCommandAsync(messageDest, KDummyFunc1, KNullDesC8, KNullDesC8, status);
1.9493 +
1.9494 + // Creation of a timeout timer
1.9495 + RTimer timer;
1.9496 + timer.CreateLocal();
1.9497 + TRequestStatus timeout = KRequestPending;
1.9498 + timer.After(timeout, 3000000);
1.9499 +
1.9500 + User::WaitForRequest(status, timeout);
1.9501 + INFO_PRINTF3(_L("Status=[%d] Timeout[%d]"), status.Int(), timeout.Int());
1.9502 + }
1.9503 + //------------------------------------//
1.9504 +
1.9505 +
1.9506 + INFO_PRINTF1(_L("Closing Controller"));
1.9507 + controller.Close();
1.9508 +
1.9509 + // client thread should not panic as such.
1.9510 + verdict = EPass;
1.9511 +
1.9512 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9513 + __MM_HEAP_MARKEND;
1.9514 +
1.9515 + return verdict;
1.9516 + }
1.9517 +
1.9518 +//------------------------------------------------------------------
1.9519 +
1.9520 +CTestStep_MMF_CTLFRM_U_0202::CTestStep_MMF_CTLFRM_U_0202()
1.9521 + /** Constructor
1.9522 + */
1.9523 + {
1.9524 + // store the name of this test case
1.9525 + // this is the name that is used by the script file
1.9526 + // Each test step initialises it's own name
1.9527 + iTestStepName = _L("MM-MMF-CTLFRM-U-0202");
1.9528 +
1.9529 +
1.9530 + }
1.9531 +
1.9532 +
1.9533 +TVerdict CTestStep_MMF_CTLFRM_U_0202::DoTestStepL( void )
1.9534 +/**
1.9535 + * Call the RMMFController::Open(..) with the parameters specified,
1.9536 + * verify the return value is 0. Call the RMMFController::Close() on the Custom Controller.
1.9537 + * Verify error is 0. There will be a memory allocation error while calling iSubThread.Logon()
1.9538 + * inside RMMFControllerProxy::Close().
1.9539 +
1.9540 + * Use case: N/A
1.9541 + * @test Req. INC108007
1.9542 + */
1.9543 + {
1.9544 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9545 + __MM_HEAP_MARK;
1.9546 +
1.9547 + TVerdict verdict = EPass;
1.9548 +
1.9549 + TMMFPrioritySettings settings;
1.9550 + TInt error = KErrNone;
1.9551 + RMMFController controller;
1.9552 +
1.9553 + settings.iPriority = 1;
1.9554 + settings.iPref = EMdaPriorityPreferenceTime;
1.9555 + settings.iState = EMMFStateIdle;
1.9556 +
1.9557 + INFO_PRINTF1(_L("Attempting to Open Controller"));
1.9558 +
1.9559 + // Open a Custom Controller
1.9560 + error = controller.Open(KTstControllerUid,settings);
1.9561 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.9562 +
1.9563 + if (error)
1.9564 + {
1.9565 + verdict = EFail;
1.9566 + }
1.9567 +
1.9568 + INFO_PRINTF1(_L("Setting __DbgSetAllocFail"));
1.9569 + User::__DbgSetAllocFail(ETrue, RHeap::EFailNext, 1);
1.9570 + INFO_PRINTF1(_L("Closing Controller"));
1.9571 + controller.Close();
1.9572 + INFO_PRINTF1(_L("Reseting __DbgSetAllocFail"));
1.9573 + User::__DbgSetAllocFail(ETrue, RHeap::ENone, 1);
1.9574 +
1.9575 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9576 + __MM_HEAP_MARKEND;
1.9577 +
1.9578 + return verdict;
1.9579 + }
1.9580 +
1.9581 +
1.9582 +//------------------------------------------------------------------
1.9583 +
1.9584 +CTestStep_MMF_CTLFRM_U_0203::CTestStep_MMF_CTLFRM_U_0203()
1.9585 + /** Constructor
1.9586 + */
1.9587 + {
1.9588 + // store the name of this test case
1.9589 + // this is the name that is used by the script file
1.9590 + // Each test step initialises it's own name
1.9591 + iTestStepName = _L("MM-MMF-CTLFRM-U-0203");
1.9592 +
1.9593 +
1.9594 + }
1.9595 +
1.9596 +
1.9597 +TVerdict CTestStep_MMF_CTLFRM_U_0203::DoTestStepL( void )
1.9598 +/**
1.9599 + * Call the RMMFController::Open(..) with the parameters specified,
1.9600 + * verify the return value is 0. Call the RMMFController::Close() on the Custom Controller.
1.9601 + * Verify error is 0. There will be a memory allocation error while calling timer.CreateLocal()
1.9602 + * inside RMMFControllerProxy::Close()
1.9603 +
1.9604 + * Use case: N/A
1.9605 + * @test Req. INC108007
1.9606 + */
1.9607 + {
1.9608 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9609 + __MM_HEAP_MARK;
1.9610 +
1.9611 + TVerdict verdict = EPass;
1.9612 +
1.9613 + TMMFPrioritySettings settings;
1.9614 + TInt error = KErrNone;
1.9615 + RMMFController controller;
1.9616 +
1.9617 + settings.iPriority = 1;
1.9618 + settings.iPref = EMdaPriorityPreferenceTime;
1.9619 + settings.iState = EMMFStateIdle;
1.9620 +
1.9621 + INFO_PRINTF1(_L("Attempting to Open Controller"));
1.9622 +
1.9623 + // Open a Custom Controller
1.9624 + error = controller.Open(KTstControllerUid,settings);
1.9625 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.9626 +
1.9627 + if (error)
1.9628 + {
1.9629 + verdict = EFail;
1.9630 + }
1.9631 +
1.9632 + INFO_PRINTF1(_L("Setting __DbgSetAllocFail"));
1.9633 + User::__DbgSetAllocFail(ETrue, RHeap::EDeterministic, 2);
1.9634 + INFO_PRINTF1(_L("Closing Controller"));
1.9635 + controller.Close();
1.9636 + INFO_PRINTF1(_L("Reseting __DbgSetAllocFail"));
1.9637 + User::__DbgSetAllocFail(ETrue, RHeap::ENone, 1);
1.9638 +
1.9639 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9640 + __MM_HEAP_MARKEND;
1.9641 +
1.9642 + return verdict;
1.9643 + }
1.9644 +
1.9645 +
1.9646 +//------------------------------------------------------------------
1.9647 +
1.9648 +#ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
1.9649 +TVerdict CTestStep_MMF_CTLFRM_Subtitles::DoTestStepPreambleL()
1.9650 + {
1.9651 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.9652 + __MM_HEAP_MARK;
1.9653 +
1.9654 + TMMFPrioritySettings settings;
1.9655 + settings.iPriority = 1;
1.9656 + settings.iPref = EMdaPriorityPreferenceTime;
1.9657 + settings.iState = EMMFStateIdle;
1.9658 +
1.9659 + // Open a Custom Controller
1.9660 + TInt error = iController.Open(KTstControllerUid, settings);
1.9661 +
1.9662 + if (KErrNone != error)
1.9663 + {
1.9664 + ERR_PRINTF2(_L("Controller Open: %d"), error);
1.9665 + return EInconclusive; // Cannot run the test
1.9666 + }
1.9667 +
1.9668 + iSubtitleCommands = new(ELeave) RMMFVideoPlaySubtitleSupportCustomCommands(iController);
1.9669 + return CTestStep_MMF_CTLFRM::DoTestStepPreambleL();
1.9670 + }
1.9671 +
1.9672 +TVerdict CTestStep_MMF_CTLFRM_Subtitles::DoTestStepPostambleL()
1.9673 + {
1.9674 + iController.Close();
1.9675 + delete iSubtitleCommands;
1.9676 + iSubtitleCommands = NULL;
1.9677 +
1.9678 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.9679 + __MM_HEAP_MARKEND;
1.9680 +
1.9681 + return EPass;
1.9682 + }
1.9683 +
1.9684 +TVerdict CTestStep_MMF_CTLFRM_Subtitles::CheckExpectedFunctionText(const TDesC8& aExpected)
1.9685 + {
1.9686 + INFO_PRINTF1(_L("Getting Log"));
1.9687 +
1.9688 + TBuf8<64> memFunctionText;
1.9689 +
1.9690 + TUid uid = {KMmfTestControllerUid};
1.9691 + TMMFMessageDestination handleInfo(uid);
1.9692 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9693 +
1.9694 + TInt error = iController.CustomCommandSync(messageDest, KLogFunction, KNullDesC8, KNullDesC8, memFunctionText);
1.9695 +
1.9696 + if (KErrNone != error)
1.9697 + {
1.9698 + ERR_PRINTF2(_L("Failed to retrieve function text. Error is %d"), error);
1.9699 + return EFail;
1.9700 + }
1.9701 +
1.9702 + TBuf<64> memFunctionText16;
1.9703 + memFunctionText16.Copy(memFunctionText);
1.9704 +
1.9705 + if (memFunctionText != aExpected)
1.9706 + {
1.9707 + TBuf<64> expected16;
1.9708 + expected16.Copy(aExpected);
1.9709 + ERR_PRINTF3(_L("Function log expected \"%S\" but got \"%S\""), &expected16, &memFunctionText16);
1.9710 + return EFail;
1.9711 + }
1.9712 + else
1.9713 + {
1.9714 + INFO_PRINTF2(_L("Log:%S"),&memFunctionText16);
1.9715 + }
1.9716 +
1.9717 + return EPass;
1.9718 + }
1.9719 +
1.9720 +void CTestStep_MMF_CTLFRM_Subtitles::SetExpectedSubtitlesAvailableL(TInt aAvailable)
1.9721 + {
1.9722 + TUid uid = {KMmfTestControllerUid};
1.9723 + TMMFMessageDestination handleInfo(uid);
1.9724 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.9725 + TPckgBuf<TInt> availPckg(aAvailable);
1.9726 +
1.9727 + User::LeaveIfError(iController.CustomCommandSync(messageDest, KTestSetSubtitleAvailable, availPckg, KNullDesC8));
1.9728 + }
1.9729 +
1.9730 +CTestStep_MMF_CTRLFRM_U_400::CTestStep_MMF_CTRLFRM_U_400()
1.9731 + {
1.9732 + // store the name of this test case
1.9733 + // this is the name that is used by the script file
1.9734 + // Each test step initialises it's own name
1.9735 + iTestStepName = _L("MM-MMF-CTLFRM-U-0400");
1.9736 + }
1.9737 +
1.9738 +TVerdict CTestStep_MMF_CTRLFRM_U_400::DoTestStepL()
1.9739 + {
1.9740 + TBool avail = EFalse;
1.9741 + TInt err = iSubtitleCommands->GetSubtitlesAvailable(avail);
1.9742 +
1.9743 + if (KErrNone != err)
1.9744 + {
1.9745 + ERR_PRINTF3(_L("SubtitlesAvailable returned error code %d; expected %d"), err, KErrNone);
1.9746 + return EFail;
1.9747 + }
1.9748 +
1.9749 + if (!avail)
1.9750 + {
1.9751 + ERR_PRINTF1(_L("Expected subtitles to be available, but got EFalse"));
1.9752 + return EFail;
1.9753 + }
1.9754 +
1.9755 + return CheckExpectedFunctionText(KSubAvailable);
1.9756 + }
1.9757 +
1.9758 +CTestStep_MMF_CTRLFRM_U_401::CTestStep_MMF_CTRLFRM_U_401()
1.9759 + {
1.9760 + // store the name of this test case
1.9761 + // this is the name that is used by the script file
1.9762 + // Each test step initialises it's own name
1.9763 + iTestStepName = _L("MM-MMF-CTLFRM-U-0401");
1.9764 + }
1.9765 +
1.9766 +TVerdict CTestStep_MMF_CTRLFRM_U_401::DoTestStepL()
1.9767 + {
1.9768 + TInt err = iSubtitleCommands->DisableSubtitles();
1.9769 +
1.9770 + if (KErrNone != err)
1.9771 + {
1.9772 + ERR_PRINTF3(_L("DisableSubtitles returned %d; expected %d"), err, KErrNone);
1.9773 + return EFail;
1.9774 + }
1.9775 +
1.9776 + return CheckExpectedFunctionText(KDisableSub);
1.9777 + }
1.9778 +
1.9779 +CTestStep_MMF_CTRLFRM_U_402::CTestStep_MMF_CTRLFRM_U_402()
1.9780 + {
1.9781 + // store the name of this test case
1.9782 + // this is the name that is used by the script file
1.9783 + // Each test step initialises it's own name
1.9784 + iTestStepName = _L("MM-MMF-CTLFRM-U-0402");
1.9785 + }
1.9786 +
1.9787 +TVerdict CTestStep_MMF_CTRLFRM_U_402::DoTestStepL()
1.9788 + {
1.9789 + TInt err = iSubtitleCommands->EnableSubtitles();
1.9790 +
1.9791 + if (KErrNone != err)
1.9792 + {
1.9793 + ERR_PRINTF3(_L("EnableSubtitles returned %d; expected %d"), err, KErrNone);
1.9794 + return EFail;
1.9795 + }
1.9796 +
1.9797 + return CheckExpectedFunctionText(KEnableSub);
1.9798 + }
1.9799 +
1.9800 +CTestStep_MMF_CTRLFRM_U_403::CTestStep_MMF_CTRLFRM_U_403()
1.9801 + {
1.9802 + // store the name of this test case
1.9803 + // this is the name that is used by the script file
1.9804 + // Each test step initialises it's own name
1.9805 + iTestStepName = _L("MM-MMF-CTLFRM-U-0403");
1.9806 + }
1.9807 +
1.9808 +TVerdict CTestStep_MMF_CTRLFRM_U_403::DoTestStepL()
1.9809 + {
1.9810 + TMMFSubtitleWindowConfig config;
1.9811 + config.iWindowId = KSubtitleWindowId;
1.9812 + config.iDisplayMode = KSubtitleDisplayMode;
1.9813 + config.iRotation = KSubtitleRotation;
1.9814 + config.iWindowClipRect = KSubtitleCrpRect;
1.9815 +
1.9816 + TInt err = iSubtitleCommands->AddSubtitleConfig(config);
1.9817 +
1.9818 + if (KErrNone != err)
1.9819 + {
1.9820 + ERR_PRINTF3(_L("AddSubtitleConfig returned %d; expected %d"), err, KErrNone);
1.9821 + return EFail;
1.9822 + }
1.9823 +
1.9824 + return CheckExpectedFunctionText(KAddSubConfig);
1.9825 + }
1.9826 +
1.9827 +CTestStep_MMF_CTRLFRM_U_404::CTestStep_MMF_CTRLFRM_U_404()
1.9828 + {
1.9829 + // store the name of this test case
1.9830 + // this is the name that is used by the script file
1.9831 + // Each test step initialises it's own name
1.9832 + iTestStepName = _L("MM-MMF-CTLFRM-U-0404");
1.9833 + }
1.9834 +
1.9835 +TVerdict CTestStep_MMF_CTRLFRM_U_404::DoTestStepL()
1.9836 + {
1.9837 + TMMFSubtitleWindowConfig config;
1.9838 + config.iWindowId = KSubtitleWindowId;
1.9839 + config.iDisplayMode = KSubtitleDisplayMode;
1.9840 + config.iRotation = KSubtitleRotation;
1.9841 + config.iWindowClipRect = KSubtitleCrpRect;
1.9842 +
1.9843 + TInt err = iSubtitleCommands->UpdateSubtitleConfig(config);
1.9844 +
1.9845 + if (KErrNone != err)
1.9846 + {
1.9847 + ERR_PRINTF3(_L("UpdateSubtitleConfig returned %d; expected %d"), err, KErrNone);
1.9848 + return EFail;
1.9849 + }
1.9850 +
1.9851 + return CheckExpectedFunctionText(KUpdateSubConfig);
1.9852 + }
1.9853 +
1.9854 +CTestStep_MMF_CTRLFRM_U_405::CTestStep_MMF_CTRLFRM_U_405()
1.9855 + {
1.9856 + // store the name of this test case
1.9857 + // this is the name that is used by the script file
1.9858 + // Each test step initialises it's own name
1.9859 + iTestStepName = _L("MM-MMF-CTLFRM-U-0405");
1.9860 + }
1.9861 +
1.9862 +TVerdict CTestStep_MMF_CTRLFRM_U_405::DoTestStepL()
1.9863 + {
1.9864 + TInt err = iSubtitleCommands->RemoveSubtitleConfig(KSubtitleWindowId);
1.9865 +
1.9866 + if (KErrNone != err)
1.9867 + {
1.9868 + ERR_PRINTF3(_L("RemoveSubtitleConfig returned %d; expected %d"), err, KErrNone);
1.9869 + return EFail;
1.9870 + }
1.9871 +
1.9872 + return CheckExpectedFunctionText(KRemoveSubConfig);
1.9873 + }
1.9874 +
1.9875 +CTestStep_MMF_CTRLFRM_U_406::CTestStep_MMF_CTRLFRM_U_406()
1.9876 + {
1.9877 + // store the name of this test case
1.9878 + // this is the name that is used by the script file
1.9879 + // Each test step initialises it's own name
1.9880 + iTestStepName = _L("MM-MMF-CTLFRM-U-0406");
1.9881 + }
1.9882 +
1.9883 +TVerdict CTestStep_MMF_CTRLFRM_U_406::DoTestStepL()
1.9884 + {
1.9885 + TWsGraphicId wsId(TWsGraphicId::EUninitialized);
1.9886 + TRect rect;
1.9887 + TInt err = iSubtitleCommands->GetCrpParameters(KSubtitleWindowId, wsId, rect);
1.9888 +
1.9889 + if (KErrNone != err)
1.9890 + {
1.9891 + ERR_PRINTF3(_L("GetCrpParameters returned %d; expected %d"), err, KErrNone);
1.9892 + return EFail;
1.9893 + }
1.9894 +
1.9895 + TWsGraphicId wsIdExpected(KSubtitleWsGraphicId);
1.9896 + if (wsIdExpected.Compare(wsId) != 0 || KSubtitleCrpRect != rect)
1.9897 + {
1.9898 + ERR_PRINTF1(_L("Unexpected parameters retrieved from GetCrpParameters"));
1.9899 + return EFail;
1.9900 + }
1.9901 +
1.9902 + return CheckExpectedFunctionText(KGetCrpParams);
1.9903 + }
1.9904 +
1.9905 +CTestStep_MMF_CTRLFRM_U_407::CTestStep_MMF_CTRLFRM_U_407()
1.9906 + {
1.9907 + // store the name of this test case
1.9908 + // this is the name that is used by the script file
1.9909 + // Each test step initialises it's own name
1.9910 + iTestStepName = _L("MM-MMF-CTLFRM-U-0407");
1.9911 + }
1.9912 +
1.9913 +TVerdict CTestStep_MMF_CTRLFRM_U_407::DoTestStepL()
1.9914 + {
1.9915 + RArray<TLanguage> languages;
1.9916 + CleanupClosePushL(languages);
1.9917 + TRAPD(err, iSubtitleCommands->GetSupportedSubtitleLanguagesL(languages));
1.9918 +
1.9919 + if (KErrNone != err)
1.9920 + {
1.9921 + ERR_PRINTF3(_L("GetSupportedSubtitleLanguagesL left with code %d; expected %d"), err, KErrNone);
1.9922 + CleanupStack::PopAndDestroy(&languages);
1.9923 + return EFail;
1.9924 + }
1.9925 +
1.9926 + if (languages.Count() != 3)
1.9927 + {
1.9928 + ERR_PRINTF2(_L("Expected 3 languages, but got %d"), languages.Count());
1.9929 + CleanupStack::PopAndDestroy(&languages);
1.9930 + return EFail;
1.9931 + }
1.9932 +
1.9933 + if (KSubtitleLanguage0 != languages[0] ||
1.9934 + KSubtitleLanguage1 != languages[1] ||
1.9935 + KSubtitleLanguage2 != languages[2])
1.9936 + {
1.9937 + ERR_PRINTF1(_L("Unexpected language returned"));
1.9938 + CleanupStack::PopAndDestroy(&languages);
1.9939 + return EFail;
1.9940 + }
1.9941 +
1.9942 + CleanupStack::PopAndDestroy(&languages);
1.9943 + return CheckExpectedFunctionText(KGetSubLangSup);
1.9944 + }
1.9945 +
1.9946 +CTestStep_MMF_CTRLFRM_U_408::CTestStep_MMF_CTRLFRM_U_408()
1.9947 + {
1.9948 + // store the name of this test case
1.9949 + // this is the name that is used by the script file
1.9950 + // Each test step initialises it's own name
1.9951 + iTestStepName = _L("MM-MMF-CTLFRM-U-0408");
1.9952 + }
1.9953 +
1.9954 +TVerdict CTestStep_MMF_CTRLFRM_U_408::DoTestStepL()
1.9955 + {
1.9956 + TLanguage language = ELangTest;
1.9957 + TInt err = iSubtitleCommands->GetSubtitleLanguage(language);
1.9958 +
1.9959 + if (KErrNone != err)
1.9960 + {
1.9961 + ERR_PRINTF3(_L("GetSubtitleLanguage returned %d; expected %d"), err, KErrNone);
1.9962 + return EFail;
1.9963 + }
1.9964 +
1.9965 + if (KSubtitleLanguage0 != language)
1.9966 + {
1.9967 + ERR_PRINTF3(_L("Language is %d but expected %d"), language, KSubtitleLanguage0);
1.9968 + return EFail;
1.9969 + }
1.9970 +
1.9971 + return CheckExpectedFunctionText(KGetSubLang);
1.9972 + }
1.9973 +
1.9974 +CTestStep_MMF_CTRLFRM_U_409::CTestStep_MMF_CTRLFRM_U_409()
1.9975 + {
1.9976 + // store the name of this test case
1.9977 + // this is the name that is used by the script file
1.9978 + // Each test step initialises it's own name
1.9979 + iTestStepName = _L("MM-MMF-CTLFRM-U-0409");
1.9980 + }
1.9981 +
1.9982 +TVerdict CTestStep_MMF_CTRLFRM_U_409::DoTestStepL()
1.9983 + {
1.9984 + TInt err = iSubtitleCommands->SetSubtitleLanguage(KSubtitleLanguage0);
1.9985 +
1.9986 + if (KErrNone != err)
1.9987 + {
1.9988 + ERR_PRINTF3(_L("SetSubtitleLanguage returned %d; expected %d"), err, KErrNone);
1.9989 + return EFail;
1.9990 + }
1.9991 +
1.9992 + return CheckExpectedFunctionText(KSetSubLang);
1.9993 + }
1.9994 +
1.9995 +CTestStep_MMF_CTRLFRM_U_410::CTestStep_MMF_CTRLFRM_U_410()
1.9996 + {
1.9997 + // store the name of this test case
1.9998 + // this is the name that is used by the script file
1.9999 + // Each test step initialises it's own name
1.10000 + iTestStepName = _L("MM-MMF-CTLFRM-U-0410");
1.10001 + }
1.10002 +
1.10003 +TVerdict CTestStep_MMF_CTRLFRM_U_410::DoTestStepL()
1.10004 + {
1.10005 + // Expect subtitle functions to fail with KErrNotSupported.
1.10006 + SetExpectedSubtitlesAvailableL(KErrNotSupported);
1.10007 +
1.10008 + TBool avail = ETrue;
1.10009 +
1.10010 + TInt err = iSubtitleCommands->GetSubtitlesAvailable(avail);
1.10011 +
1.10012 + if (KErrNone != err)
1.10013 + {
1.10014 + ERR_PRINTF2(_L("GetSubtitlesAvailable returned error %d; expected KErrNone"), err);
1.10015 + return EFail;
1.10016 + }
1.10017 +
1.10018 + if (avail)
1.10019 + {
1.10020 + ERR_PRINTF1(_L("GetSubtitlesAvailable reported subtitles as available."));
1.10021 + return EFail;
1.10022 + }
1.10023 +
1.10024 + err = iSubtitleCommands->EnableSubtitles();
1.10025 + if (KErrNotSupported != err)
1.10026 + {
1.10027 + ERR_PRINTF2(_L("EnableSubtitles returned error %d; expected KErrNotSupported"), err);
1.10028 + return EFail;
1.10029 + }
1.10030 +
1.10031 + err = iSubtitleCommands->DisableSubtitles();
1.10032 + if (KErrNotSupported != err)
1.10033 + {
1.10034 + ERR_PRINTF2(_L("DisableSubtitles returned error %d; expected KErrNotSupported"), err);
1.10035 + return EFail;
1.10036 + }
1.10037 +
1.10038 + TMMFSubtitleWindowConfig config;
1.10039 + err = iSubtitleCommands->AddSubtitleConfig(config);
1.10040 + if (KErrNotSupported != err)
1.10041 + {
1.10042 + ERR_PRINTF2(_L("AddSubtitleConfig returned error %d; expected KErrNotSupported"), err);
1.10043 + return EFail;
1.10044 + }
1.10045 +
1.10046 + err = iSubtitleCommands->UpdateSubtitleConfig(config);
1.10047 + if (KErrNotSupported != err)
1.10048 + {
1.10049 + ERR_PRINTF2(_L("UpdateSubtitleConfig returned error %d; expected KErrNotSupported"), err);
1.10050 + return EFail;
1.10051 + }
1.10052 +
1.10053 + err = iSubtitleCommands->RemoveSubtitleConfig(0);
1.10054 + if (KErrNotSupported != err)
1.10055 + {
1.10056 + ERR_PRINTF2(_L("RemoveSubtitleConfig returned error %d; expected KErrNotSupported"), err);
1.10057 + return EFail;
1.10058 + }
1.10059 +
1.10060 + TWsGraphicId wsId(TWsGraphicId::EUninitialized);
1.10061 + TRect rect;
1.10062 + err = iSubtitleCommands->GetCrpParameters(0, wsId, rect);
1.10063 + if (KErrNotSupported != err)
1.10064 + {
1.10065 + ERR_PRINTF2(_L("GetCrpParameters returned error %d; expected KErrNotSupported"), err);
1.10066 + return EFail;
1.10067 + }
1.10068 +
1.10069 + TLanguage language;
1.10070 + err = iSubtitleCommands->GetSubtitleLanguage(language);
1.10071 + if (KErrNotSupported != err)
1.10072 + {
1.10073 + ERR_PRINTF2(_L("GetSubtitleLanguage returned error %d; expected KErrNotSupported"), err);
1.10074 + return EFail;
1.10075 + }
1.10076 +
1.10077 + err = iSubtitleCommands->SetSubtitleLanguage(language);
1.10078 + if (KErrNotSupported != err)
1.10079 + {
1.10080 + ERR_PRINTF2(_L("SetSubtitleLanguage returned error %d; expected KErrNotSupported"), err);
1.10081 + return EFail;
1.10082 + }
1.10083 +
1.10084 + RArray<TLanguage> languages;
1.10085 + TRAP(err, iSubtitleCommands->GetSupportedSubtitleLanguagesL(languages));
1.10086 + languages.Close();
1.10087 + if (KErrNotSupported != err)
1.10088 + {
1.10089 + ERR_PRINTF2(_L("GetSupportedSubtitleLanguagesL returned error %d; expected KErrNotSupported"), err);
1.10090 + return EFail;
1.10091 + }
1.10092 +
1.10093 + return EPass;
1.10094 + }
1.10095 +
1.10096 +#endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
1.10097 +
1.10098 +//------------------------------------------------------------------
1.10099 +
1.10100 +CTestStep_MMF_CTLFRM_U_0300::CTestStep_MMF_CTLFRM_U_0300()
1.10101 + /** Constructor
1.10102 + */
1.10103 + {
1.10104 + // store the name of this test case
1.10105 + // this is the name that is used by the script file
1.10106 + // Each test step initialises it's own name
1.10107 + iTestStepName = _L("MM-MMF-CTLFRM-U-0300");
1.10108 +
1.10109 +
1.10110 + }
1.10111 +
1.10112 +TVerdict CTestStep_MMF_CTLFRM_U_0300::DoTestStepL( void )
1.10113 + {
1.10114 + INFO_PRINTF1(_L("Setting UHEAP_MARK"));
1.10115 + INFO_PRINTF1(_L("CR1655 - Test to check that stack size has been set to 0x4000"));
1.10116 + INFO_PRINTF1(_L("On emulator 1MB should be fine, since stack size cannot be set"));
1.10117 + __MM_HEAP_MARK;
1.10118 +
1.10119 + TVerdict verdict = EPass;
1.10120 +
1.10121 + TMMFPrioritySettings settings;
1.10122 + TInt error = KErrNone;
1.10123 + RMMFController controller;
1.10124 +
1.10125 + settings.iPriority = 1;
1.10126 + settings.iPref = EMdaPriorityPreferenceTime;
1.10127 + settings.iState = EMMFStateIdle;
1.10128 +
1.10129 + // Open a Custom Controller
1.10130 + error = controller.Open(KTstControllerUid,settings);
1.10131 + INFO_PRINTF2(_L("Controller Open: %d"), error);
1.10132 + TUint32 expectedStackSize;
1.10133 +
1.10134 + #ifndef __WINSCW__
1.10135 + //on hardware we expect the stack size to be set to what is in the resource file
1.10136 + expectedStackSize=0x4000;
1.10137 + #else
1.10138 + //on emulator stack size is 1MB due to it being on a single process / windows thread
1.10139 + expectedStackSize=0x100000;
1.10140 + #endif
1.10141 +
1.10142 + TUint32 stksz=0;
1.10143 + if (!error)
1.10144 + {
1.10145 + INFO_PRINTF1(_L("Calling CustomCommandSync"));
1.10146 + TUid uid = {KMmfTestControllerUid};
1.10147 + TMMFMessageDestination handleInfo(uid);
1.10148 + TMMFMessageDestinationPckg messageDest(handleInfo);
1.10149 + TPckg<TUint32> stacksize(0);
1.10150 +
1.10151 + error = controller.CustomCommandSync(messageDest, KFuncThreadStackSize, KNullDesC8, KNullDesC8,stacksize);
1.10152 + stksz=stacksize();
1.10153 + }
1.10154 +
1.10155 + if(stksz!=expectedStackSize || error)
1.10156 + {
1.10157 + verdict=EFail;
1.10158 + }
1.10159 + INFO_PRINTF2(_L("Stack Size is set to %d"),stksz);
1.10160 + INFO_PRINTF1(_L("Closing Controller"));
1.10161 + controller.Close();
1.10162 +
1.10163 + INFO_PRINTF1(_L("Setting UHEAP_MARKEND"));
1.10164 + __MM_HEAP_MARKEND;
1.10165 +
1.10166 + return verdict;
1.10167 + }
1.10168 +