diff -r 000000000000 -r 3553901f7fa8 telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmline.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmline.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,107 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include + +#include "TE_EtelMMTestStepBase.h" +#include "TE_mmline.h" +#include "testdef.h" + +CTestLine::CTestLine() +/** Each test step initialises it's own name +*/ + { + // store the name of this test case + // this is the name that is used by the script file + SetTestStepName(_L("TestLine")); + } + +enum TVerdict CTestLine::doTestStepL() +// +// Test Line Functions +// + { + iTestCount=1; + INFO_PRINTF1(_L("")); + INFO_PRINTF1(_L("Test Mobile Line Functionality")); +// LOGTEXT(_L8("Test Mobile Line Functionality")); + + RMobilePhone mmPhone; + TInt ret=mmPhone.Open(iTelServer,DMMTSY_PHONE_NAME); + TEST(ret==KErrNone); + + RMobileLine mmLine; + ret=mmLine.Open(mmPhone,DMMTSY_LINE_VOICE_NAME); + TEST(ret==KErrNone); + + // Test for Primary or Auxillary voice line + + // line caps are part of Etel core api but as we have extended them + // in etelmm so we test the extension here + RLine::TCaps lineCaps = {DMMTSY_MOBILE_LINE_AUX_VOICE}; + lineCaps.iFlags ^= DMMTSY_MOBILE_LINE_AUX_VOICE; // make sure AUX voice bit is clear + + // Get Caps will set the AUX voice bit + TEST(KErrNone==mmLine.GetCaps(lineCaps)); + + if(lineCaps.iFlags & DMMTSY_MOBILE_LINE_AUX_VOICE) + { + INFO_PRINTF2(_L("Test %d - Line is an auxiliary voice line"), iTestCount) ; + INFO_PRINTF2(_L("Test %d - Test for Primary or Auxillary voice line - passed"), iTestCount++); + } + else + { + INFO_PRINTF2(_L("Test %d - Line is a primary voice line"), iTestCount) ; + INFO_PRINTF2(_L("Test %d - Test for Primary or Auxillary voice line - FAILED"), iTestCount++); + } + + // Get Line Status + TRequestStatus reqStatus; + + RMobileCall::TMobileCallStatus lineStatus; + TEST(KErrNone==mmLine.GetMobileLineStatus(lineStatus)); + TEST(lineStatus==DMMTSY_CALL_STATUS1); + INFO_PRINTF2(_L("Test %d - RMobileLine::GetMobileLineStatus (sync) passed"), iTestCount++); + + // Notify Change of Line Status + // asynchronous + + mmLine.NotifyMobileLineStatusChange(reqStatus,lineStatus); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + TEST(lineStatus==DMMTSY_CALL_STATUS2); + + // asynchronous & cancel + + mmLine.NotifyMobileLineStatusChange(reqStatus,lineStatus); + mmLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone || reqStatus.Int()==KErrCancel); + if (reqStatus.Int()==KErrCancel) + INFO_PRINTF2(_L("Test %d - RMobileLine::NotifyMobileLineStatusChange (async & cancel (Cancelled Request)) passed"), iTestCount++); + else + { + TEST(lineStatus==DMMTSY_CALL_STATUS2); + INFO_PRINTF2(_L("Test %d - RMobileLine::NotifyMobileLineStatusChange (async & cancel (Request Not Cancelled)) passed"), iTestCount++); + } + + mmLine.Close(); + mmPhone.Close(); + INFO_PRINTF1(_L("")); + +// INFO_PRINTF2(_L("OK: RMobileLine's MobileLineStatus")); + + return TestStepResult(); + }