152 |
152 |
153 CGPRSProvision* gprsProvision = CGPRSProvision::NewLC(iapView); |
153 CGPRSProvision* gprsProvision = CGPRSProvision::NewLC(iapView); |
154 mec.AppendExtensionL(gprsProvision); |
154 mec.AppendExtensionL(gprsProvision); |
155 CleanupStack::Pop(gprsProvision); |
155 CleanupStack::Pop(gprsProvision); |
156 |
156 |
157 //It's legal for the qos defaults to be absent. |
157 //It's not legal for the qos defaults to be absent. |
158 //in this case they're going to be supplied by |
|
159 //GuQoS. |
|
160 CDefaultPacketQoSProvision* defaultQoS = NULL; |
158 CDefaultPacketQoSProvision* defaultQoS = NULL; |
161 TRAP_IGNORE(defaultQoS = CDefaultPacketQoSProvision::NewL(iapView)); |
159 TRAPD(ret, defaultQoS = CDefaultPacketQoSProvision::NewL(iapView)); |
162 if (defaultQoS) |
160 if ((KErrNone == ret) && defaultQoS) |
163 { |
161 { |
164 CleanupStack::PushL(defaultQoS); |
162 CleanupStack::PushL(defaultQoS); |
165 mec.AppendExtensionL(defaultQoS); |
163 mec.AppendExtensionL(defaultQoS); |
166 CleanupStack::Pop(defaultQoS); |
164 CleanupStack::Pop(defaultQoS); |
167 } |
165 } |
|
166 else |
|
167 { |
|
168 if (KErrNoMemory == ret) |
|
169 { |
|
170 User::Leave(KErrNoMemory); |
|
171 } |
|
172 else |
|
173 { |
|
174 User::Leave(KErrCorrupt); |
|
175 } |
|
176 } |
168 |
177 |
169 CRawIpAgentConfig* rawIpAgentConfig = CRawIpAgentConfig::NewLC(iapView, &gprsProvision->GetScratchContextAs<TPacketDataConfigBase>()); |
178 CRawIpAgentConfig* rawIpAgentConfig = CRawIpAgentConfig::NewLC(iapView, &gprsProvision->GetScratchContextAs<TPacketDataConfigBase>()); |
170 mec.AppendExtensionL(rawIpAgentConfig); |
179 mec.AppendExtensionL(rawIpAgentConfig); |
171 CleanupStack::Pop(); |
180 CleanupStack::Pop(); |
172 |
181 |