--- a/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/configs/TE_C32BcaUnit.ini Fri May 14 17:02:16 2010 +0300
+++ b/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/configs/TE_C32BcaUnit.ini Thu May 27 14:05:07 2010 +0300
@@ -135,14 +135,19 @@
ExpectedCommRole = DCE
[ValidChannelId]
+PDD_Name = ECDRV
+LDD_Name = ECOMM
+CSY_Name = PKTLOOPBACK
+Port_Name = PKTLOOPBACK::501
+BcaCSY_Name = PKTLOOPBACK
UUT_Name = UUT
Peer_Name = Peer
UUT_PortName = BOGUS
Peer_PortName = BOGUS
-UUT_IapId = 4
+UUT_IapId = 1
Peer_IapId = 2
-Port_Name1 = ECUART::COMM::0
-Port_Name2 = COMM::0
+Port_Name1 = PKTLOOPBACK::PKTLOOPBACK::501
+Port_Name2 = PKTLOOPBACK::501
[HiddenIAPRecord]
PDD_Name = ECDRV
--- a/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/scripts/TE_C32BcaUnit.script Fri May 14 17:02:16 2010 +0300
+++ b/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/scripts/TE_C32BcaUnit.script Thu May 27 14:05:07 2010 +0300
@@ -520,42 +520,42 @@
START_TESTCASE NET-BasebandAdaptation-c32bca-0133
//! @SYMTestCaseID NET-BasebandAdaptation-c32bca-0133
-//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port.
+//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port (using packetloopback.csy as current phone hardware does not support a serial driver).
//! @SYMFssID NETWORKING/BCA
//! @SYMTestActions Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc
//! @SYMTestExpectedResults Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc.
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType UT
-RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort1 z:\TestData\Configs\TE_C32BcaUnit.ini SerialPortConfig0
+RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort1 z:\TestData\Configs\TE_C32BcaUnit.ini CommRoleDTE
DELAY 1000
END_TESTCASE NET-BasebandAdaptation-c32bca-0133
START_TESTCASE NET-BasebandAdaptation-c32bca-0134
//! @SYMTestCaseID NET-BasebandAdaptation-c32bca-0134
-//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port.
+//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port (using packetloopback.csy as current phone hardware does not support a serial driver).
//! @SYMFssID NETWORKING/BCA
//! @SYMTestActions Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc
//! @SYMTestExpectedResults Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc.
//! @SYMTestPriority Critical
//! @SYMTestStatus Implemented
//! @SYMTestType UT
-RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort2 z:\TestData\Configs\TE_C32BcaUnit.ini SerialPortConfig0
+RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort2 z:\TestData\Configs\TE_C32BcaUnit.ini CommRoleDTE
DELAY 1000
END_TESTCASE NET-BasebandAdaptation-c32bca-0134
START_TESTCASE NET-BasebandAdaptation-c32bca-0135
//! @SYMTestCaseID NET-BasebandAdaptation-c32bca-0135
-//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port.
+//! @SYMTestCaseDesc Tests C32Bca Ioctl for serial port (using packetloopback.csy as current phone hardware does not support a serial driver).
//! @SYMFssID NETWORKING/BCA
//! @SYMTestActions Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc
//! @SYMTestExpectedResults Refer to SGL.GT0233.603.C32Bca_Unit_test_spec.doc.
//! @SYMTestPriority High
//! @SYMTestStatus Implemented
//! @SYMTestType UT
-RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort3 z:\TestData\Configs\TE_C32BcaUnit.ini SerialPortConfig0
+RUN_TEST_STEP 100 TE_C32BcaSvr CIoctlSerialPort3 z:\TestData\Configs\TE_C32BcaUnit.ini CommRoleDTE
DELAY 1000
END_TESTCASE NET-BasebandAdaptation-c32bca-0135
--- a/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/src/te_C32BcaUnitSteps.cpp Fri May 14 17:02:16 2010 +0300
+++ b/basebandadaptationplugins/basebandchanneladaptorforc32/te_c32bca/src/te_C32BcaUnitSteps.cpp Thu May 27 14:05:07 2010 +0300
@@ -1540,30 +1540,31 @@
TVerdict CIoctlSerialPort1::RunTestStepL()
{
LoadC32SettingsFromConfigFileL();
-
+
LoadCsyNameFromConfigFileL();
OpenRealCommPortL(iCommPort, iC32CsyName, iC32PortName);
-
+
LoadUutL();
SetProxyCsyL(*iUut, iC32CsyName);
-
+
iUut->Open(iC32PortName);
iUut->WaitForOpenL(KErrNone);
-
+
TCommConfig actualCommConfig;
iCommPort.Config(actualCommConfig);
actualCommConfig().iTerminatorCount = 1;
actualCommConfig().iTerminator[0] = 0x7E;
- LogAndLeaveIfErrorL(iCommPort.SetConfig(actualCommConfig), _L("Setting COMM Config on RComm"));
-
+
+ LogAndLeaveIfErrorL(iCommPort.SetConfig(actualCommConfig), _L("Setting COMM Config on RComm"));
+
TCommConfig balCommConfig;
// sanity check
TRAPD(err, CheckBuffersEqualL(balCommConfig, actualCommConfig));
if(KErrNone == err)
- {
- INFO_PRINTF1(_L("Santify Check Failure: buffers were equal before TCommConfig was retrieved from BCA."));
- return EInconclusive;
- }
+ {
+ INFO_PRINTF1(_L("Santify Check Failure: buffers were equal before TCommConfig was retrieved from BCA."));
+ return EInconclusive;
+ }
TPckgBuf<TCommConfig> argPckg(balCommConfig);
iUut->Ioctl(KBcaOptLevelExtSerial, KSerialConfig, argPckg);
@@ -1571,15 +1572,33 @@
balCommConfig = argPckg();
CheckBuffersEqualL(balCommConfig, actualCommConfig);
-
+
+ // Now check that we can accept a V2 structure, although only the V1 attributes are configured for use.
+ TCommConfig2 actualCommConfig2;
+ actualCommConfig2.FillZ();
+ actualCommConfig2().iTerminatorCount = 2;
+ actualCommConfig2().iTerminator[0] = 0x7E;
+ LogAndLeaveIfErrorL(iCommPort.SetConfig(actualCommConfig2), _L("Setting COMM Config using V2 on RComm"));
+
+ // Now check that we can retrieve a V1 structure correctly.
+ TCommConfig balCommConfig1;
+ balCommConfig1.FillZ();
+ TPckgBuf<TCommConfig> argPckg1(balCommConfig1);
+ iUut->Ioctl(KBcaOptLevelExtSerial, KSerialConfig, argPckg1);
+ iUut->WaitForIoctlL(KErrNone);
+ balCommConfig1 = argPckg1();
+
+ actualCommConfig().iTerminatorCount = 2; //Modify Comparison Structure to be aligned to balCommConfig1
+ CheckBuffersEqualL(balCommConfig1, actualCommConfig);
+
iCommPort.Close();
-
+
iUut->Shutdown();
iUut->WaitForShutdownL(KErrNone);
-
+
UnloadUut();
-
- return EPass;
+
+ return EPass;
}
/**
@@ -1777,7 +1796,7 @@
/** Test C32 BCA open functionality with the different combinations of ChannelId*/
TVerdict CValidChannelId::RunTestStepL()
{
- TPtrC channelId;
+ TPtrC channelId;
if(!GetStringFromConfig(ConfigSection(), _L("Port_Name1"), channelId))
{
@@ -1785,10 +1804,19 @@
return EAbort;
}
- // Pass channelId in the form of csyname::portname (ECUART::COMM::0) to the BCA
+ // Pass channelId in the form of:
+ // csyname::portname (ECUART::COMM::0) to the BCA
+ // where csyname = ECUART
+ // portname = COMM::0
+ // OR alternatively
+ // csyname::portname (PKTLOOPBACK::PKTLOOPBACK::501)
+ // where csyname = PKTLOOPBACK
+ // portname = PKTLOOPBACK::501
+ // (PKTLOOPBACK port names contain a seemingly redundant PKTLOOPBACK in their specification).
+ LoadUutL();
+
+ // Scenario 1 - the CSY name is specified in the descriptor argument passed to the Open()
- LoadUutL();
-
iUut->Open(channelId);
iUut->WaitForOpenL(KErrNone);
@@ -1800,10 +1828,16 @@
return EAbort;
}
- // Pass channelId in the form of portname (COMM::0) to the BCA
-
+ // Pass channelId in the form of portname (COMM::0) to the BCA
+ // OR
+ // (PKTLOOPBACK::501)
+
+ // Scenario 2 - the CSY name is not specified in the descriptor argument passed to the Open()
+ // In this case, the CSY name is retrieved from CommsDat, based on the IAP.
+ // The client specifies the IAP by call SetProxyIapIdL();
+
LoadUutL();
-
+
SetProxyIapIdL(*iUut, iUutIapId);
iUut->Open(channelId);
--- a/hwpluginsimulation/mocksy/bwins/distribution.policy Fri May 14 17:02:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD: Reference/Test Tools
--- a/hwpluginsimulation/mocksy/eabi/distribution.policy Fri May 14 17:02:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD: Reference/Test Tools
--- a/hwpluginsimulation/mocksy/group/distribution.policy Fri May 14 17:02:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD: Reference/Test Tools
--- a/hwpluginsimulation/mocksy/inc/distribution.policy Fri May 14 17:02:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD: Reference/Test Tools
--- a/hwpluginsimulation/mocksy/src/distribution.policy Fri May 14 17:02:16 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD: Reference/Test Tools
--- a/telephonyprotocols/csdagt/src/ND_DIRCT.CPP Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/csdagt/src/ND_DIRCT.CPP Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-2010 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"
@@ -90,10 +90,18 @@
iDbAccess->GetCommPortRoleL(role);
TInt len;
iDbAccess->GetScriptDetailsL(iUseScript,len);
+
if (!iUseScript || len==0)
{ // set them consistently
iUseScript=EFalse;
}
+
+ if (iNdScript != NULL)
+ {
+ delete iNdScript;
+ iNdScript = NULL;
+ }
+
iNdScript=CNetDialScript::NewL(iDbAccess,iDlgPrc,commPort,role,len); // create it whatever because we need other stuff
}
--- a/telephonyprotocols/csdagt/src/Nd_Bases.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/csdagt/src/Nd_Bases.cpp Thu May 27 14:05:07 2010 +0300
@@ -29,7 +29,8 @@
// Netdial SM base class
CNetdialSM::CNetdialSM(MAgentNotify& aControllerObserver, CDialogProcessor* aDlgPrc, CCommsDbAccess& aDbAccess)
- : CAgentSMBase(aControllerObserver,aDlgPrc,aDbAccess)
+ : CAgentSMBase(aControllerObserver,aDlgPrc,aDbAccess),
+ iNdScript(NULL)
/**
Constructor.
--- a/telephonyprotocols/pdplayer/inc/PDPSCPR.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/inc/PDPSCPR.h Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -58,6 +58,7 @@
class TRetrieveSipAddr;
class TModifyActivePDPContext;
class TSetMbmsParameters;
+ class TCleanupFSM;
}
namespace PDPSCprActivities
@@ -93,6 +94,7 @@
friend class PDPSCprStates::TRetrieveSipAddr;
friend class PDPSCprStates::TSetMbmsParameters;
friend class PDPSCprStates::TModifyActivePDPContext;
+ friend class PDPSCprStates::TCleanupFSM;
public:
--- a/telephonyprotocols/pdplayer/inc/PDPSCPRStates.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/inc/PDPSCPRStates.h Thu May 27 14:05:07 2010 +0300
@@ -377,6 +377,16 @@
virtual TInt TransitionTag();
DECLARE_SMELEMENT_FOOTER( TNoTagOrProviderStopped )
+DECLARE_SMELEMENT_HEADER( TCleanupFSM, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+ virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TCleanupFSM)
+
+DECLARE_AGGREGATED_TRANSITION2(
+ TCleanupFSMAndDataClients,
+ PDPSCprStates::TCleanupFSM,
+ PRStates::TDestroyOrphanedDataClients
+ )
+
//===========================================================
// Sip Address retrieval
--- a/telephonyprotocols/pdplayer/src/PDPDeftSCPR.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/src/PDPDeftSCPR.cpp Thu May 27 14:05:07 2010 +0300
@@ -65,7 +65,7 @@
NODEACTIVITY_ENTRY(KNoTag, SCprStates::TStopYourFlows, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TTag<CoreNetStates::KNoDataClientsToStop>)
THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KNoDataClientsToStop, MeshMachine::TDoNothing, PDPSCprStates::TNoTagOrProviderStopped)
NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TDestroyPDPContext, PDPSCprStates::TAwaitingPDPContextDestroyed, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
- THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PRStates::TDestroyOrphanedDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
+ THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PDPSCprStates::TCleanupFSMAndDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
LAST_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, MeshMachine::TRaiseActivityError)
NODEACTIVITY_END()
}
@@ -103,21 +103,21 @@
// to TRejoin, whereas TRejoin doesn't mean swap - suggesting to
// introduce PDP level msg: TRejoinAndSwap.
DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityGoneDown, PDPDeftSCprGoneDown, TPDPMessages::TPDPFSMMessage, PDPSCprStates::CPrimaryPDPGoneDownActivity::NewL)
- FIRST_NODEACTIVITY_ENTRY(PDPSCprStates::TAwaitingPDPContextGoneDown, MeshMachine::TActiveOrNoTag<ECFActivityStartDataClient>)
- THROUGH_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing, PDPSCprStates::CPrimaryPDPGoneDownActivity::TNoTagOrProviderStopped)
+ FIRST_NODEACTIVITY_ENTRY(PDPSCprStates::TAwaitingPDPContextGoneDown, MeshMachine::TActiveOrNoTag<ECFActivityStartDataClient>)
+ THROUGH_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TCleanupFSM, PDPSCprStates::CPrimaryPDPGoneDownActivity::TNoTagOrProviderStopped)
THROUGH_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TStoreOriginalDataClient, MeshMachine::TNoTag)
- NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TRejoinDataClient, CoreNetStates::TAwaitingRejoinDataClientComplete, MeshMachine::TNoTag)
- NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TApplyNewDefault, TAwaitingApplyResponseOrError, MeshMachine::TNoTag)
- THROUGH_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TSwitchToNewDefault, MeshMachine::TNoTag)
- NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TStopOriginalDataClient, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TNoTag)
-
- LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TClearError)
- THROUGH_NODEACTIVITY_ENTRY(KActiveTag, MeshMachine::TDoNothing, PDPSCprStates::TNoTagOrContentionTag)
- //Awaiting for contention result, do not stop the start activity.
- LAST_NODEACTIVITY_ENTRY(PDPSCprStates::KContentionTag, MeshMachine::TDoNothing)
-
- LAST_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TCancelDataClientStartInPDP)
-
+ NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TRejoinDataClient, CoreNetStates::TAwaitingRejoinDataClientComplete, MeshMachine::TNoTag)
+ NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TApplyNewDefault, TAwaitingApplyResponseOrError, MeshMachine::TNoTag)
+ THROUGH_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TSwitchToNewDefault, MeshMachine::TNoTag)
+ NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::CPrimaryPDPGoneDownActivity::TStopOriginalDataClient, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TNoTag)
+
+ LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TClearError)
+ THROUGH_NODEACTIVITY_ENTRY(KActiveTag, MeshMachine::TDoNothing, PDPSCprStates::TNoTagOrContentionTag)
+ //Awaiting for contention result, do not stop the start activity.
+ LAST_NODEACTIVITY_ENTRY(PDPSCprStates::KContentionTag, MeshMachine::TDoNothing)
+
+ LAST_NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TCancelDataClientStartInPDP)
+
NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, CoreNetStates::TStopSelf, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
LAST_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PDPSCprStates::TSendGoneDown)
NODEACTIVITY_END()
--- a/telephonyprotocols/pdplayer/src/PDPSCPR.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/src/PDPSCPR.cpp Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 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"
@@ -91,7 +91,7 @@
NODEACTIVITY_ENTRY(KNoTag, SCprStates::TStopYourFlows, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TTag<CoreNetStates::KNoDataClientsToStop>)
THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KNoDataClientsToStop, MeshMachine::TDoNothing, PDPSCprStates::TNoTagOrProviderStopped)
NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TDestroyPDPContext, PDPSCprStates::TAwaitingPDPContextDestroyed, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
- THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PRStates::TDestroyOrphanedDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
+ THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PDPSCprStates::TCleanupFSMAndDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
LAST_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, MeshMachine::TRaiseActivityError)
NODEACTIVITY_END()
}
@@ -106,7 +106,7 @@
NODEACTIVITY_ENTRY(KNoTag, SCprStates::TStopYourFlows, CoreNetStates::TAwaitingDataClientStopped, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, MeshMachine::TDoNothing, PDPSCprStates::TNoTagOrProviderStopped)
NODEACTIVITY_ENTRY(KNoTag, PDPSCprStates::TDestroyPDPContext, PDPSCprStates::TAwaitingPDPContextDestroyed, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
- THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PRStates::TDestroyOrphanedDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
+ THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PDPSCprStates::TCleanupFSMAndDataClients, MeshMachine::TTag<CoreNetStates::KProviderStopped>)
LAST_NODEACTIVITY_ENTRY(CoreNetStates::KProviderStopped, PDPSCprStates::TSendDataClientStopped)
NODEACTIVITY_END()
}
--- a/telephonyprotocols/pdplayer/src/PDPSCPRStates.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/src/PDPSCPRStates.cpp Thu May 27 14:05:07 2010 +0300
@@ -226,7 +226,9 @@
//It's not legal for the qos defaults to be absent.
CDefaultPacketQoSProvision* defaultQoS = NULL;
+
TRAPD(ret, defaultQoS = CDefaultPacketQoSProvision::NewL(aIapView));
+
if ((KErrNone == ret) && defaultQoS)
{
CleanupStack::PushL(defaultQoS);
@@ -658,115 +660,192 @@
User::LeaveIfError(tNode.iProvisionFailure);
ASSERT(tNode.iPdpFsmInterface);
-
- iContext.Node().PostToClients<TDefaultClientMatchPolicy>(
+
+ tNode.PostToClients<TDefaultClientMatchPolicy>(
iContext.NodeId(),
TCFMessage::TStateChange(
Elements::TStateChange(KPsdStartingConfiguration, KErrNone)).CRef(),
TClientType(TCFClientType::ECtrlProvider));
-
- CGPRSProvision* gprsProvision = const_cast<CGPRSProvision*>(static_cast<const CGPRSProvision*>(
- iContext.Node().AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CGPRSProvision::EUid,CGPRSProvision::ETypeId))));
-
- //retrieve QoS (should be provisioned, but can also be overriden with SetParams).
- RPacketQoS::TQoSR5Requested qosOverridenParams;
- const RPacketQoS::TQoSR5Requested* qosParams = NULL;
- if (! iContext.Node().iParameterBundle.IsNull() && ! iContext.Node().iParameterBundle.FindFamily(KSubConQoSFamily).IsNull())
- {
- MPDPParamMapper::MapQosParamBundleToEtelL(iContext.Node().iParameterBundle, qosOverridenParams);
- qosParams = &qosOverridenParams;
- }
- else
- {
- const CDefaultPacketQoSProvision* defaultQoSProvision = static_cast<const CDefaultPacketQoSProvision*>(
- iContext.Node().AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CDefaultPacketQoSProvision::EUid,CDefaultPacketQoSProvision::ETypeId)));
- qosParams = defaultQoSProvision ? &defaultQoSProvision->iParams : NULL;
-
+
+ CGPRSProvision* gprsProvision = const_cast<CGPRSProvision*>(static_cast<const CGPRSProvision*>(
+ tNode.AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CGPRSProvision::EUid,CGPRSProvision::ETypeId))));
+
+ if (gprsProvision == NULL)
+ {
+ User::Leave(KErrCorrupt);
+ }
+
+ //retrieve QoS (should be provisioned, but can also be overriden with SetParams).
+ RPacketQoS::TQoSR5Requested qosOverridenParams;
+
+ const RPacketQoS::TQoSR5Requested* qosParams = NULL;
+
+ if ((!tNode.iParameterBundle.IsNull()) &&\
+ (!tNode.iParameterBundle.FindFamily(KSubConQoSFamily).IsNull()))
+ {
+ MPDPParamMapper::MapQosParamBundleToEtelL(tNode.iParameterBundle, qosOverridenParams);
+ qosParams = &qosOverridenParams;
+ }
+ else
+ {
+ const CDefaultPacketQoSProvision* defaultQoSProvision = static_cast<const CDefaultPacketQoSProvision*>(
+ tNode.AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CDefaultPacketQoSProvision::EUid,CDefaultPacketQoSProvision::ETypeId)));
+
+ if (defaultQoSProvision)
+ {
+ qosParams = &defaultQoSProvision->iParams;
+ }
+ else
+ {
+ User::Leave(KErrCorrupt);
+ }
+
//Here we're taking the qos defaults from the provision info, hence skipping the iParameterBundle.
//The lack of iParameterBundle however and the respective ERequested params is badly tolerated by the rest
//of the code (e.g.: when subsequently raising granted params it is assumed something has been requested).
- //Let's create a phoney requested params.
- //iContext.Node().CreateParameterBundleL();
- //RParameterFamily family = iContext.Node().iParameterBundle.CreateFamilyL(KSubConQoSFamily); //PJLEFT
-
- RCFParameterFamilyBundle newBundle;
- newBundle.CreateL();
- iContext.Node().iParameterBundle.Open(newBundle);
- RParameterFamily family = newBundle.CreateFamilyL(KSubConQoSFamily);
- CSubConQosGenericParamSet::NewL(family, RParameterFamily::ERequested);
- }
- TTFTInfo tft; //We'll use empty/thus default TFT
- if (gprsProvision == NULL || qosParams == NULL)
- {
- User::Leave(KErrCorrupt);
- }
-
- const CImsExtProvision* imsprov = static_cast<const CImsExtProvision*>(
- iContext.Node().AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CImsExtProvision::EUid, CImsExtProvision::ETypeId)));
-
- TRAP_IGNORE(iContext.Node().iIsModeGsm = IsModeGsmL());
-
- switch (gprsProvision->UmtsGprsRelease())
- {
- case TPacketDataConfigBase::KConfigGPRS:
- {
- SetImsSignallingFlagL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption, imsprov->iImsSignalIndicator);
+
+ // These parameter bundles are also used in a situation when a context has failed to create because of a lack
+ // of modem / network resources, as the SCPR isn't torn down, the parameter bundles need to hold the
+ // information of the default QoS otherwise bad things happen [bad QoS].
+
+ RCFParameterFamilyBundle newBundle;
+ newBundle.CreateL();
+ tNode.iParameterBundle.Open(newBundle);
+ RParameterFamily family = newBundle.CreateFamilyL(KSubConQoSFamily);
+
+ TInt tRelease = gprsProvision->UmtsGprsRelease();
+
+ CSubConQosR99ParamSet* extRequestedR99 = NULL;
+ CSubConQosR99ParamSet* extAcceptableR99 = NULL;
+ CSubConQosR5ParamSet* extRequestedR5 = NULL;
+ CSubConQosR5ParamSet* extAcceptableR5 = NULL;
+
+ if (tRelease == TPacketDataConfigBase::KConfigRel5)
+ {
+ // R5 - basically R4 + a few parameters
+
+ extRequestedR5 = CSubConQosR5ParamSet::NewL(family,RParameterFamily::ERequested);
+ extAcceptableR5 = CSubConQosR5ParamSet::NewL(family,RParameterFamily::EAcceptable);
- // Only request SIP server address retrieval when network not in GSM/GPRS mode
- // e.g. UMTS/WCDMA
- if (!iContext.Node().iIsModeGsm)
- {
- SetupSipServerAddrRetrievalL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption);
- }
-
- SetChapInformationL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption);
-
- }
- break;
-
- case TPacketDataConfigBase::KConfigRel5:
- case TPacketDataConfigBase::KConfigRel99Rel4:
- {
- SetImsSignallingFlagL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption, imsprov->iImsSignalIndicator);
-
- // Only request SIP server address retrieval when network not in GSM/GPRS mode
- // e.g. UMTS/WCDMA
- if (!iContext.Node().iIsModeGsm)
- {
- SetupSipServerAddrRetrievalL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption);
- }
-
- SetChapInformationL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption);
-
- }
- break;
- }
-
- iContext.Node().iPDPFsmContextId = iContext.Node().iPdpFsmInterface->NewFsmContextL(iContext.Node(),SpudMan::EPrimary);
-
- iContext.Node().PostToClients<TDefaultClientMatchPolicy>(
+ // Requested QoS Parameters
+ extRequestedR5->SetSourceStatisticsDescriptor(qosParams->iSourceStatisticsDescriptor);
+ extRequestedR5->SetSignallingIndicator(qosParams->iSignallingIndication);
+
+ extRequestedR99 = dynamic_cast<CSubConQosR99ParamSet*>(extRequestedR5);
+
+ // Acceptable QoS Parameters
+
+ extAcceptableR5->SetSourceStatisticsDescriptor(qosParams->iSourceStatisticsDescriptor);
+ extAcceptableR5->SetSignallingIndicator(qosParams->iSignallingIndication);
+
+ extAcceptableR99 = dynamic_cast<CSubConQosR99ParamSet*>(extAcceptableR5);
+
+ }
+ else
+ {
+ // R4 and R99
+ extRequestedR99 = CSubConQosR99ParamSet::NewL(family,RParameterFamily::ERequested);
+ extAcceptableR99 = CSubConQosR99ParamSet::NewL(family,RParameterFamily::EAcceptable);
+ }
+
+ // Requested QoS Parameters
+ extRequestedR99->SetTrafficClass(qosParams->iReqTrafficClass);
+ extRequestedR99->SetDeliveryOrder(qosParams->iReqDeliveryOrderReqd);
+ extRequestedR99->SetErroneousSDUDelivery(qosParams->iReqDeliverErroneousSDU);
+ extRequestedR99->SetResidualBitErrorRatio(qosParams->iReqBER);
+ extRequestedR99->SetSDUErrorRatio(qosParams->iReqSDUErrorRatio);
+ extRequestedR99->SetTrafficHandlingPriority(qosParams->iReqTrafficHandlingPriority);
+ extRequestedR99->SetTransferDelay(qosParams->iReqTransferDelay);
+ extRequestedR99->SetMaxSduSize(qosParams->iReqMaxSDUSize);
+ extRequestedR99->SetMaxBitrateUplink(qosParams->iReqMaxRate.iUplinkRate);
+ extRequestedR99->SetMaxBitrateDownlink(qosParams->iReqMaxRate.iDownlinkRate);
+ extRequestedR99->SetGuaBitrateUplink(qosParams->iReqGuaranteedRate.iUplinkRate);
+ extRequestedR99->SetGuaBitrateDownlink(qosParams->iReqGuaranteedRate.iDownlinkRate);
+
+ // Acceptable QoS Parameters
+ extAcceptableR99->SetTrafficClass(qosParams->iMinTrafficClass);
+ extAcceptableR99->SetDeliveryOrder(qosParams->iMinDeliveryOrderReqd);
+ extAcceptableR99->SetErroneousSDUDelivery(qosParams->iMinDeliverErroneousSDU);
+ extAcceptableR99->SetResidualBitErrorRatio(qosParams->iMaxBER);
+ extAcceptableR99->SetSDUErrorRatio(qosParams->iMaxSDUErrorRatio);
+ extAcceptableR99->SetTrafficHandlingPriority(qosParams->iMinTrafficHandlingPriority);
+ extAcceptableR99->SetTransferDelay(qosParams->iMaxTransferDelay);
+ extAcceptableR99->SetMaxSduSize(qosParams->iMinAcceptableMaxSDUSize);
+ extAcceptableR99->SetMaxBitrateUplink(qosParams->iMinAcceptableMaxRate.iUplinkRate);
+ extAcceptableR99->SetMaxBitrateDownlink(qosParams->iMinAcceptableMaxRate.iDownlinkRate);
+ extAcceptableR99->SetGuaBitrateUplink(qosParams->iMinGuaranteedRate.iUplinkRate);
+ extAcceptableR99->SetGuaBitrateDownlink(qosParams->iMinGuaranteedRate.iDownlinkRate);
+
+ }
+
+ TTFTInfo tft; //We'll use empty/thus default TFT
+
+ const CImsExtProvision* imsprov = static_cast<const CImsExtProvision*>(
+ tNode.AccessPointConfig().FindExtension(STypeId::CreateSTypeId(CImsExtProvision::EUid, CImsExtProvision::ETypeId)));
+
+ TRAP_IGNORE(tNode.iIsModeGsm = IsModeGsmL());
+
+ switch (gprsProvision->UmtsGprsRelease())
+ {
+ case TPacketDataConfigBase::KConfigGPRS:
+ {
+ SetImsSignallingFlagL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption, imsprov->iImsSignalIndicator);
+
+ // Only request SIP server address retrieval when network not in GSM/GPRS mode
+ // e.g. UMTS/WCDMA
+ if (!tNode.iIsModeGsm)
+ {
+ SetupSipServerAddrRetrievalL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption);
+ }
+
+ SetChapInformationL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigGPRS>().iProtocolConfigOption);
+
+ }
+ break;
+
+ case TPacketDataConfigBase::KConfigRel5:
+ case TPacketDataConfigBase::KConfigRel99Rel4:
+ {
+ SetImsSignallingFlagL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption, imsprov->iImsSignalIndicator);
+
+ // Only request SIP server address retrieval when network not in GSM/GPRS mode
+ // e.g. UMTS/WCDMA
+ if (!tNode.iIsModeGsm)
+ {
+ SetupSipServerAddrRetrievalL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption);
+ }
+
+ SetChapInformationL(gprsProvision->GetScratchContextAs<RPacketContext::TContextConfigR99_R4>().iProtocolConfigOption);
+
+ }
+ break;
+ }
+
+ tNode.iPDPFsmContextId = tNode.iPdpFsmInterface->NewFsmContextL(tNode,SpudMan::EPrimary);
+
+ tNode.PostToClients<TDefaultClientMatchPolicy>(
iContext.NodeId(),
TCFMessage::TStateChange(
Elements::TStateChange(KPsdFinishedConfiguration, KErrNone)).CRef(),
TClientType(TCFClientType::ECtrlProvider));
-
- iContext.Node().PostToClients<TDefaultClientMatchPolicy>(
+
+ tNode.PostToClients<TDefaultClientMatchPolicy>(
iContext.NodeId(),
TCFMessage::TStateChange(
Elements::TStateChange(KPsdStartingActivation, KErrNone)).CRef(),
TClientType(TCFClientType::ECtrlProvider));
-
- ASSERT(iContext.Node().iPDPFsmContextId == KPrimaryContextId);
- iContext.Node().iContextType=SpudMan::EPrimary;
- iContext.Node().iPdpFsmInterface->Set(KPrimaryContextId, gprsProvision->GetScratchContextAs<TPacketDataConfigBase>());
- //Set default QoS
- iContext.Node().iPdpFsmInterface->Set(KPrimaryContextId, *qosParams);
+
+ ASSERT(tNode.iPDPFsmContextId == KPrimaryContextId);
+ tNode.iContextType=SpudMan::EPrimary;
+ tNode.iPdpFsmInterface->Set(KPrimaryContextId, gprsProvision->GetScratchContextAs<TPacketDataConfigBase>());
+ //Set default QoS
+ tNode.iPdpFsmInterface->Set(KPrimaryContextId, *qosParams);
//Set default TFTs
- iContext.Node().iPdpFsmInterface->Set(KPrimaryContextId, tft); // ignore any error
+ tNode.iPdpFsmInterface->Set(KPrimaryContextId, tft); // ignore any error
//Start the primary.
- User::LeaveIfError(iContext.Node().iPdpFsmInterface->Input(KPrimaryContextId, SpudMan::ECreatePrimaryPDPContext));
+ User::LeaveIfError(tNode.iPdpFsmInterface->Input(KPrimaryContextId, SpudMan::ECreatePrimaryPDPContext));
iContext.iNodeActivity->ClearPostedTo();
- iContext.Node().iActivityAwaitingResponse = iContext.iNodeActivity->ActivityId();
+ tNode.iActivityAwaitingResponse = iContext.iNodeActivity->ActivityId();
}
DEFINE_SMELEMENT(TOverrideProvision, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
@@ -1464,33 +1543,48 @@
iContext.Node().iActivityAwaitingResponse = iContext.iNodeActivity->ActivityId();
}
+DEFINE_SMELEMENT(TCleanupFSM, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+void TCleanupFSM::DoL()
+ {
+ CPDPSubConnectionProvider &tNode = static_cast<CPDPSubConnectionProvider &>(iContext.Node());
+
+ if (tNode.iPDPFsmContextId != CPDPSubConnectionProvider::EInvalidContextId)
+ {
+
+ // removing the memory associated with the context - this should hopefully
+ // ensure that the memory allocations that happen afterwards can be
+ // accomplished without OOM errors
+
+ tNode.iPdpFsmInterface->DeleteFsmContext(tNode.iPDPFsmContextId);
+
+ if (tNode.ContentionRequested() == EFalse)
+ {
+ CSubConGenEventSubConDown* event = CSubConGenEventSubConDown::NewL();
+ CleanupStack::PushL(event);
+ tNode.NotifyClientsL(*event);
+ CleanupStack::Pop(event);
+ }
+
+ if (tNode.iPDPFsmContextId == KPrimaryContextId)
+ {
+ tNode.PostToClients<TDefaultClientMatchPolicy>(
+ iContext.NodeId(),
+ TCFMessage::TStateChange(
+ Elements::TStateChange(KPsdFinishedDeactivation, KErrNone)).CRef(),
+ TClientType(TCFClientType::ECtrlProvider));
+ }
+
+ tNode.iPDPFsmContextId = CPDPSubConnectionProvider::EInvalidContextId;
+
+ }
+ }
+
+
DEFINE_SMELEMENT(TAwaitingPDPContextDestroyed, NetStateMachine::MState, PDPSCprStates::TContext)
TBool TAwaitingPDPContextDestroyed::Accept()
{
if (TAwaitingPDPFSMMessage::Accept(KContextDeleteEvent))
{
- if (iContext.Node().iPDPFsmContextId != CPDPSubConnectionProvider::EInvalidContextId)
- {
- if (!iContext.Node().ContentionRequested())
- {
- CSubConGenEventSubConDown* event = CSubConGenEventSubConDown::NewL();
- CleanupStack::PushL(event);
- iContext.Node().NotifyClientsL(*event);
- CleanupStack::Pop(event);
- }
-
- if (iContext.Node().iPDPFsmContextId == KPrimaryContextId)
- {
- iContext.Node().PostToClients<TDefaultClientMatchPolicy>(
- iContext.NodeId(),
- TCFMessage::TStateChange(
- Elements::TStateChange(KPsdFinishedDeactivation, KErrNone)).CRef(),
- TClientType(TCFClientType::ECtrlProvider));
- }
-
- iContext.Node().iPdpFsmInterface->DeleteFsmContext(iContext.Node().iPDPFsmContextId);
- iContext.Node().iPDPFsmContextId = CPDPSubConnectionProvider::EInvalidContextId;
- }
return ETrue;
}
return EFalse;
--- a/telephonyprotocols/pdplayer/test/controlplane/group/BLD.INF Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/test/controlplane/group/BLD.INF Thu May 27 14:05:07 2010 +0300
@@ -31,11 +31,11 @@
../configs/te_controlplanenetworksideloopbackcsy.ini z:/testdata/configs/te_controlplanenetworksideloopbackcsy.ini
-../scripts/te_PDP_ControlPlane.script z:/testdata/scripts/te_PDP_ControlPlane.script
-../scripts/te_PDP_ControlPlane28.script z:/testdata/scripts/te_PDP_ControlPlane28.script
-../scripts/te_PDP_ControlPlane29.script z:/testdata/scripts/te_PDP_ControlPlane29.script
+../scripts/te_PDP_ControlPlane.script z:/testdata/scripts/te_pdp_controlplane.script
+../scripts/te_PDP_ControlPlane28.script z:/testdata/scripts/te_pdp_controlplane28.script
+../scripts/te_PDP_ControlPlane29.script z:/testdata/scripts/te_pdp_controlplane29.script
-te_PDPControlPlane.iby /epoc32/rom/include/te_PDPControlPlane.iby
+te_PDPControlPlane.iby /epoc32/rom/include/te_pdpcontrolplane.iby
PRJ_MMPFILES
--- a/telephonyprotocols/pdplayer/umts/test/Te_UmtsGprsSCPR/scripts/te_cap_umtsgprsscpr_noqostestnif.script Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/pdplayer/umts/test/Te_UmtsGprsSCPR/scripts/te_cap_umtsgprsscpr_noqostestnif.script Thu May 27 14:05:07 2010 +0300
@@ -179,7 +179,7 @@
//! @SYMTestStatus Implemented
//! @SYMTestType CIT
RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
-CED -i z:\testdata\configs\te_umtsgprsscpr_captest.xml ced.log
+CED -i z:\testdata\configs\te_umtsgprsscpr_captest.cfg ced.log
RUN_SCRIPT Z:\TestData\Scripts\te_Cap_UmtsGprsScprConfig1Case2.script
END_TESTCASE NET-UMTS-UmtsGprsSCPR-0206
--- a/telephonyprotocols/qos3gppcpr/group/bld.inf Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/qos3gppcpr/group/bld.inf Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -18,7 +18,7 @@
PRJ_EXPORTS
../inc/Qos3GPP_subconparams.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(networking/qos3gpp_subconparams.h)
../inc/Qos3GPP_subconparams.inl SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(networking/qos3gpp_subconparams.inl)
-../inc/Qos3GPP_subconparams_factory.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/qos3GPP_subconparams_factory.h)
+../inc/Qos3GPP_subconparams_factory.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/qos3gpp_subconparams_factory.h)
../group/Qos3GPP.iby /epoc32/rom/include/qos3gpp.iby
--- a/telephonyprotocols/qos3gppcpr/inc/Qos3GPP_subconparams.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/qos3gppcpr/inc/Qos3GPP_subconparams.h Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -26,8 +26,6 @@
#define QOS3GPP_SUBCONPARAMS_H
#include <es_sock.h>
-#include <comms-infras/metadata.h>
-#include <comms-infras/metatype.h>
#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <etelqos.h>
@@ -253,7 +251,7 @@
};
#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <networking/qos3GPP_subconparams_factory.h>
+#include <networking/qos3gpp_subconparams_factory.h>
#endif
#include <networking/qos3gpp_subconparams.inl>
--- a/telephonyprotocols/rawipnif/group/BLD.INF Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/rawipnif/group/BLD.INF Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -37,8 +37,8 @@
PRJ_TESTEXPORTS
// epoc.ini alternative and batchfile for replacement
-../DATA/epocrawip.ini z:/testdata/configs/epocrawip.ini
-../DATA/replaceepocrawipini.bat z:/testdata/configs/replaceepocrawipini.bat
+../data/epocrawip.ini z:/testdata/configs/epocrawip.ini
+../data/replaceepocrawipini.bat z:/testdata/configs/replaceepocrawipini.bat
PRJ_MMPFILES
--- a/telephonyprotocols/rawipnif/inc/Receiver.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/rawipnif/inc/Receiver.h Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2002-2010 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"
@@ -37,7 +37,9 @@
// Inherited from CActive.
virtual void RunL();
+ virtual TInt RunError(TInt aError);
virtual void DoCancel();
+
void StartListening();
private:
--- a/telephonyprotocols/rawipnif/src/Receiver.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/rawipnif/src/Receiver.cpp Thu May 27 14:05:07 2010 +0300
@@ -143,6 +143,13 @@
}
}
+TInt CReceiver::RunError(TInt aError)
+ {
+ _LOG_L2C1(_L8("WARNING! CReceiver::RunError Read failed"));
+ iObserver.Stop(aError);
+ return KErrNone;
+ }
+
void CReceiver::DoCancel()
/**
* Cancel active request
--- a/telephonyprotocols/secondarypdpcontextumtsdriver/te_spudNetworkSide/group/BLD.INF Fri May 14 17:02:16 2010 +0300
+++ b/telephonyprotocols/secondarypdpcontextumtsdriver/te_spudNetworkSide/group/BLD.INF Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 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"
@@ -28,13 +28,13 @@
../scripts/version1/TE_spudNetworkSide.script z:/testdata/scripts/te_spudnetworkside.script
../scripts/version1/TE_spudNetworkSide_nifman.script z:/testdata/scripts/te_spudnetworkside_nifman.script
../scripts/version1/TE_PppSize_spud.script z:/testdata/scripts/te_pppsize_spud.script
-../scripts/version1/TE_SpudNetworkside_Channel.script z:/testdata/scripts/Te_SpudNetworkside_Channel.script
+../scripts/version1/TE_SpudNetworkside_Channel.script z:/testdata/scripts/te_spudnetworkside_channel.script
#else
// script files
../scripts/TE_spudNetworkSide.script z:/testdata/scripts/te_spudnetworkside.script
../scripts/TE_spudNetworkSide_nifman.script z:/testdata/scripts/te_spudnetworkside_nifman.script
../scripts/TE_PppSize_spud.script z:/testdata/scripts/te_pppsize_spud.script
-../scripts/TE_SpudNetworkside_Channel.script z:/testdata/scripts/Te_SpudNetworkside_Channel.script
+../scripts/TE_SpudNetworkside_Channel.script z:/testdata/scripts/te_spudnetworkside_channel.script
../scripts/TE_spudNetworkSide_R4_and_R5.script z:/testdata/scripts/te_spudnetworkside_r4_and_r5.script
#endif
@@ -59,7 +59,7 @@
../configs/version1/TE_PppSize_spud.xml z:/testdata/configs/te_pppsize_spud.xml
../configs/version1/TE_PppSize_config.txt z:/testdata/configs/te_pppsize_config.txt
-../configs/version1/TE_SpudNetworkSide_Channel_config.txt z:/testdata/configs/TE_SpudNetworkSide_Channel_config.txt
+../configs/version1/TE_SpudNetworkSide_Channel_config.txt z:/testdata/configs/te_spudnetworkside_channel_config.txt
// Some error codes are platsec dependent
../configs/version1/TE_SpudNetworkSide_9x.ini z:/testdata/configs/te_spudnetworkside_platsec.ini
@@ -81,7 +81,7 @@
../configs/TE_PppSize_spud.xml z:/testdata/configs/te_pppsize_spud.xml
../configs/TE_PppSize_config.txt z:/testdata/configs/te_pppsize_config.txt
-../configs/TE_SpudNetworkSide_Channel_config.txt z:/testdata/configs/TE_SpudNetworkSide_Channel_config.txt
+../configs/TE_SpudNetworkSide_Channel_config.txt z:/testdata/configs/te_spudnetworkside_channel_config.txt
// Some error codes are platsec dependent
../configs/TE_SpudNetworkSide_9x.ini z:/testdata/configs/te_spudnetworkside_platsec.ini
--- a/telephonyserverplugins/common_tsy/commontsy/inc/tflogger.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/tflogger.h Thu May 27 14:05:07 2010 +0300
@@ -31,7 +31,6 @@
// UDEB BUILD:
#define TF_LOGGING_METHOD 3 // 0 = No logging,
// 1 = Flogger,
- // 2 = RDebug
// 3 = CommsDebug
#endif
@@ -47,10 +46,6 @@
_LIT(KTfLogFolder,"TF");
_LIT(KTfLogFile,"TFLOG.TXT");
-#elif TF_LOGGING_METHOD == 2 // RDebug
-
-#include <e32svr.h>
-
#elif TF_LOGGING_METHOD == 3 // CommsDebug
#include <comms-infras/commsdebugutility.h>
@@ -77,15 +72,6 @@
#define TFLOGSTRING4(AAA,BBB,CCC,DDD) /*lint --e{717}, --e{1534} */ do { _LIT(tempLogDes,AAA); RFileLogger::WriteFormat(KTfLogFolder(),KTfLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempLogDes()),BBB,CCC,DDD); } while (0)
-#elif TF_LOGGING_METHOD == 2 // RDebug
-
-#define TFLOGTEXT(AAA) RDebug::Print(AAA)
-#define TFLOGSTRING(AAA) /*lint --e{717}, --e{1534} */ do { _LIT(tempLogDes,AAA); RDebug::Print(tempLogDes); } while (0)
-#define TFLOGSTRING2(AAA,BBB) /*lint --e{717}, --e{1534} */ do { _LIT(tempLogDes,AAA); RDebug::Print(tempLogDes, BBB); } while (0)
-#define TFLOGSTRING3(AAA,BBB,CCC) /*lint --e{717}, --e{1534} */ do { _LIT(tempLogDes,AAA); RDebug::Print(tempLogDes, BBB, CCC); } while (0)
-#define TFLOGSTRING4(AAA,BBB,CCC,DDD) /*lint --e{717}, --e{1534} */ do { _LIT(tempLogDes,AAA); RDebug::Print(tempLogDes, BBB, CCC, DDD); } while (0)
-
-
#elif TF_LOGGING_METHOD == 3 // CommsDebug
_LIT8(KTSYSubSystem, "tsy");
#ifdef TF_SAT_LOGGING
@@ -110,7 +96,7 @@
#endif // TF_LOGGING_METHOD
-#if TF_LOGGING_METHOD == 1 || TF_LOGGING_METHOD == 2
+#if TF_LOGGING_METHOD == 1
// Note, #x and __FILE__ must be stored to char string first, making them 16bit
// strings with _LIT will not work in all compilers.
@@ -130,7 +116,7 @@
#define TF_ASSERT(x)
#define TF_ASSERT_NOT_REACHED()
-#endif // TF_LOGGING_METHOD == 1 || TF_LOGGING_METHOD == 2
+#endif // TF_LOGGING_METHOD == 1
#endif // __TFLOGGER_H__
--- a/telephonyserverplugins/common_tsy/group/bld.inf Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/group/bld.inf Thu May 27 14:05:07 2010 +0300
@@ -108,8 +108,8 @@
// ConfML files
../conf/ctsy.confml OS_LAYER_EXPORTS_CONFML(ctsy.confml)
-../conf/ctsy_10282DFE.crml OS_LAYER_EXPORTS_CRML(ctsy_10282DFE.crml)
-../conf/ctsy_102029A2.crml OS_LAYER_EXPORTS_CRML(ctsy_102029A2.crml)
+../conf/ctsy_10282DFE.crml OS_LAYER_EXPORTS_CRML(ctsy_10282dfe.crml)
+../conf/ctsy_102029A2.crml OS_LAYER_EXPORTS_CRML(ctsy_102029a2.crml)
../conf/ctsy_10282826.crml OS_LAYER_EXPORTS_CRML(ctsy_10282826.crml)
../conf/ctsy_10282827.crml OS_LAYER_EXPORTS_CRML(ctsy_10282827.crml)
--- a/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsydll/group/bld.inf Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsydll/group/bld.inf Thu May 27 14:05:07 2010 +0300
@@ -14,8 +14,8 @@
//
PRJ_TESTEXPORTS
-../inc/rmockltsy.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(test/rmockltsy.h)
-../inc/tmockltsydata.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(test/tmockltsydata.h)
+../inc/rmockltsy.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/rmockltsy.h)
+../inc/tmockltsydata.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(test/tmockltsydata.h)
PRJ_TESTMMPFILES
mockltsydll.mmp
--- a/telephonyserverplugins/common_tsy/test/integration/group/bld.inf Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/group/bld.inf Thu May 27 14:05:07 2010 +0300
@@ -13,6 +13,9 @@
// Description:
//
+//To resolve RPS dependency for integration tests
+// RPS
+#include "../../RPS/group/bld.inf"
PRJ_EXPORTS
@@ -120,8 +123,6 @@
PRJ_TESTMMPFILES
-//To resolve RPS dependency for integration tests
-// RPS
-#include "../../RPS/group/bld.inf"
+
te_ctsyintegrationtestsuite.mmp
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestairtimeduration.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestairtimeduration.cpp Thu May 27 14:05:07 2010 +0300
@@ -103,12 +103,6 @@
//
// TEST START
//
-
- // Check RMobilePhone::GetAirTimeDuration returns duration == 0.
- TTimeIntervalSeconds timeBeforeDial;
- TTimeIntervalSeconds timeAfterDial;
- ASSERT_EQUALS(customApi.GetAirTimeDuration(timeBeforeDial), KErrNone, _L("RMmCustomAPI::GetAirTimeDuration returned with an error"))
- ASSERT_EQUALS(timeBeforeDial.Int(),0,_L("RMmCustomAPI::GetAirTimeDuration did not return zero time duration as expected"))
// Dial a number that answers.
TPtrC number;
@@ -120,14 +114,19 @@
ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"))
ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial returned with an error"))
+ // Note that the air time reported before dialing a call is the last call airtime
+ TTimeIntervalSeconds timeOne;
+ TTimeIntervalSeconds timeTwo;
+ ASSERT_EQUALS(customApi.GetAirTimeDuration(timeOne), KErrNone, _L("RMmCustomAPI::GetAirTimeDuration returned with an error"))
+
// Wait for two second and check RMobilePhone::GetAirTimeDuration returns duration > previous duration. Repeat for 20 seconds.
TInt count=1;
do
{
User::After(KOneSecond*2);
- ASSERT_EQUALS(customApi.GetAirTimeDuration(timeAfterDial), KErrNone, _L("RMmCustomAPI::GetAirTimeDuration returned with an error"))
- ASSERT_TRUE(timeAfterDial.Int()>timeBeforeDial.Int(),_L("RMmCustomAPI::GetAirTimeDuration did not return bigger time duration then the previous one"))
- timeBeforeDial=timeAfterDial;
+ ASSERT_EQUALS(customApi.GetAirTimeDuration(timeTwo), KErrNone, _L("RMmCustomAPI::GetAirTimeDuration returned with an error"))
+ ASSERT_TRUE(timeTwo.Int()>timeOne.Int(),_L("RMmCustomAPI::GetAirTimeDuration did not return bigger time duration then the previous one"))
+ timeOne=timeTwo;
count++;
}while(count!=10);
--- a/telephonyserverplugins/common_tsy/test/integration/src/comparisonfunctions.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/comparisonfunctions.cpp Thu May 27 14:05:07 2010 +0300
@@ -206,18 +206,28 @@
{
if(aLogError == ELogError)
{
+ TBuf<255> apn, username, password;
+ apn.Copy(iValue.iAccessPointName);
+ username.Copy(iValue.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iValue.iProtocolConfigOption.iAuthInfo.iPassword);
_LIT(KAssertRPacketContextErrorEqualsTextA,"FAILURE");
_LIT(KAssertRPacketContextErrorEqualsTextB," Got apn=%S,username=%S,password=%S");
_LIT(KAssertRPacketContextErrorEqualsTextC," Expected apn=%S,username=%S,password=%S");
ERR_PRINTF1(KAssertRPacketContextErrorEqualsTextA);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextB,
- &iValue.iAccessPointName,
- &iValue.iProtocolConfigOption.iAuthInfo.iUsername,
- &iValue.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
+ apn.SetLength(0);
+ username.SetLength(0);
+ password.SetLength(0);
+ apn.Copy(iExpected.iAccessPointName);
+ username.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextC,
- &iExpected.iAccessPointName,
- &iExpected.iProtocolConfigOption.iAuthInfo.iUsername,
- &iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
}
return EFalse;
}
@@ -246,18 +256,30 @@
{
if(aLogError == ELogError)
{
+ TBuf<255> apn, username, password;
+ apn.Copy(iValue.iAccessPointName);
+ username.Copy(iValue.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iValue.iProtocolConfigOption.iAuthInfo.iPassword);
+
_LIT(KAssertRPacketContextErrorEqualsTextA,"FAILURE");
_LIT(KAssertRPacketContextErrorEqualsTextB," Got apn=%S,username=%S,password=%S");
_LIT(KAssertRPacketContextErrorEqualsTextC," Expected apn=%S,username=%S,password=%S");
ERR_PRINTF1(KAssertRPacketContextErrorEqualsTextA);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextB,
- &iValue.iAccessPointName,
- &iValue.iProtocolConfigOption.iAuthInfo.iUsername,
- &iValue.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
+ apn.SetLength(0);
+ username.SetLength(0);
+ password.SetLength(0);
+ apn.Copy(iExpected.iAccessPointName);
+ username.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextC,
- &iExpected.iAccessPointName,
- &iExpected.iProtocolConfigOption.iAuthInfo.iUsername,
- &iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
+
}
return EFalse;
}
@@ -286,18 +308,28 @@
{
if(aLogError == ELogError)
{
+ TBuf<255> apn, username, password;
+ apn.Copy(iValue.iAccessPointName);
+ username.Copy(iValue.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iValue.iProtocolConfigOption.iAuthInfo.iPassword);
_LIT(KAssertRPacketContextErrorEqualsTextA,"FAILURE");
_LIT(KAssertRPacketContextErrorEqualsTextB," Got apn=%S,username=%S,password=%S");
_LIT(KAssertRPacketContextErrorEqualsTextC," Expected apn=%S,username=%S,password=%S");
ERR_PRINTF1(KAssertRPacketContextErrorEqualsTextA);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextB,
- &iValue.iAccessPointName,
- &iValue.iProtocolConfigOption.iAuthInfo.iUsername,
- &iValue.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
+ apn.SetLength(0);
+ username.SetLength(0);
+ password.SetLength(0);
+ apn.Copy(iExpected.iAccessPointName);
+ username.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iUsername);
+ password.Copy(iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
ERR_PRINTF4(KAssertRPacketContextErrorEqualsTextC,
- &iExpected.iAccessPointName,
- &iExpected.iProtocolConfigOption.iAuthInfo.iUsername,
- &iExpected.iProtocolConfigOption.iAuthInfo.iPassword);
+ &apn,
+ &username,
+ &password);
}
return EFalse;
}
--- a/telephonyserverplugins/common_tsy/test/integration/testdata/ctsyintegration_ntn_data.ini Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/testdata/ctsyintegration_ntn_data.ini Thu May 27 14:05:07 2010 +0300
@@ -156,5 +156,5 @@
PhoneLock=12345
[SIMParams]
-Puk1=
-Puk2=
+Puk1=11111111
+Puk2=22222222
--- a/telephonyserverplugins/ctsydispatchlayer/src/cphonebookdispatcher.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/src/cphonebookdispatcher.cpp Thu May 27 14:05:07 2010 +0300
@@ -1049,7 +1049,7 @@
* @param aPhonebook The phonebook to reset the cache for.
*/
{
- TSYLOGENTRYEXITARGS(_L8("aError=%d,aPhonebook=%d"), aError, aPhonebook);
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aPhonebook=%d"), aError, aPhonebook);
__ASSERT_DEBUG(aPhonebook != DispatcherPhonebook::EUnknown, CtsyDispatcherPanic(EInvalidParameter));
@@ -1071,8 +1071,8 @@
* @param aMaxNumberLength The maximum number length in the Fdn phonebook.
*/
{
- TSYLOGENTRYEXITARGS(_L8("aError=%d,aTotalEntries=%d,aMaxTextLength=%d,aMaxNumberLength=%d"),
- aError,aTotalEntries,aMaxTextLength,aMaxNumberLength);
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aTotalEntries=%d, aMaxTextLength=%d, aMaxNumberLength=%d"),
+ aError, aTotalEntries, aMaxTextLength, aMaxNumberLength);
TName phoneBookName(KETelIccFdnPhoneBook);
CPhoneBookDataPackage phoneBookDataPackage;
@@ -1104,7 +1104,7 @@
* @see CPhoneBookEntry::ExternalizeToTlvEntry()
*/
{
- TSYLOGENTRYEXITARGS(_L8("aError=%d,aPhonebook=%d"), aError, aPhonebook);
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aPhonebook=%d"), aError, aPhonebook);
__ASSERT_DEBUG(aPhonebook != DispatcherPhonebook::EUnknown, CtsyDispatcherPanic(EInvalidParameter));
@@ -1115,11 +1115,11 @@
if((aError == KErrNone) && (aPhonebook != DispatcherPhonebook::EUnknown))
{
- //fill the CTSY pointer
- CArrayPtrSeg<CPhoneBookStoreEntry>* readEntries = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>(1);
- iPhonebookReadPtrs[aPhonebook] = readEntries;
-
- TRAP(aError,FillCtsyPhoneBookStoreL(aPhonebookEntries,*(iPhonebookReadPtrs[aPhonebook])));
+ //fill the CTSY pointer
+ TRAP ( aError,
+ CArrayPtrSeg<CPhoneBookStoreEntry>* readEntries = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>(1);
+ iPhonebookReadPtrs[aPhonebook] = readEntries;
+ FillCtsyPhoneBookStoreL(aPhonebookEntries,*(iPhonebookReadPtrs[aPhonebook])));
}
CPhoneBookDataPackage phoneBookDataPackage;
@@ -1174,7 +1174,7 @@
* @see CPhoneBookEntry::ExternalizeToTlvEntry()
*/
{
- TSYLOGENTRYEXITARGS(_L8("aError=%d,aPhonebook=%d"), aError, aPhonebook);
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aPhonebook=%d"), aError, aPhonebook);
__ASSERT_DEBUG(aPhonebook != DispatcherPhonebook::EUnknown, CtsyDispatcherPanic(EInvalidParameter));
@@ -1185,10 +1185,10 @@
if((aError == KErrNone) && (aPhonebook != DispatcherPhonebook::EUnknown)/* && (iPhonebookCachePtrs[aPhonebook])*/)
{
- CArrayPtrSeg<CPhoneBookStoreEntry>* readEntries = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>(1);
- iPhonebookCachePtrs[aPhonebook] = readEntries;
-
- TRAP(aError,FillCtsyPhoneBookStoreL(aPhonebookEntries, *(iPhonebookCachePtrs[aPhonebook])));
+ TRAP(aError,
+ CArrayPtrSeg<CPhoneBookStoreEntry>* readEntries = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>(1);
+ iPhonebookCachePtrs[aPhonebook] = readEntries;
+ FillCtsyPhoneBookStoreL(aPhonebookEntries, *(iPhonebookCachePtrs[aPhonebook])));
if(aError)
{
@@ -1337,7 +1337,7 @@
* @see RMobilePhoneBookStore::Write()
*/
{
- TSYLOGENTRYEXITARGS(_L8("aError=%d,aPhonebook=%d,aIndex=%d,aMaxNumberLength=%d"), aError, aPhonebook, aIndex, aMaxNumberLength);
+ TSYLOGENTRYEXITARGS(_L8("aError=%d, aPhonebook=%d, aIndex=%d, aMaxNumberLength=%d"), aError, aPhonebook, aIndex, aMaxNumberLength);
__ASSERT_DEBUG(aPhonebook != DispatcherPhonebook::EUnknown, CtsyDispatcherPanic(EInvalidParameter));
--- a/telephonyserverplugins/simtsy/inc/CSimMbmsPacketContext.h Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/simtsy/inc/CSimMbmsPacketContext.h Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -196,7 +196,7 @@
TInt GetMbmsSessionsPhase2(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TDes8* aBufSize);
TInt GetMbmsSessionsCancel(const TTsyReqHandle aTsyReqHandle);
- TInt UpdateMbmsSessionListL(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TUint* aSessionId);
+ TInt UpdateMbmsSessionList(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TUint* aSessionId);
TInt UpdateMbmsSessionListCancel(const TTsyReqHandle aTsyReqHandle);
TInt InitialiseContext(const TTsyReqHandle aTsyReqHandle, TDes8* aDataChannelV2Pckg); // This method supersedes the LoanCommPort() and RecoverCommPort() methods.
--- a/telephonyserverplugins/simtsy/src/CSimMbmsPacketContext.cpp Fri May 14 17:02:16 2010 +0300
+++ b/telephonyserverplugins/simtsy/src/CSimMbmsPacketContext.cpp Thu May 27 14:05:07 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -477,7 +477,7 @@
return GetStatus(aTsyReqHandle,
REINTERPRET_CAST(RPacketContext::TContextStatus*, dataPtr));
case EPacketContextUpdateMbmsSessionList:
- return UpdateMbmsSessionListL(aTsyReqHandle,
+ return UpdateMbmsSessionList(aTsyReqHandle,
REINTERPRET_CAST(TMbmsAction*, dataPtr),
REINTERPRET_CAST(TUint*, dataPtr2));
case EPacketContextInitialiseContext:
@@ -1130,7 +1130,7 @@
return KErrNone;
}
-TInt CSimMbmsPacketContext::UpdateMbmsSessionListL(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TUint* aSessionId)
+TInt CSimMbmsPacketContext::UpdateMbmsSessionList(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TUint* aSessionId)
/**
* client's interest in updating the MBMS session's list.
* This is achieved by updating the list maintained internally by the context
@@ -1141,7 +1141,7 @@
* @return KErrNone
*/
{
- LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListL called");
+ LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList called");
TInt error=KErrNone;
iUpdateSessionHandle = aTsyReqHandle;
@@ -1151,29 +1151,34 @@
switch(*aAction)
{
case SIMTSY_PACKET_MBMS_ADD_ENTRIES:
- LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListL Action: ADD ");
- TRAP(error,iSessionIdList->AppendL(*aSessionId));
- if(error == KErrNone)
- {
- //iSessionIdList->At(0) = ++iNumOfSessionId;
- iSessionIdList->Delete(0);
- iSessionIdList->InsertL(0,++iNumOfSessionId);
- iMbmsUpdateSessionTimer->Start(RandTime(),this,ETimerIdMbmsUpdateSessionId);
- }
- else
+ LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: ADD ");
+
+ // TRAP can contain multiple statments
+ TRAP(error,iSessionIdList->AppendL(*aSessionId);
+ //iSessionIdList->At(0) = ++iNumOfSessionId;
+ iSessionIdList->Delete(0);
+ iSessionIdList->InsertL(0,++iNumOfSessionId));
+
+ iMbmsUpdateSessionTimer->Start(RandTime(),this,ETimerIdMbmsUpdateSessionId);
+
+ if(error != KErrNone)
{
ReqCompleted(iUpdateSessionHandle,error);
}
break;
case SIMTSY_PACKET_MBMS_REM_ENTRIES:
- LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListL Action: REMOVE ");
+ LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE ");
iSessionIdList->Find(*aSessionId,key,position);
if(position != -1)
{
iSessionIdList->Delete(position);
//iSessionIdList->At(0) = --iNumOfSessionId;
- iSessionIdList->InsertL(0,--iNumOfSessionId);
+ TRAP(error, iSessionIdList->InsertL(0,--iNumOfSessionId));
+ if(error != KErrNone)
+ {
+ ReqCompleted(iUpdateSessionHandle,error);
+ }
iMbmsUpdateSessionTimer->Start(RandTime(),this,ETimerIdMbmsUpdateSessionId);
}
else
@@ -1184,16 +1189,20 @@
break;
case SIMTSY_PACKET_MBMS_REM_ALL_ENTRIES:
- LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListL Action: REMOVE_ALL ");
+ LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE_ALL ");
iNumOfSessionId=0;
//iSessionIdList->At(0) = iNumOfSessionId;
- iSessionIdList->InsertL(0,iNumOfSessionId);
+ TRAP(error, iSessionIdList->InsertL(0,iNumOfSessionId));
+ if(error != KErrNone)
+ {
+ ReqCompleted(iUpdateSessionHandle,error);
+ }
iSessionIdList->Delete(1,iSessionIdList->Count()); // removing all session ids from the list
ReqCompleted(aTsyReqHandle, KErrNone);
break;
default:
- LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListL Action: Default ");
+ LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: Default ");
ReqCompleted(aTsyReqHandle,KErrNotFound);
break;
}