--- a/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,885 +1,902 @@
-// Copyright (c) 2007-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 "tpacketservicetsytesthelper.h"
-#include "cctsyinidata.h"
-
-#include "pcktcs.h"
-
-/**
-* Constructor
-*/
-TPacketServiceTsyTestHelper::TPacketServiceTsyTestHelper(CCTSYIntegrationTestSuiteStepBase& aTestStep)
- : TTsyTestHelperBase( aTestStep )
- {
- }
-/**
-* Notify reset for RPacketContext::NotifyConnectionSpeedChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConnectionSpeedChange(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- TUint& aRate,
- TUint aExpectedRate,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConnectionSpeedChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aRate != aExpectedRate )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketContext.NotifyConnectionSpeedChange(aRequestStatus, aRate);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConnectionSpeedChange Wrong completion status"))
- ASSERT_EQUALS(aRate, aExpectedRate,
- _L("RPacketContext::NotifyConnectionSpeedChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketContext::NotifyStatusChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyStatusChange(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- RPacketContext::TContextStatus& aContextStatus,
- RPacketContext::TContextStatus aExpectedContextStatus,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyStatusChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aContextStatus != aExpectedContextStatus )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketContext.NotifyStatusChange(aRequestStatus, aContextStatus);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyStatusChange Wrong completion status"))
- ASSERT_EQUALS(aContextStatus, aExpectedContextStatus,
- _L("RPacketContext::NotifyStatusChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketContext::NotifyConfigChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketContext::TContextConfigGPRS> &aContextConfigGPRS,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aContextConfigGPRS.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketContext::TContextConfigGPRSPckg pkgParam( aContextConfigGPRS.GetValue() );
- aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
- ASSERT_TRUE(aContextConfigGPRS.IsEqual(ELogError),
- _L("RPacketContext::NotifyConfigChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketContext::NotifyConfigChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketContext::TContextConfigR99_R4> &aContextConfigR99_R4,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aContextConfigR99_R4.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketContext::TContextConfigR99_R4Pckg pkgParam( aContextConfigR99_R4.GetValue() );
- aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
- ASSERT_TRUE(aContextConfigR99_R4.IsEqual(ELogError),
- _L("RPacketContext::NotifyConfigChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketContext::NotifyConfigChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketContext::TContextConfig_R5> &aContextConfig_R5,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aContextConfig_R5.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketContext::TContextConfig_R5Pckg pkgParam( aContextConfig_R5.GetValue() );
- aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
- ASSERT_TRUE(aContextConfig_R5.IsEqual(ELogError),
- _L("RPacketContext::NotifyConfigChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketContext::NotifyDataTransferred
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyDataTransferred(
- RPacketContext& aPacketContext,
- TEtelRequestBase& aRequestStatus,
- RPacketContext::TDataVolume& aVolume,
- RPacketContext::TDataVolume& aExpectedVolume,
- TUint &aRcvdGranularity,
- TUint &aSentGranularity,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyDataTransferred did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && (0 == memcmp(&aVolume, &aExpectedVolume, sizeof(aVolume))) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketContext.NotifyDataTransferred(aRequestStatus, aVolume, aRcvdGranularity,aSentGranularity);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyDataTransferred Wrong completion status"))
- ASSERT_TRUE((0 == memcmp(&aVolume, &aExpectedVolume, sizeof(aVolume))),
- _L("RPacketContext::NotifyDataTransferred Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketQoS::NotifyProfileChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
- RPacketQoS& aPacketQoS,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketQoS::TQoSGPRSNegotiated> &aQoSGPRSNegotiated,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aQoSGPRSNegotiated.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketQoS::TQoSGPRSNegotiatedPckg pkgParam( aQoSGPRSNegotiated.GetValue() );
- aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
- ASSERT_TRUE(aQoSGPRSNegotiated.IsEqual(ELogError),
- _L("RPacketQoS::NotifyProfileChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketQoS::NotifyProfileChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
- RPacketQoS& aPacketQoS,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketQoS::TQoSR99_R4Negotiated> &aQoSR99_R4Negotiated,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aQoSR99_R4Negotiated.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketQoS::TQoSR99_R4NegotiatedPckg pkgParam( aQoSR99_R4Negotiated.GetValue() );
- aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
- ASSERT_TRUE(aQoSR99_R4Negotiated.IsEqual(ELogError),
- _L("RPacketQoS::NotifyProfileChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketQoS::NotifyProfileChanged
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
- RPacketQoS& aPacketQoS,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketQoS::TQoSR5Negotiated> &aQoSR5Negotiated,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aQoSR5Negotiated.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketQoS::TQoSR5NegotiatedPckg pkgParam( aQoSR5Negotiated.GetValue() );
- aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
- ASSERT_TRUE(aQoSR5Negotiated.IsEqual(ELogError),
- _L("RPacketQoS::NotifyProfileChanged Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketService::NotifyAttachModeChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyAttachModeChange(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TAttachMode& aMode,
- RPacketService::TAttachMode aExpectedMode,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyAttachModeChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aMode != aExpectedMode )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyAttachModeChange(aRequestStatus, aMode);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyAttachModeChange Wrong completion status"))
- ASSERT_EQUALS(aMode, aExpectedMode,
- _L("RPacketService::NotifyAttachModeChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyChangeOfNtwkRegStatus
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyChangeOfNtwkRegStatus(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TRegistrationStatus& aRegistrationStatus,
- RPacketService::TRegistrationStatus aExpectedRegistrationStatus,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyChangeOfNtwkRegStatus did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aRegistrationStatus != aExpectedRegistrationStatus )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyChangeOfNtwkRegStatus(aRequestStatus, aRegistrationStatus);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyChangeOfNtwkRegStatus Wrong completion status"))
- ASSERT_EQUALS(aRegistrationStatus, aExpectedRegistrationStatus,
- _L("RPacketService::NotifyChangeOfNtwkRegStatus Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyContextActivationRequested
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- TPckg<RPacketContext::TContextConfigGPRS> &aContextConfigGPRSPkg,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- aPacketService.NotifyContextActivationRequested(aRequestStatus, aContextConfigGPRSPkg);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeMedium);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-/**
-* Notify reset for RPacketService::NotifyContextActivationRequested
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketContext::TContextConfigR99_R4> &aContextConfigR99_R4,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aContextConfigR99_R4.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketContext::TContextConfigR99_R4Pckg pkgParam( aContextConfigR99_R4.GetValue() );
- aPacketService.NotifyContextActivationRequested(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
- ASSERT_TRUE(aContextConfigR99_R4.IsEqual(ELogError),
- _L("RPacketService::NotifyContextActivationRequested Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketService::NotifyContextActivationRequested
-*/
-/*DOES NOT COMPILE
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- TCmpBase<RPacketContext::TContextConfig_R5> &aContextConfig_R5,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && !aContextConfig_R5.IsEqual(ENoLogError) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- RPacketContext::TContextConfig_R5Pckg pkgParam( aContextConfig_R5.GetValue() );
- aPacketService.NotifyContextActivationRequested(aRequestStatus, pkgParam);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
- ASSERT_TRUE(aContextConfig_R5.IsEqual(ELogError),
- _L("RPacketService::NotifyContextActivationRequested Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-*/
-/**
-* Notify reset for RPacketService::NotifyContextAdded
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextAdded(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- TDes& aContextId,
- TDes aExpectedContextId,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextAdded did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aContextId != aExpectedContextId )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyContextAdded(aRequestStatus, aContextId);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextAdded Wrong completion status"))
- ASSERT_EQUALS_DES16(aContextId, aExpectedContextId,
- _L("RPacketService::NotifyContextAdded Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyDynamicCapsChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyDynamicCapsChange(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TDynamicCapsFlags& aCaps,
- RPacketService::TDynamicCapsFlags aWantedCaps,
- RPacketService::TDynamicCapsFlags aUnwantedCaps,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyDynamicCapsChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && ( ((aCaps & aWantedCaps) != aWantedCaps)
- || ((aCaps & aUnwantedCaps) != 0) ) )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
- aPacketService.NotifyDynamicCapsChange(aRequestStatus, aCaps);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus,
- _L("RPacketService::NotifyDynamicCapsChange Wrong completion status"))
- ASSERT_BITS_SET(aCaps, aWantedCaps, aUnwantedCaps,
- _L("RPacketService::NotifyDynamicCapsChange Wrong caps"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyMSClassChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyMSClassChange(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TMSClass& aNewClass,
- RPacketService::TMSClass aExpectedNewClass,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyMSClassChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aNewClass != aExpectedNewClass )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyMSClassChange(aRequestStatus, aNewClass);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyMSClassChange Wrong completion status"))
- ASSERT_EQUALS(aNewClass, aExpectedNewClass,
- _L("RPacketService::NotifyMSClassChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyReleaseModeChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyReleaseModeChange(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TPacketReleaseMode& aReleaseMode,
- RPacketService::TPacketReleaseMode aExpectedReleaseMode,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyReleaseModeChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aReleaseMode != aExpectedReleaseMode )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyReleaseModeChange(aRequestStatus, aReleaseMode);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyReleaseModeChange Wrong completion status"))
- ASSERT_EQUALS(aReleaseMode, aExpectedReleaseMode,
- _L("RPacketService::NotifyReleaseModeChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Notify reset for RPacketService::NotifyStatusChange
-*/
-void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyStatusChange(
- RPacketService& aPacketService,
- TEtelRequestBase& aRequestStatus,
- RPacketService::TStatus& aPacketStatus,
- RPacketService::TStatus aExpectedPacketStatus,
- TInt aWantedStatus )
-
- {
- // Wait for the request to complete
- TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
- ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyStatusChange did not complete"))
-
- while ( err == KErrNone && aRequestStatus.Int() == KErrNone
- && aPacketStatus != aExpectedPacketStatus )
- {
- // Request has completed with incorrect result. Consume any outstanding
- // Repost notification until timeout or we get the right result.
-
- aPacketService.NotifyStatusChange(aRequestStatus, aPacketStatus);
- err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
- }
-
- ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyStatusChange Wrong completion status"))
- ASSERT_EQUALS(aPacketStatus, aExpectedPacketStatus,
- _L("RPacketService::NotifyStatusChange Wrong result"))
-
- // Cancel request if it is still pending
- if (aRequestStatus.Int() == KRequestPending)
- {
- aRequestStatus.Cancel();
- }
- }
-
-
-/**
-* Gets the GPRS info for the supplied network by reading from the data ini file
-*/
-void TPacketServiceTsyTestHelper::GetGprsSettings(RMobilePhone::TMobilePhoneNetworkInfoV1 aInfo, TPtrC& aAccessPoint, TPtrC& aUser, TPtrC& aPassword,TUint aNumber)
-{
- TBuf<200> section;
- TPtrC ptrNetworkName;
- if( aInfo.iShortName.Size() > 0 )
- {
- ptrNetworkName.Set(aInfo.iShortName.Ptr(), aInfo.iShortName.Length());
- }
- else
- {
- ptrNetworkName.Set(aInfo.iDisplayTag.Ptr(), aInfo.iDisplayTag.Length());
- }
- DEBUG_PRINTF2(_L("Current network is %S"), &ptrNetworkName);
- if(ptrNetworkName.Find(_L("voda")) != KErrNotFound) //vodafone
- {
- section.Copy(KIniSectionVodafoneGprs);
- DEBUG_PRINTF1(_L("Retrieving Vodafone GPRS settings"));
- }
- else if(ptrNetworkName.Find(_L("O2")) != KErrNotFound)//O2
- {
- DEBUG_PRINTF1(_L("Retrieving O2 GPRS settings"));
- section.Copy(KIniSectionO2Gprs);
- }
- else if(ptrNetworkName.Find(_L("Orange"))!= KErrNotFound) //Orange
- {
- DEBUG_PRINTF1(_L("Retrieving Orange GPRS settings"));
- section.Copy(KIniSectionOrangeGprs);
- }
- else if((ptrNetworkName.Find(_L("one2one")) != KErrNotFound)||(ptrNetworkName.Find(_L("T-Mobile")) != KErrNotFound) || (ptrNetworkName.Find(_L("TMO UK")) != KErrNotFound))//TMobile
- {
- DEBUG_PRINTF1(_L("Retrieving TMobile GPRS settings"));
- section.Copy(KIniSectionTMobileGprs);
- }
- else if(ptrNetworkName.Find(_L("Elisa"))!= KErrNotFound) //Elisa
- {
- DEBUG_PRINTF1(_L("Retrieving Elisa GPRS settings"));
- section.Copy(KIniSectionElisaGprs);
- }
- else if(ptrNetworkName.Find(_L("dna"))!= KErrNotFound) //DNA
- {
- DEBUG_PRINTF1(_L("Retrieving DNA GPRS settings"));
- section.Copy(KIniSectionDNAGprs);
- }
- else if(ptrNetworkName.Find(_L("SONERA"))!= KErrNotFound) //SONERA
- {
- DEBUG_PRINTF1(_L("Retrieving Sonera GPRS settings"));
- section.Copy(KIniSectionSoneraGprs);
-
- }
- else if(ptrNetworkName.Find(_L("3 UK")) != KErrNotFound) // Three
- {
- DEBUG_PRINTF1(_L("Retrieving Three GPRS settings"));
- section.Copy(KIniSectionThreeGprs);
- }
- else if(ptrNetworkName.Find(_L("NTN")) != KErrNotFound) // NTN
- {
- section.Copy(KIniSectionVodafoneGprs);
- DEBUG_PRINTF1(_L("Retrieving NTN GPRS settings"));
- }
- else if( (ptrNetworkName.Find(_L("01")) >=0) ||
- (ptrNetworkName.Find(_L("ANITE")) >=0) ) // Anite
- {
- DEBUG_PRINTF1(_L("Retrieving Anite GPRS settings"));
- section.Copy(KIniSectionVodafoneGprs); // Using vodafone GRPS settings, since Anite should accept any kind
- }
- else
- {
- DEBUG_PRINTF2(_L("Unable to retrieve network name \"%S\". Using defaults"),&(ptrNetworkName));
- section.Copy(KIniSectionDefaultGprs);
- }
- if(aNumber!=1)
- {
- TBuf<200> temp;
- temp.Copy(section);
- section.Format(_L("%S %d"),&temp,aNumber);
- }
- iTestStep.GetStringFromConfig(section, KIniApnName, aAccessPoint);
- iTestStep.GetStringFromConfig(section, KIniUsername, aUser);
- iTestStep.GetStringFromConfig(section, KIniPassword, aPassword);
-}
-
-void TPacketServiceTsyTestHelper::ActivatePrimaryPacketContextL(RMobilePhone& aMobilePhone,
- RPacketContext& aPacketContext,
- TInt aNum)
-/**
- * Activates a primary packet context with a GPRS config.
- *
- * @param aMobilePhone Reference to an RMobilePhone subsession.
- * @param aPacketService Reference to an RPacketService
- * subsession.
- * @param aPacketContext Reference to an RPacketContext
- * subsession representing the primary
- * packet context.
- * @param aNum The number of the context.
- */
- {
- // Get network info from phone
- TExtEtelRequestStatus getNetworkStatus(aMobilePhone, EMobilePhoneGetCurrentNetwork);
- CleanupStack::PushL(getNetworkStatus);
- RMobilePhone::TMobilePhoneNetworkInfoV1 info;
- RMobilePhone::TMobilePhoneNetworkInfoV1Pckg infopckg(info);
- aMobilePhone.GetCurrentNetwork(getNetworkStatus, infopckg);
-
- ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(getNetworkStatus, ETimeLong),
- KErrNone, _L("RMobilePhone::GetCurrentNetwork timed out"));
- ASSERT_EQUALS(getNetworkStatus.Int(),
- KErrNone, _L("RMobilePhone::GetCurrentNetwork returned an error"));
-
- // Currenlty there are three context configs types: TContextConfigGPRS, TContextConfigCDMA, TContextConfigR99_R4
- // A suitable config should be chosen accoriding to the baseband's capability.
-
- // Get the context config using network info
- // Using Gprs config for now...
- RPacketContext::TContextConfigGPRS config;
- TPtrC apn, user, pwd;
- GetGprsSettings(info, apn, user, pwd, aNum);
- config.iAccessPointName.Copy(apn);
- config.iProtocolConfigOption.iAuthInfo.iUsername.Copy(user);
- config.iProtocolConfigOption.iAuthInfo.iPassword.Copy(pwd);
- TPckg<RPacketContext::TContextConfigGPRS> configPk(config);
-
- // Set the context.
- TExtEtelRequestStatus setConfigStatus(aPacketContext, EPacketContextSetConfig);
- CleanupStack::PushL(setConfigStatus);
- aPacketContext.SetConfig(setConfigStatus, configPk);
-
- ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(setConfigStatus, ETimeLong), KErrNone,
- _L("RPacketContext::SetConfig timed out"));
- ASSERT_EQUALS(setConfigStatus.Int(), KErrNone,
- _L("RPacketContext::SetConfig returned with error status."));
-
- // === Activate packet context ===
-
- // Post notification for context's status change
- TExtEtelRequestStatus notifyContextStChStatus(aPacketContext, EPacketContextNotifyStatusChange);
- CleanupStack::PushL(notifyContextStChStatus);
- RPacketContext::TContextStatus packetContextStatus;
- aPacketContext.NotifyStatusChange(notifyContextStChStatus, packetContextStatus);
-
- // Activate packet context with RPacketContext::Activate
- TExtEtelRequestStatus contextActivateStatus(aPacketContext, EPacketContextActivate);
- CleanupStack::PushL(contextActivateStatus);
- aPacketContext.Activate(contextActivateStatus);
-
- ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(contextActivateStatus, ETimeLong), KErrNone,
- _L("RPacketContext::Activate timed out."));
- ASSERT_EQUALS(contextActivateStatus.Int(), KErrNone,
- _L("RPacketContext::Activate returned with error status."));
-
- // Check RPacketContext::NotifyStatusChange completes with EStatusActive
- RPacketContext::TContextStatus expectedPacketContextStatus = RPacketContext::EStatusActive;
- WaitForPacketContextNotifyStatusChange(
- aPacketContext,
- notifyContextStChStatus,
- packetContextStatus,
- expectedPacketContextStatus,
- KErrNone);
- ASSERT_EQUALS(packetContextStatus, RPacketContext::EStatusActive, _L("Packet Context's status expected to be EStatusActive but is not."));
-
- CleanupStack::PopAndDestroy(4, &getNetworkStatus);
- }
-
+// Copyright (c) 2007-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 "tpacketservicetsytesthelper.h"
+#include "cctsyinidata.h"
+
+#include "pcktcs.h"
+
+/**
+* Constructor
+*/
+TPacketServiceTsyTestHelper::TPacketServiceTsyTestHelper(CCTSYIntegrationTestSuiteStepBase& aTestStep)
+ : TTsyTestHelperBase( aTestStep )
+ {
+ }
+/**
+* Notify reset for RPacketContext::NotifyConnectionSpeedChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConnectionSpeedChange(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ TUint& aRate,
+ TUint aExpectedRate,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConnectionSpeedChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aRate != aExpectedRate )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketContext.NotifyConnectionSpeedChange(aRequestStatus, aRate);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConnectionSpeedChange Wrong completion status"))
+ ASSERT_EQUALS(aRate, aExpectedRate,
+ _L("RPacketContext::NotifyConnectionSpeedChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketContext::NotifyStatusChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyStatusChange(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ RPacketContext::TContextStatus& aContextStatus,
+ RPacketContext::TContextStatus aExpectedContextStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyStatusChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aContextStatus != aExpectedContextStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ DEBUG_PRINTF3(_L("State %d Expected %d waiting for correct state"), aContextStatus, aExpectedContextStatus);
+
+ if (RPacketContext::EStatusActive == aContextStatus)
+ {
+ // === NTN Failure ===
+ ERR_PRINTF1(_L("<font color=Orange>$NTNKnownFailure: Context Activation success (EStatusActive = 3)</font>"));
+ // Nothing else to wait for now!
+ // Deactivate the context with RPacketContext::Deactivate
+ TExtEtelRequestStatus contextDeactivateStatus(aPacketContext, EPacketContextDeactivate);
+ aPacketContext.Deactivate(contextDeactivateStatus);
+ User::Leave(iTestStep.WaitForRequestWithTimeOut(contextDeactivateStatus, ETimeLong));
+ }
+
+ aPacketContext.NotifyStatusChange(aRequestStatus, aContextStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyStatusChange Wrong completion status"))
+ ASSERT_EQUALS(aContextStatus, aExpectedContextStatus,
+ _L("RPacketContext::NotifyStatusChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketContext::NotifyConfigChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketContext::TContextConfigGPRS> &aContextConfigGPRS,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aContextConfigGPRS.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketContext::TContextConfigGPRSPckg pkgParam( aContextConfigGPRS.GetValue() );
+ aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
+ ASSERT_TRUE(aContextConfigGPRS.IsEqual(ELogError),
+ _L("RPacketContext::NotifyConfigChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketContext::NotifyConfigChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketContext::TContextConfigR99_R4> &aContextConfigR99_R4,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aContextConfigR99_R4.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketContext::TContextConfigR99_R4Pckg pkgParam( aContextConfigR99_R4.GetValue() );
+ aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
+ ASSERT_TRUE(aContextConfigR99_R4.IsEqual(ELogError),
+ _L("RPacketContext::NotifyConfigChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketContext::NotifyConfigChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyConfigChanged(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketContext::TContextConfig_R5> &aContextConfig_R5,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyConfigChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aContextConfig_R5.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketContext::TContextConfig_R5Pckg pkgParam( aContextConfig_R5.GetValue() );
+ aPacketContext.NotifyConfigChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyConfigChanged Wrong completion status"))
+ ASSERT_TRUE(aContextConfig_R5.IsEqual(ELogError),
+ _L("RPacketContext::NotifyConfigChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketContext::NotifyDataTransferred
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketContextNotifyDataTransferred(
+ RPacketContext& aPacketContext,
+ TEtelRequestBase& aRequestStatus,
+ RPacketContext::TDataVolume& aVolume,
+ RPacketContext::TDataVolume& aExpectedVolume,
+ TUint &aRcvdGranularity,
+ TUint &aSentGranularity,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketContext::NotifyDataTransferred did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && (0 == memcmp(&aVolume, &aExpectedVolume, sizeof(aVolume))) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketContext.NotifyDataTransferred(aRequestStatus, aVolume, aRcvdGranularity,aSentGranularity);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketContext::NotifyDataTransferred Wrong completion status"))
+ ASSERT_TRUE((0 == memcmp(&aVolume, &aExpectedVolume, sizeof(aVolume))),
+ _L("RPacketContext::NotifyDataTransferred Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketQoS::NotifyProfileChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
+ RPacketQoS& aPacketQoS,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketQoS::TQoSGPRSNegotiated> &aQoSGPRSNegotiated,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aQoSGPRSNegotiated.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketQoS::TQoSGPRSNegotiatedPckg pkgParam( aQoSGPRSNegotiated.GetValue() );
+ aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
+ ASSERT_TRUE(aQoSGPRSNegotiated.IsEqual(ELogError),
+ _L("RPacketQoS::NotifyProfileChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketQoS::NotifyProfileChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
+ RPacketQoS& aPacketQoS,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketQoS::TQoSR99_R4Negotiated> &aQoSR99_R4Negotiated,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aQoSR99_R4Negotiated.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketQoS::TQoSR99_R4NegotiatedPckg pkgParam( aQoSR99_R4Negotiated.GetValue() );
+ aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
+ ASSERT_TRUE(aQoSR99_R4Negotiated.IsEqual(ELogError),
+ _L("RPacketQoS::NotifyProfileChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketQoS::NotifyProfileChanged
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketQoSNotifyProfileChanged(
+ RPacketQoS& aPacketQoS,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketQoS::TQoSR5Negotiated> &aQoSR5Negotiated,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketQoS::NotifyProfileChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aQoSR5Negotiated.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketQoS::TQoSR5NegotiatedPckg pkgParam( aQoSR5Negotiated.GetValue() );
+ aPacketQoS.NotifyProfileChanged(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketQoS::NotifyProfileChanged Wrong completion status"))
+ ASSERT_TRUE(aQoSR5Negotiated.IsEqual(ELogError),
+ _L("RPacketQoS::NotifyProfileChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketService::NotifyAttachModeChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyAttachModeChange(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TAttachMode& aMode,
+ RPacketService::TAttachMode aExpectedMode,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyAttachModeChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aMode != aExpectedMode )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyAttachModeChange(aRequestStatus, aMode);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyAttachModeChange Wrong completion status"))
+ ASSERT_EQUALS(aMode, aExpectedMode,
+ _L("RPacketService::NotifyAttachModeChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyChangeOfNtwkRegStatus
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyChangeOfNtwkRegStatus(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TRegistrationStatus& aRegistrationStatus,
+ RPacketService::TRegistrationStatus aExpectedRegistrationStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyChangeOfNtwkRegStatus did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aRegistrationStatus != aExpectedRegistrationStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyChangeOfNtwkRegStatus(aRequestStatus, aRegistrationStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyChangeOfNtwkRegStatus Wrong completion status"))
+ ASSERT_EQUALS(aRegistrationStatus, aExpectedRegistrationStatus,
+ _L("RPacketService::NotifyChangeOfNtwkRegStatus Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyContextActivationRequested
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ TPckg<RPacketContext::TContextConfigGPRS> &aContextConfigGPRSPkg,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ aPacketService.NotifyContextActivationRequested(aRequestStatus, aContextConfigGPRSPkg);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeMedium);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+/**
+* Notify reset for RPacketService::NotifyContextActivationRequested
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketContext::TContextConfigR99_R4> &aContextConfigR99_R4,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aContextConfigR99_R4.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketContext::TContextConfigR99_R4Pckg pkgParam( aContextConfigR99_R4.GetValue() );
+ aPacketService.NotifyContextActivationRequested(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
+ ASSERT_TRUE(aContextConfigR99_R4.IsEqual(ELogError),
+ _L("RPacketService::NotifyContextActivationRequested Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketService::NotifyContextActivationRequested
+*/
+/*DOES NOT COMPILE
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextActivationRequested(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RPacketContext::TContextConfig_R5> &aContextConfig_R5,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextActivationRequested did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aContextConfig_R5.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RPacketContext::TContextConfig_R5Pckg pkgParam( aContextConfig_R5.GetValue() );
+ aPacketService.NotifyContextActivationRequested(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextActivationRequested Wrong completion status"))
+ ASSERT_TRUE(aContextConfig_R5.IsEqual(ELogError),
+ _L("RPacketService::NotifyContextActivationRequested Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+*/
+/**
+* Notify reset for RPacketService::NotifyContextAdded
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyContextAdded(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ TDes& aContextId,
+ TDes aExpectedContextId,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyContextAdded did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aContextId != aExpectedContextId )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyContextAdded(aRequestStatus, aContextId);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyContextAdded Wrong completion status"))
+ ASSERT_EQUALS_DES16(aContextId, aExpectedContextId,
+ _L("RPacketService::NotifyContextAdded Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyDynamicCapsChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyDynamicCapsChange(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TDynamicCapsFlags& aCaps,
+ RPacketService::TDynamicCapsFlags aWantedCaps,
+ RPacketService::TDynamicCapsFlags aUnwantedCaps,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyDynamicCapsChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && ( ((aCaps & aWantedCaps) != aWantedCaps)
+ || ((aCaps & aUnwantedCaps) != 0) ) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ aPacketService.NotifyDynamicCapsChange(aRequestStatus, aCaps);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus,
+ _L("RPacketService::NotifyDynamicCapsChange Wrong completion status"))
+ ASSERT_BITS_SET(aCaps, aWantedCaps, aUnwantedCaps,
+ _L("RPacketService::NotifyDynamicCapsChange Wrong caps"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyMSClassChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyMSClassChange(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TMSClass& aNewClass,
+ RPacketService::TMSClass aExpectedNewClass,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyMSClassChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aNewClass != aExpectedNewClass )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyMSClassChange(aRequestStatus, aNewClass);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyMSClassChange Wrong completion status"))
+ ASSERT_EQUALS(aNewClass, aExpectedNewClass,
+ _L("RPacketService::NotifyMSClassChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyReleaseModeChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyReleaseModeChange(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TPacketReleaseMode& aReleaseMode,
+ RPacketService::TPacketReleaseMode aExpectedReleaseMode,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyReleaseModeChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aReleaseMode != aExpectedReleaseMode )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyReleaseModeChange(aRequestStatus, aReleaseMode);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyReleaseModeChange Wrong completion status"))
+ ASSERT_EQUALS(aReleaseMode, aExpectedReleaseMode,
+ _L("RPacketService::NotifyReleaseModeChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RPacketService::NotifyStatusChange
+*/
+void TPacketServiceTsyTestHelper::WaitForPacketServiceNotifyStatusChange(
+ RPacketService& aPacketService,
+ TEtelRequestBase& aRequestStatus,
+ RPacketService::TStatus& aPacketStatus,
+ RPacketService::TStatus aExpectedPacketStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeVeryLong);
+ ASSERT_EQUALS(err, KErrNone, _L("RPacketService::NotifyStatusChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aPacketStatus != aExpectedPacketStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aPacketService.NotifyStatusChange(aRequestStatus, aPacketStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RPacketService::NotifyStatusChange Wrong completion status"))
+ ASSERT_EQUALS(aPacketStatus, aExpectedPacketStatus,
+ _L("RPacketService::NotifyStatusChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Gets the GPRS info for the supplied network by reading from the data ini file
+*/
+void TPacketServiceTsyTestHelper::GetGprsSettings(RMobilePhone::TMobilePhoneNetworkInfoV1 aInfo, TPtrC& aAccessPoint, TPtrC& aUser, TPtrC& aPassword,TUint aNumber)
+{
+ TBuf<200> section;
+ TPtrC ptrNetworkName;
+ if( aInfo.iShortName.Size() > 0 )
+ {
+ ptrNetworkName.Set(aInfo.iShortName.Ptr(), aInfo.iShortName.Length());
+ }
+ else
+ {
+ ptrNetworkName.Set(aInfo.iDisplayTag.Ptr(), aInfo.iDisplayTag.Length());
+ }
+ DEBUG_PRINTF2(_L("Current network is %S"), &ptrNetworkName);
+ if(ptrNetworkName.Find(_L("voda")) != KErrNotFound) //vodafone
+ {
+ section.Copy(KIniSectionVodafoneGprs);
+ DEBUG_PRINTF1(_L("Retrieving Vodafone GPRS settings"));
+ }
+ else if(ptrNetworkName.Find(_L("O2")) != KErrNotFound)//O2
+ {
+ DEBUG_PRINTF1(_L("Retrieving O2 GPRS settings"));
+ section.Copy(KIniSectionO2Gprs);
+ }
+ else if(ptrNetworkName.Find(_L("Orange"))!= KErrNotFound) //Orange
+ {
+ DEBUG_PRINTF1(_L("Retrieving Orange GPRS settings"));
+ section.Copy(KIniSectionOrangeGprs);
+ }
+ else if((ptrNetworkName.Find(_L("one2one")) != KErrNotFound)||(ptrNetworkName.Find(_L("T-Mobile")) != KErrNotFound) || (ptrNetworkName.Find(_L("TMO UK")) != KErrNotFound))//TMobile
+ {
+ DEBUG_PRINTF1(_L("Retrieving TMobile GPRS settings"));
+ section.Copy(KIniSectionTMobileGprs);
+ }
+ else if(ptrNetworkName.Find(_L("Elisa"))!= KErrNotFound) //Elisa
+ {
+ DEBUG_PRINTF1(_L("Retrieving Elisa GPRS settings"));
+ section.Copy(KIniSectionElisaGprs);
+ }
+ else if(ptrNetworkName.Find(_L("dna"))!= KErrNotFound) //DNA
+ {
+ DEBUG_PRINTF1(_L("Retrieving DNA GPRS settings"));
+ section.Copy(KIniSectionDNAGprs);
+ }
+ else if(ptrNetworkName.Find(_L("SONERA"))!= KErrNotFound) //SONERA
+ {
+ DEBUG_PRINTF1(_L("Retrieving Sonera GPRS settings"));
+ section.Copy(KIniSectionSoneraGprs);
+
+ }
+ else if(ptrNetworkName.Find(_L("3 UK")) != KErrNotFound) // Three
+ {
+ DEBUG_PRINTF1(_L("Retrieving Three GPRS settings"));
+ section.Copy(KIniSectionThreeGprs);
+ }
+ else if(ptrNetworkName.Find(_L("NTN")) != KErrNotFound) // NTN
+ {
+ section.Copy(KIniSectionNTNGprs);
+ DEBUG_PRINTF1(_L("Retrieving NTN GPRS settings"));
+ }
+ else if(ptrNetworkName.Find(_L("NOKIA")) != KErrNotFound) // NTN
+ {
+ section.Copy(KIniSectionNTNGprs);
+ DEBUG_PRINTF1(_L("Retrieving NTN GPRS settings"));
+ }
+ else if( (ptrNetworkName.Find(_L("01")) >=0) ||
+ (ptrNetworkName.Find(_L("ANITE")) >=0) ) // Anite
+ {
+ DEBUG_PRINTF1(_L("Retrieving Anite GPRS settings"));
+ section.Copy(KIniSectionVodafoneGprs); // Using vodafone GRPS settings, since Anite should accept any kind
+ }
+ else
+ {
+ DEBUG_PRINTF2(_L("Unable to retrieve network name \"%S\". Using defaults"),&(ptrNetworkName));
+ section.Copy(KIniSectionDefaultGprs);
+ }
+ if(aNumber!=1)
+ {
+ TBuf<200> temp;
+ temp.Copy(section);
+ section.Format(_L("%S %d"),&temp,aNumber);
+ }
+ iTestStep.GetStringFromConfig(section, KIniApnName, aAccessPoint);
+ iTestStep.GetStringFromConfig(section, KIniUsername, aUser);
+ iTestStep.GetStringFromConfig(section, KIniPassword, aPassword);
+}
+
+void TPacketServiceTsyTestHelper::ActivatePrimaryPacketContextL(RMobilePhone& aMobilePhone,
+ RPacketContext& aPacketContext,
+ TInt aNum)
+/**
+ * Activates a primary packet context with a GPRS config.
+ *
+ * @param aMobilePhone Reference to an RMobilePhone subsession.
+ * @param aPacketService Reference to an RPacketService
+ * subsession.
+ * @param aPacketContext Reference to an RPacketContext
+ * subsession representing the primary
+ * packet context.
+ * @param aNum The number of the context.
+ */
+ {
+ // Get network info from phone
+ TExtEtelRequestStatus getNetworkStatus(aMobilePhone, EMobilePhoneGetCurrentNetwork);
+ CleanupStack::PushL(getNetworkStatus);
+ RMobilePhone::TMobilePhoneNetworkInfoV1 info;
+ RMobilePhone::TMobilePhoneNetworkInfoV1Pckg infopckg(info);
+ aMobilePhone.GetCurrentNetwork(getNetworkStatus, infopckg);
+
+ ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(getNetworkStatus, ETimeLong),
+ KErrNone, _L("RMobilePhone::GetCurrentNetwork timed out"));
+ ASSERT_EQUALS(getNetworkStatus.Int(),
+ KErrNone, _L("RMobilePhone::GetCurrentNetwork returned an error"));
+
+ // Currenlty there are three context configs types: TContextConfigGPRS, TContextConfigCDMA, TContextConfigR99_R4
+ // A suitable config should be chosen accoriding to the baseband's capability.
+
+ // Get the context config using network info
+ // Using Gprs config for now...
+ RPacketContext::TContextConfigGPRS config;
+ TPtrC apn, user, pwd;
+ GetGprsSettings(info, apn, user, pwd, aNum);
+ config.iAccessPointName.Copy(apn);
+ config.iProtocolConfigOption.iAuthInfo.iUsername.Copy(user);
+ config.iProtocolConfigOption.iAuthInfo.iPassword.Copy(pwd);
+ TPckg<RPacketContext::TContextConfigGPRS> configPk(config);
+
+ // Set the context.
+ TExtEtelRequestStatus setConfigStatus(aPacketContext, EPacketContextSetConfig);
+ CleanupStack::PushL(setConfigStatus);
+ aPacketContext.SetConfig(setConfigStatus, configPk);
+
+ ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(setConfigStatus, ETimeLong), KErrNone,
+ _L("RPacketContext::SetConfig timed out"));
+ ASSERT_EQUALS(setConfigStatus.Int(), KErrNone,
+ _L("RPacketContext::SetConfig returned with error status."));
+
+ // === Activate packet context ===
+
+ // Post notification for context's status change
+ TExtEtelRequestStatus notifyContextStChStatus(aPacketContext, EPacketContextNotifyStatusChange);
+ CleanupStack::PushL(notifyContextStChStatus);
+ RPacketContext::TContextStatus packetContextStatus;
+ aPacketContext.NotifyStatusChange(notifyContextStChStatus, packetContextStatus);
+
+ // Activate packet context with RPacketContext::Activate
+ TExtEtelRequestStatus contextActivateStatus(aPacketContext, EPacketContextActivate);
+ CleanupStack::PushL(contextActivateStatus);
+ aPacketContext.Activate(contextActivateStatus);
+
+ ASSERT_EQUALS(iTestStep.WaitForRequestWithTimeOut(contextActivateStatus, ETimeLong), KErrNone,
+ _L("RPacketContext::Activate timed out."));
+ ASSERT_EQUALS(contextActivateStatus.Int(), KErrNone,
+ _L("RPacketContext::Activate returned with error status."));
+
+ // Check RPacketContext::NotifyStatusChange completes with EStatusActive
+ RPacketContext::TContextStatus expectedPacketContextStatus = RPacketContext::EStatusActive;
+ WaitForPacketContextNotifyStatusChange(
+ aPacketContext,
+ notifyContextStChStatus,
+ packetContextStatus,
+ expectedPacketContextStatus,
+ KErrNone);
+ ASSERT_EQUALS(packetContextStatus, RPacketContext::EStatusActive, _L("Packet Context's status expected to be EStatusActive but is not."));
+
+ CleanupStack::PopAndDestroy(4, &getNetworkStatus);
+ }
+