18 /** |
18 /** |
19 @file |
19 @file |
20 @internalComponent |
20 @internalComponent |
21 */ |
21 */ |
22 |
22 |
|
23 #include <etelqos.h> |
|
24 #include <comms-infras/agentmcpractivities.h> |
|
25 #include <comms-infras/coremcpractivities.h> |
|
26 #include <comms-infras/ss_msgintercept.h> |
|
27 #include <elements/nm_messages_errorrecovery.h> |
23 #include <comms-infras/ss_log.h> |
28 #include <comms-infras/ss_log.h> |
24 #include "pdpmcpr.h" |
29 #include "pdpmcpr.h" |
25 #include "pdpmcprstates.h" |
30 #include "pdpmcprstates.h" |
26 #include "PDPProvision.h" |
31 #include "PDPProvision.h" |
27 #include "psdavailabilitylistener.h" |
32 #include "psdavailabilitylistener.h" |
28 #include <comms-infras/agentmcpractivities.h> |
|
29 #include <comms-infras/coremcpractivities.h> |
|
30 #include <comms-infras/ss_msgintercept.h> |
|
31 #include <elements/nm_messages_errorrecovery.h> |
|
32 |
33 |
33 using namespace Messages; |
34 using namespace Messages; |
34 using namespace MeshMachine; |
35 using namespace MeshMachine; |
35 using namespace ESock; |
36 using namespace ESock; |
36 using namespace NetStateMachine; |
37 using namespace NetStateMachine; |
151 |
152 |
152 CGPRSProvision* gprsProvision = CGPRSProvision::NewLC(iapView); |
153 CGPRSProvision* gprsProvision = CGPRSProvision::NewLC(iapView); |
153 mec.AppendExtensionL(gprsProvision); |
154 mec.AppendExtensionL(gprsProvision); |
154 CleanupStack::Pop(gprsProvision); |
155 CleanupStack::Pop(gprsProvision); |
155 |
156 |
156 //It's legal for the qos defaults to be absent. |
157 //It's not legal for the qos defaults to be absent. |
157 //in this case they're going to be supplied by |
|
158 //GuQoS. |
|
159 CDefaultPacketQoSProvision* defaultQoS = NULL; |
158 CDefaultPacketQoSProvision* defaultQoS = NULL; |
160 TRAP_IGNORE(defaultQoS = CDefaultPacketQoSProvision::NewL(iapView)); |
159 TRAPD(ret, defaultQoS = CDefaultPacketQoSProvision::NewL(iapView)); |
161 if (defaultQoS) |
160 if ((KErrNone == ret) && defaultQoS) |
162 { |
161 { |
163 CleanupStack::PushL(defaultQoS); |
162 CleanupStack::PushL(defaultQoS); |
164 mec.AppendExtensionL(defaultQoS); |
163 mec.AppendExtensionL(defaultQoS); |
165 CleanupStack::Pop(defaultQoS); |
164 CleanupStack::Pop(defaultQoS); |
166 } |
165 } |
|
166 else |
|
167 { |
|
168 if (KErrNoMemory == ret) |
|
169 { |
|
170 User::Leave(KErrNoMemory); |
|
171 } |
|
172 else |
|
173 { |
|
174 User::Leave(KErrCorrupt); |
|
175 } |
|
176 } |
167 |
177 |
168 CRawIpAgentConfig* rawIpAgentConfig = CRawIpAgentConfig::NewLC(iapView, &gprsProvision->GetScratchContextAs<TPacketDataConfigBase>()); |
178 CRawIpAgentConfig* rawIpAgentConfig = CRawIpAgentConfig::NewLC(iapView, &gprsProvision->GetScratchContextAs<TPacketDataConfigBase>()); |
169 mec.AppendExtensionL(rawIpAgentConfig); |
179 mec.AppendExtensionL(rawIpAgentConfig); |
170 CleanupStack::Pop(); |
180 CleanupStack::Pop(); |
171 |
181 |