44 @param aContext - pdp context |
38 @param aContext - pdp context |
45 @param aStatus - request status of this step |
39 @param aStatus - request status of this step |
46 */ |
40 */ |
47 void TOpenStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
41 void TOpenStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
48 { |
42 { |
49 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_1, "TOpenStrategy::Next()"); |
43 SPUDTEL_FNLOG("TOpenStrategy::Next()"); |
50 |
44 |
51 TInt err = KErrNone; |
45 TInt err = KErrNone; |
52 |
46 |
53 switch(aContext.StrategyStep()) |
47 switch(aContext.StrategyStep()) |
54 { |
48 { |
89 */ |
83 */ |
90 void TOpenStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
84 void TOpenStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
91 { |
85 { |
92 if(aCompletionStatus == KErrNone) |
86 if(aCompletionStatus == KErrNone) |
93 { |
87 { |
94 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NOTIFYFSM_1, "Notifying FSM: EPhoneOpened"); |
88 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPhoneOpened")); |
95 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPhoneOpened); |
89 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPhoneOpened); |
96 } |
90 } |
97 else |
91 else |
98 { |
92 { |
99 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NOTIFYFSM_2, "Notifying FSM: EPhoneOpenedFailed"); |
93 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPhoneOpenedFailed")); |
100 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPhoneOpenedFailed, aCompletionStatus.Int()); |
94 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPhoneOpenedFailed, aCompletionStatus.Int()); |
101 } |
95 } |
102 } |
96 } |
103 |
97 |
104 /** Cancels last asynchronous request to eTel |
98 /** Cancels last asynchronous request to eTel |
109 { |
103 { |
110 switch(aContext.StrategyStep()) |
104 switch(aContext.StrategyStep()) |
111 { |
105 { |
112 case EInitPhoneStep: |
106 case EInitPhoneStep: |
113 { |
107 { |
114 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_CANCELASYNCREQUEST_1, "Cancel Phone::InitialiseCancel"); |
108 SPUDTEL_INFO_LOG(_L("Cancel Phone::InitialiseCancel")); |
115 aContext.Phone().InitialiseCancel(); |
109 aContext.Phone().InitialiseCancel(); |
116 break; |
110 break; |
117 } |
111 } |
118 |
112 |
119 default: |
113 default: |
120 // there're NO outstanding async requests |
114 // there're NO outstanding async requests |
121 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_CANCELASYNCREQUEST_2, "ERROR: Incorrect case in TOpenStrategy::CancelAsyncRequest"); |
115 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TOpenStrategy::CancelAsyncRequest")); |
122 ASSERT(EFalse); |
116 ASSERT(EFalse); |
123 break; |
117 break; |
124 } |
118 } |
125 } |
119 } |
126 |
120 |
133 @param aContext - pdp context |
127 @param aContext - pdp context |
134 @param aStatus - request status of this step |
128 @param aStatus - request status of this step |
135 */ |
129 */ |
136 void TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
130 void TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
137 { |
131 { |
138 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_1, "TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)"); |
132 SPUDTEL_FNLOG("TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)"); |
139 |
133 |
140 TInt err = KErrNone; |
134 TInt err = KErrNone; |
141 |
135 |
142 // steps: |
136 // steps: |
143 // -- cancel notifications |
137 // -- cancel notifications |
266 { |
260 { |
267 aContext.PdpFsmInterface().Set(aContext.Id(), RPacketContext::EStatusDeleted); |
261 aContext.PdpFsmInterface().Set(aContext.Id(), RPacketContext::EStatusDeleted); |
268 |
262 |
269 if(aCompletionStatus == KErrNone) |
263 if(aCompletionStatus == KErrNone) |
270 { |
264 { |
271 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NOTIFYFSM_1, "Notifying FSM: EContextDeleted"); |
265 SPUDTEL_INFO_LOG(_L("Notifying FSM: EContextDeleted")); |
272 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EContextDeleted); |
266 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EContextDeleted); |
273 } |
267 } |
274 else |
268 else |
275 { |
269 { |
276 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NOTIFYFSM_2, "Notifying FSM: EContextDeletedFailed"); |
270 SPUDTEL_INFO_LOG(_L("Notifying FSM: EContextDeletedFailed")); |
277 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EContextDeletedFailed, aCompletionStatus.Int()); |
271 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EContextDeletedFailed, aCompletionStatus.Int()); |
278 } |
272 } |
279 } |
273 } |
280 |
274 |
281 /** Cancels last asynchronous request to eTel |
275 /** Cancels last asynchronous request to eTel |
282 |
276 |
283 @param aContext - pdp context |
277 @param aContext - pdp context |
284 */ |
278 */ |
285 void TContextDeleteStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
279 void TContextDeleteStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
286 { |
280 { |
287 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_CANCELASYNCREQUEST_1, "TContextDeleteStrategy::CancelAsyncRequest()"); |
281 SPUDTEL_FNLOG("TContextDeleteStrategy::CancelAsyncRequest()"); |
288 |
282 |
289 // When there is no sub-session, the strategy will not call DeactivateContext, but will be in the EDeactivateStep state |
283 // When there is no sub-session, the strategy will not call DeactivateContext, but will be in the EDeactivateStep state |
290 // In this case we don't want to cancel the deactivate request |
284 // In this case we don't want to cancel the deactivate request |
291 if (aContext.iStatus != KRequestPending) |
285 if (aContext.iStatus != KRequestPending) |
292 { |
286 { |
295 |
289 |
296 switch(aContext.StrategyStep()) |
290 switch(aContext.StrategyStep()) |
297 { |
291 { |
298 case EDeactivateStep: |
292 case EDeactivateStep: |
299 { |
293 { |
300 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketContext::EPacketContextDeactivate"); |
294 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextDeactivate")); |
301 aContext.PacketContext().CancelAsyncRequest(EPacketContextDeactivate); |
295 aContext.PacketContext().CancelAsyncRequest(EPacketContextDeactivate); |
302 break; |
296 break; |
303 } |
297 } |
304 |
298 |
305 case EDeleteContextStep: |
299 case EDeleteContextStep: |
306 { |
300 { |
307 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_CANCELASYNCREQUEST_3, "Cancel PacketContext::EPacketContextDelete"); |
301 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextDelete")); |
308 aContext.PacketContext().CancelAsyncRequest(EPacketContextDelete); |
302 aContext.PacketContext().CancelAsyncRequest(EPacketContextDelete); |
309 break; |
303 break; |
310 } |
304 } |
311 |
305 |
312 default: |
306 default: |
313 // there're NO outstanding async requests |
307 // there're NO outstanding async requests |
314 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_CANCELASYNCREQUEST_4, "ERROR: Incorrect case"); |
308 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
315 ASSERT(EFalse); |
309 ASSERT(EFalse); |
316 break; |
310 break; |
317 } |
311 } |
318 } |
312 } |
319 |
313 |
326 @param aContext - pdp context |
320 @param aContext - pdp context |
327 @param aStatus - request status of this step |
321 @param aStatus - request status of this step |
328 */ |
322 */ |
329 void TCreate1ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
323 void TCreate1ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
330 { |
324 { |
331 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate1ryPdpContextStrategy::Next()"); |
325 SPUDTEL_FNLOG("TCreate1ryPdpContextStrategy::Next()"); |
332 |
326 |
333 TInt err = KErrNone; |
327 TInt err = KErrNone; |
334 |
328 |
335 // possible steps: |
329 // possible steps: |
336 // -- open new context |
330 // -- open new context |
341 case EStartStep: |
335 case EStartStep: |
342 { |
336 { |
343 err = aContext.PacketContext().OpenNewContext (aContext.PacketService(), aContext.Name()); |
337 err = aContext.PacketContext().OpenNewContext (aContext.PacketService(), aContext.Name()); |
344 if (err) |
338 if (err) |
345 { |
339 { |
346 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_2, "PacketContextOpenNewContext returned %d", err); |
340 SPUDTEL_ERROR_LOG(_L("PacketContextOpenNewContext returned %d"), err); |
347 break; |
341 break; |
348 } |
342 } |
349 |
343 |
350 aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg()); |
344 aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg()); |
351 aContext.SetStrategyStep (EInitialiseContextStep); |
345 aContext.SetStrategyStep (EInitialiseContextStep); |
368 // QoS name is not used anywhere |
362 // QoS name is not used anywhere |
369 TName newName; |
363 TName newName; |
370 err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName); |
364 err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName); |
371 if (err) |
365 if (err) |
372 { |
366 { |
373 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_3, "PacketQoS OpenNewQoS returned %d", err); |
367 SPUDTEL_ERROR_LOG(_L("PacketQoS OpenNewQoS returned %d"), err); |
374 break; |
368 break; |
375 } |
369 } |
376 |
370 |
377 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
371 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
378 RPacketQoS::TQoSR5Requested r5; |
372 RPacketQoS::TQoSR5Requested r5; |
423 */ |
417 */ |
424 void TCreate1ryPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
418 void TCreate1ryPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
425 { |
419 { |
426 if(aCompletionStatus == KErrNone) |
420 if(aCompletionStatus == KErrNone) |
427 { |
421 { |
428 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NOTIFYFSM_1, "Notifying FSM: E1ryPdpContextCreated"); |
422 SPUDTEL_INFO_LOG(_L("Notifying FSM: E1ryPdpContextCreated")); |
429 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E1ryPdpContextCreated); |
423 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E1ryPdpContextCreated); |
430 } |
424 } |
431 else |
425 else |
432 { |
426 { |
433 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NOTIFYFSM_2, "Notifying FSM: E1ryPdpContextCreatedFailed"); |
427 SPUDTEL_INFO_LOG(_L("Notifying FSM: E1ryPdpContextCreatedFailed")); |
434 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E1ryPdpContextCreatedFailed, aCompletionStatus.Int()); |
428 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E1ryPdpContextCreatedFailed, aCompletionStatus.Int()); |
435 } |
429 } |
436 } |
430 } |
437 |
431 |
438 /** Cancels last asynchronous request to eTel |
432 /** Cancels last asynchronous request to eTel |
439 |
433 |
440 @param aContext - pdp context |
434 @param aContext - pdp context |
441 */ |
435 */ |
442 void TCreate1ryPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
436 void TCreate1ryPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
443 { |
437 { |
444 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_1, "TCreate1ryPdpContextStrategy::CancelAsyncRequest()"); |
438 SPUDTEL_FNLOG("TCreate1ryPdpContextStrategy::CancelAsyncRequest()"); |
445 |
439 |
446 switch(aContext.StrategyStep()) |
440 switch(aContext.StrategyStep()) |
447 { |
441 { |
448 case ESetConfigStep: |
442 case ESetConfigStep: |
449 { |
443 { |
450 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketContext::EPacketContextSetConfig"); |
444 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextSetConfig")); |
451 aContext.PacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
445 aContext.PacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
452 break; |
446 break; |
453 } |
447 } |
454 |
448 |
455 case ESetProfileParamsStep: |
449 case ESetProfileParamsStep: |
456 { |
450 { |
457 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_3, "Cancel PacketContext::EPacketQoSSetProfileParams"); |
451 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketQoSSetProfileParams")); |
458 aContext.PacketQoS().CancelAsyncRequest(EPacketQoSSetProfileParams); |
452 aContext.PacketQoS().CancelAsyncRequest(EPacketQoSSetProfileParams); |
459 break; |
453 break; |
460 } |
454 } |
461 |
455 |
462 case EInitialiseContextStep: |
456 case EInitialiseContextStep: |
463 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_4, "Cancel PacketContext::EPacketContextInitialiseContext"); |
457 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextInitialiseContext")); |
464 aContext.PacketContext().CancelAsyncRequest(EPacketContextInitialiseContext); |
458 aContext.PacketContext().CancelAsyncRequest(EPacketContextInitialiseContext); |
465 break; |
459 break; |
466 |
460 |
467 default: |
461 default: |
468 // there're NO outstanding async requests |
462 // there're NO outstanding async requests |
469 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_5, "ERROR: Incorrect case"); |
463 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
470 ASSERT(EFalse); |
464 ASSERT(EFalse); |
471 break; |
465 break; |
472 } |
466 } |
473 } |
467 } |
474 |
468 |
481 @param aContext - pdp context |
475 @param aContext - pdp context |
482 @param aStatus - request status of this step |
476 @param aStatus - request status of this step |
483 */ |
477 */ |
484 void TCreate2ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
478 void TCreate2ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
485 { |
479 { |
486 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate2ryPdpContextStrategy::Next()"); |
480 SPUDTEL_FNLOG("TCreate2ryPdpContextStrategy::Next()"); |
487 |
481 |
488 TInt err = KErrNone; |
482 TInt err = KErrNone; |
489 |
483 |
490 // possible steps: |
484 // possible steps: |
491 // -- open new secondary context |
485 // -- open new secondary context |
506 // QoS name is not used anywhere |
500 // QoS name is not used anywhere |
507 TName newName; |
501 TName newName; |
508 err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName); |
502 err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName); |
509 if (err) |
503 if (err) |
510 { |
504 { |
511 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_2, "PacketQoS OpenNewQoS returned %d", err); |
505 SPUDTEL_ERROR_LOG(_L("PacketQoS OpenNewQoS returned %d"), err); |
512 break; |
506 break; |
513 } |
507 } |
514 aContext.SetStrategyStep (EFinishStep); |
508 aContext.SetStrategyStep (EFinishStep); |
515 break; |
509 break; |
516 } |
510 } |
517 |
511 |
518 default: |
512 default: |
519 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_3, "ERROR: Incorrect case"); |
513 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
520 ASSERT(EFalse); |
514 ASSERT(EFalse); |
521 err = KErrNotSupported; |
515 err = KErrNotSupported; |
522 break; |
516 break; |
523 } |
517 } |
524 |
518 |
538 */ |
532 */ |
539 void TCreate2ryPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
533 void TCreate2ryPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
540 { |
534 { |
541 if(aCompletionStatus == KErrNone) |
535 if(aCompletionStatus == KErrNone) |
542 { |
536 { |
543 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NOTIFYFSM_1, "Notifying FSM: E2ryPdpContextCreated"); |
537 SPUDTEL_INFO_LOG(_L("Notifying FSM: E2ryPdpContextCreated")); |
544 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E2ryPdpContextCreated); |
538 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E2ryPdpContextCreated); |
545 } |
539 } |
546 else |
540 else |
547 { |
541 { |
548 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NOTIFYFSM_2, "Notifying FSM: E2ryPdpContextCreatedFailed"); |
542 SPUDTEL_INFO_LOG(_L("Notifying FSM: E2ryPdpContextCreatedFailed")); |
549 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E2ryPdpContextCreatedFailed, aCompletionStatus.Int()); |
543 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::E2ryPdpContextCreatedFailed, aCompletionStatus.Int()); |
550 } |
544 } |
551 } |
545 } |
552 |
546 |
553 /** Cancels last asynchronous request to eTel |
547 /** Cancels last asynchronous request to eTel |
554 |
548 |
555 @param aContext - pdp context |
549 @param aContext - pdp context |
556 */ |
550 */ |
557 void TCreate2ryPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& /*aContext*/) |
551 void TCreate2ryPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& /*aContext*/) |
558 { |
552 { |
559 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_1, "TCreate2ryPdpContextStrategy::CancelAsyncRequest()"); |
553 SPUDTEL_FNLOG("TCreate2ryPdpContextStrategy::CancelAsyncRequest()"); |
560 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_2, "ERROR: No outstanding requests"); |
554 SPUDTEL_ERROR_LOG0(_L("ERROR: No outstanding requests")); |
561 } |
555 } |
562 |
556 |
563 |
557 |
564 // |
558 // |
565 // TSetQoSStrategy |
559 // TSetQoSStrategy |
569 @param aContext - pdp context |
563 @param aContext - pdp context |
570 @param aStatus - request status of this step |
564 @param aStatus - request status of this step |
571 */ |
565 */ |
572 void TSetQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
566 void TSetQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
573 { |
567 { |
574 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_1, "TSetQoSStrategy::Next()"); |
568 SPUDTEL_FNLOG("TSetQoSStrategy::Next()"); |
575 |
569 |
576 TInt err = KErrNone; |
570 TInt err = KErrNone; |
577 |
571 |
578 // possible steps: |
572 // possible steps: |
579 // -- set QoS profile parameters |
573 // -- set QoS profile parameters |
590 |
584 |
591 aContext.PdpFsmInterface().Get (aContext.Id(), req); |
585 aContext.PdpFsmInterface().Get (aContext.Id(), req); |
592 aContext.QosRequested() = req; |
586 aContext.QosRequested() = req; |
593 |
587 |
594 |
588 |
595 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG) |
589 #ifdef _DEBUG |
596 aContext.DumpReqProfileParameters (); |
590 aContext.DumpReqProfileParameters (); |
597 #endif |
591 #endif |
598 aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg()); |
592 aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg()); |
599 aContext.SetStrategyStep (ESetProfileParamsStep); |
593 aContext.SetStrategyStep (ESetProfileParamsStep); |
600 break; |
594 break; |
630 */ |
624 */ |
631 void TSetQoSStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
625 void TSetQoSStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
632 { |
626 { |
633 if(aCompletionStatus == KErrNone) |
627 if(aCompletionStatus == KErrNone) |
634 { |
628 { |
635 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NOTIFYFSM_1, "Notifying FSM: EQoSSet"); |
629 SPUDTEL_INFO_LOG(_L("Notifying FSM: EQoSSet")); |
636 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EQoSSet); |
630 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EQoSSet); |
637 } |
631 } |
638 else |
632 else |
639 { |
633 { |
640 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NOTIFYFSM_2, "Notifying FSM: EQoSSetFailed"); |
634 SPUDTEL_INFO_LOG(_L("Notifying FSM: EQoSSetFailed")); |
641 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EQoSSetFailed, aCompletionStatus.Int()); |
635 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EQoSSetFailed, aCompletionStatus.Int()); |
642 } |
636 } |
643 } |
637 } |
644 |
638 |
645 /** Cancels last asynchronous request to eTel |
639 /** Cancels last asynchronous request to eTel |
651 switch(aContext.StrategyStep()) |
645 switch(aContext.StrategyStep()) |
652 { |
646 { |
653 case ESetProfileParamsStep: |
647 case ESetProfileParamsStep: |
654 { |
648 { |
655 aContext.PacketQoS().CancelAsyncRequest(EPacketQoSSetProfileParams); |
649 aContext.PacketQoS().CancelAsyncRequest(EPacketQoSSetProfileParams); |
656 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketQoS::EPacketQoSSetProfileParams"); |
650 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketQoSSetProfileParams")); |
657 break; |
651 break; |
658 } |
652 } |
659 |
653 |
660 default: |
654 default: |
661 // there're NO outstanding async requests |
655 // there're NO outstanding async requests |
662 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_CANCELASYNCREQUEST_2, "ERROR: Incorrect case in TSetQoSStrategy::CancelAsyncRequest"); |
656 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TSetQoSStrategy::CancelAsyncRequest")); |
663 ASSERT(EFalse); |
657 ASSERT(EFalse); |
664 break; |
658 break; |
665 } |
659 } |
666 } |
660 } |
667 |
661 |
689 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode()); |
683 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode()); |
690 switch(aContext.TftOperationCode()) |
684 switch(aContext.TftOperationCode()) |
691 { |
685 { |
692 case KAddFilters: |
686 case KAddFilters: |
693 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
687 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
694 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_2, "TftOperationCode - Add Filters %d", aContext.TftInfo().FilterCount()); |
688 SPUDTELVERBOSE_INFO_LOG1(_L("TftOperationCode - Add Filters"), aContext.TftInfo().FilterCount()); |
695 // Set strategy assumes that TFT has to be created on a first place |
689 // Set strategy assumes that TFT has to be created on a first place |
696 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_3, "Creating TFT..."); |
690 SPUDTELVERBOSE_INFO_LOG(_L("Creating TFT...")); |
697 if (aContext.ContextType() != SpudMan::EMbms) |
691 if (aContext.ContextType() != SpudMan::EMbms) |
698 { |
692 { |
699 aContext.PacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount()); |
693 aContext.PacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount()); |
700 } |
694 } |
701 else |
695 else |
705 aContext.SetStrategyStep (ECreateNewTFTStep); |
699 aContext.SetStrategyStep (ECreateNewTFTStep); |
706 break; |
700 break; |
707 |
701 |
708 case KRemoveFilters: |
702 case KRemoveFilters: |
709 err = KErrNotSupported; |
703 err = KErrNotSupported; |
710 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_4, "TftOperationCode - Remove is not supported in a Set strategy, return %d", err); |
704 SPUDTEL_ERROR_LOG(_L("TftOperationCode - Remove is not supported in a Set strategy, return %d"), err); |
711 break; |
705 break; |
712 |
706 |
713 case KDeleteTFT: |
707 case KDeleteTFT: |
714 err = KErrNotSupported; |
708 err = KErrNotSupported; |
715 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_5, "TftOperationCode - Delete is not supported in a Set strategy, return %d", err); |
709 SPUDTEL_ERROR_LOG(_L("TftOperationCode - Delete is not supported in a Set strategy, return %d"), err); |
716 break; |
710 break; |
717 |
711 |
718 default: |
712 default: |
719 // wrong case |
713 // wrong case |
720 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_6, "ERROR: Incorrect case"); |
714 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
721 ASSERT(EFalse); |
715 ASSERT(EFalse); |
722 err = KErrNotSupported; |
716 err = KErrNotSupported; |
723 break; |
717 break; |
724 } |
718 } |
725 break; |
719 break; |
798 */ |
792 */ |
799 void TSetTftStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
793 void TSetTftStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
800 { |
794 { |
801 if(aCompletionStatus == KErrNone) |
795 if(aCompletionStatus == KErrNone) |
802 { |
796 { |
803 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NOTIFYFSM_1, "Notifying FSM: ETftSet"); |
797 SPUDTEL_INFO_LOG(_L("Notifying FSM: ETftSet")); |
804 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftSet); |
798 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftSet); |
805 } |
799 } |
806 else |
800 else |
807 { |
801 { |
808 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NOTIFYFSM_2, "Notifying FSM: ETftSetFailed"); |
802 SPUDTEL_INFO_LOG(_L("Notifying FSM: ETftSetFailed")); |
809 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftSetFailed, aCompletionStatus.Int()); |
803 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftSetFailed, aCompletionStatus.Int()); |
810 } |
804 } |
811 } |
805 } |
812 |
806 |
813 /** Cancels last asynchronous request to eTel |
807 /** Cancels last asynchronous request to eTel |
819 switch(aContext.StrategyStep()) |
813 switch(aContext.StrategyStep()) |
820 { |
814 { |
821 case ECreateNewTFTStep: |
815 case ECreateNewTFTStep: |
822 { |
816 { |
823 aContext.PacketQoS().CancelAsyncRequest(EPacketContextCreateNewTFT); |
817 aContext.PacketQoS().CancelAsyncRequest(EPacketContextCreateNewTFT); |
824 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketQoS::EPacketContextCreateNewTFT"); |
818 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketContextCreateNewTFT")); |
825 break; |
819 break; |
826 } |
820 } |
827 |
821 |
828 case EAddTftStep: |
822 case EAddTftStep: |
829 { |
823 { |
830 aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilter); |
824 aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilter); |
831 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketQoS::EPacketContextAddPacketFilter"); |
825 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketContextAddPacketFilter")); |
832 break; |
826 break; |
833 } |
827 } |
834 |
828 |
835 default: |
829 default: |
836 // unexpected |
830 // unexpected |
837 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_3, "ERROR: Incorrect case in TSetTftStrategy::CancelAsyncRequest"); |
831 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TSetTftStrategy::CancelAsyncRequest")); |
838 ASSERT(EFalse); |
832 ASSERT(EFalse); |
839 break; |
833 break; |
840 } |
834 } |
841 } |
835 } |
842 |
836 |
849 @param aContext - pdp context |
843 @param aContext - pdp context |
850 @param aStatus - request status of this step |
844 @param aStatus - request status of this step |
851 */ |
845 */ |
852 void TChangeTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
846 void TChangeTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
853 { |
847 { |
854 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_1, "TChangeTftStrategy::Next()"); |
848 SPUDTEL_FNLOG("TChangeTftStrategy::Next()"); |
855 |
849 |
856 TInt err = KErrNone; |
850 TInt err = KErrNone; |
857 |
851 |
858 // special case. |
852 // special case. |
859 if(EStartStep == aContext.StrategyStep()) |
853 if(EStartStep == aContext.StrategyStep()) |
861 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode()); |
855 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode()); |
862 switch(aContext.TftOperationCode()) |
856 switch(aContext.TftOperationCode()) |
863 { |
857 { |
864 case KAddFilters: |
858 case KAddFilters: |
865 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
859 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
866 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_2, "TftOperationCode - Add Filters %d", aContext.TftInfo().FilterCount()); |
860 SPUDTELVERBOSE_INFO_LOG1(_L("TftOperationCode - Add Filters"), aContext.TftInfo().FilterCount()); |
867 aContext.SetStrategyStep (EAddFirstTftStep); |
861 aContext.SetStrategyStep (EAddFirstTftStep); |
868 break; |
862 break; |
869 |
863 |
870 case KRemoveFilters: |
864 case KRemoveFilters: |
871 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
865 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo()); |
872 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_3, "TftOperationCode - Remove %d Filters", aContext.TftInfo().FilterCount()); |
866 SPUDTELVERBOSE_INFO_LOG1(_L("TftOperationCode - Remove %d Filters"), aContext.TftInfo().FilterCount()); |
873 aContext.SetStrategyStep (ERemoveFirstTftStep); |
867 aContext.SetStrategyStep (ERemoveFirstTftStep); |
874 break; |
868 break; |
875 |
869 |
876 case KDeleteTFT: |
870 case KDeleteTFT: |
877 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_4, "TftOperationCode - Delete TFT"); |
871 SPUDTELVERBOSE_INFO_LOG(_L("TftOperationCode - Delete TFT")); |
878 // delete old TFT |
872 // delete old TFT |
879 aContext.PacketContext().DeleteTFT(*aStatus); |
873 aContext.PacketContext().DeleteTFT(*aStatus); |
880 aContext.SetStrategyStep (EDeleteTftStep); |
874 aContext.SetStrategyStep (EDeleteTftStep); |
881 // DeleteTFT() ia an async operation => return |
875 // DeleteTFT() ia an async operation => return |
882 return; |
876 return; |
883 |
877 |
884 default: |
878 default: |
885 // wrong case |
879 // wrong case |
886 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_5, "ERROR: Incorrect case"); |
880 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
887 ASSERT(EFalse); |
881 ASSERT(EFalse); |
888 err = KErrNotSupported; |
882 err = KErrNotSupported; |
889 break; |
883 break; |
890 } |
884 } |
891 } |
885 } |
1033 */ |
1027 */ |
1034 void TChangeTftStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1028 void TChangeTftStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1035 { |
1029 { |
1036 if(aCompletionStatus == KErrNone) |
1030 if(aCompletionStatus == KErrNone) |
1037 { |
1031 { |
1038 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NOTIFYFSM_1, "Notifying FSM: ETftChanged"); |
1032 SPUDTEL_INFO_LOG(_L("Notifying FSM: ETftChanged")); |
1039 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftChanged); |
1033 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftChanged); |
1040 } |
1034 } |
1041 else |
1035 else |
1042 { |
1036 { |
1043 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NOTIFYFSM_2, "Notifying FSM: ETftChangedFailed"); |
1037 SPUDTEL_INFO_LOG(_L("Notifying FSM: ETftChangedFailed")); |
1044 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftChangedFailed, aCompletionStatus.Int()); |
1038 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::ETftChangedFailed, aCompletionStatus.Int()); |
1045 } |
1039 } |
1046 } |
1040 } |
1047 |
1041 |
1048 /** Cancels last asynchronous request to eTel |
1042 /** Cancels last asynchronous request to eTel |
1053 { |
1047 { |
1054 switch(aContext.StrategyStep()) |
1048 switch(aContext.StrategyStep()) |
1055 { |
1049 { |
1056 case EDeleteTftStep: |
1050 case EDeleteTftStep: |
1057 { |
1051 { |
1058 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketQoS::EPacketContextDeleteTFTCancel"); |
1052 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketContextDeleteTFTCancel")); |
1059 aContext.PacketQoS().CancelAsyncRequest(EPacketContextDeleteTFTCancel); |
1053 aContext.PacketQoS().CancelAsyncRequest(EPacketContextDeleteTFTCancel); |
1060 break; |
1054 break; |
1061 } |
1055 } |
1062 |
1056 |
1063 case ERemoveTftStep: |
1057 case ERemoveTftStep: |
1064 { |
1058 { |
1065 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketQoS::EPacketContextRemovePacketFilterCancel"); |
1059 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketContextRemovePacketFilterCancel")); |
1066 aContext.PacketQoS().CancelAsyncRequest(EPacketContextRemovePacketFilterCancel); |
1060 aContext.PacketQoS().CancelAsyncRequest(EPacketContextRemovePacketFilterCancel); |
1067 break; |
1061 break; |
1068 } |
1062 } |
1069 |
1063 |
1070 case EAddTftStep: |
1064 case EAddTftStep: |
1071 { |
1065 { |
1072 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_CANCELASYNCREQUEST_3, "Cancel PacketQoS::EPacketContextAddPacketFilter"); |
1066 SPUDTEL_INFO_LOG(_L("Cancel PacketQoS::EPacketContextAddPacketFilter")); |
1073 aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilterCancel); |
1067 aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilterCancel); |
1074 break; |
1068 break; |
1075 } |
1069 } |
1076 |
1070 |
1077 default: |
1071 default: |
1078 // unexpected |
1072 // unexpected |
1079 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_CANCELASYNCREQUEST_4, "ERROR: Incorrect case in TChangeTftStrategy::CancelAsyncRequest"); |
1073 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TChangeTftStrategy::CancelAsyncRequest")); |
1080 ASSERT(EFalse); |
1074 ASSERT(EFalse); |
1081 break; |
1075 break; |
1082 } |
1076 } |
1083 } |
1077 } |
1084 |
1078 |
1091 @param aContext - pdp context |
1085 @param aContext - pdp context |
1092 @param aStatus - request status of this step |
1086 @param aStatus - request status of this step |
1093 */ |
1087 */ |
1094 void TActivatePdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1088 void TActivatePdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1095 { |
1089 { |
1096 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next()"); |
1090 SPUDTEL_FNLOG("TActivatePdpStrategy::Next()"); |
1097 |
1091 |
1098 TInt err = KErrNone; |
1092 TInt err = KErrNone; |
1099 |
1093 |
1100 switch(aContext.StrategyStep()) |
1094 switch(aContext.StrategyStep()) |
1101 { |
1095 { |
1102 case EStartStep: |
1096 case EStartStep: |
1103 { |
1097 { |
1104 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_3, "RPacketContext::Activate()"); |
1098 SPUDTEL_INFO_LOG(_L("RPacketContext::Activate()")); |
1105 aContext.PacketContext().Activate(*aStatus); |
1099 aContext.PacketContext().Activate(*aStatus); |
1106 aContext.SetStrategyStep (EActivateStep); |
1100 aContext.SetStrategyStep (EActivateStep); |
1107 break; |
1101 break; |
1108 } |
1102 } |
1109 |
1103 |
1110 case EActivateStep: |
1104 case EActivateStep: |
1111 case ENotifyStatusChange: |
1105 case ENotifyStatusChange: |
1112 { |
1106 { |
1113 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_4, "RPacketContext::GetStatus()"); |
1107 SPUDTEL_INFO_LOG(_L("RPacketContext::GetStatus()")); |
1114 |
|
1115 if (aContext.PacketContext().GetStatus(aContext.ContextStatus()) != KErrNone) |
1108 if (aContext.PacketContext().GetStatus(aContext.ContextStatus()) != KErrNone) |
1116 { |
1109 { |
1117 aContext.ContextStatus() = RPacketContext::EStatusInactive; |
1110 aContext.ContextStatus() = RPacketContext::EStatusInactive; |
1118 } |
1111 } |
1119 |
1112 |
1120 switch (aContext.ContextStatus()) |
1113 switch (aContext.ContextStatus()) |
1121 { |
1114 { |
1122 case RPacketContext::EStatusActive: |
1115 case RPacketContext::EStatusActive: |
1123 // Context is now active |
1116 // Context is now active |
1124 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase()); |
1117 aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase()); |
1125 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_5, "RPacketContext::GetConfig()"); |
1118 SPUDTEL_INFO_LOG(_L("RPacketContext::GetConfig()")); |
1126 aContext.PacketContext().GetConfig (*aStatus, aContext.ContextConfig()); |
1119 aContext.PacketContext().GetConfig (*aStatus, aContext.ContextConfig()); |
1127 aContext.SetStrategyStep (EGetConfigStep); |
1120 aContext.SetStrategyStep (EGetConfigStep); |
1128 break; |
1121 break; |
1129 |
1122 |
1130 case RPacketContext::EStatusInactive: |
1123 case RPacketContext::EStatusInactive: |
1175 { |
1168 { |
1176 aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextPacketDataConfigBase()); |
1169 aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextPacketDataConfigBase()); |
1177 if (KPrimaryContextId == aContext.Id()) |
1170 if (KPrimaryContextId == aContext.Id()) |
1178 { |
1171 { |
1179 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg()); |
1172 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg()); |
1180 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG) |
1173 #ifdef _DEBUG |
1181 aContext.DumpNegProfileParameters (); |
1174 aContext.DumpNegProfileParameters (); |
1182 #endif |
1175 #endif |
1183 aContext.SetStrategyStep (EGetProfileParamsStep); |
1176 aContext.SetStrategyStep (EGetProfileParamsStep); |
1184 } |
1177 } |
1185 else |
1178 else |
1229 */ |
1222 */ |
1230 void TActivatePdpStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1223 void TActivatePdpStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1231 { |
1224 { |
1232 if(aCompletionStatus == KErrNone) |
1225 if(aCompletionStatus == KErrNone) |
1233 { |
1226 { |
1234 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NOTIFYFSM_1, "FSM set: DataChannelV2"); |
1227 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: DataChannelV2")); |
1235 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.DataChannelV2()); |
1228 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.DataChannelV2()); |
1236 |
1229 |
1237 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1230 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1238 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NOTIFYFSM_2, "FSM set: QoSR5Negotiated"); |
1231 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR5Negotiated")); |
1239 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1232 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1240 |
1233 |
1241 #else |
1234 #else |
1242 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NOTIFYFSM_3, "FSM set: QoSR99_R4Negotiated"); |
1235 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR99_R4Negotiated")); |
1243 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1236 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1244 #endif |
1237 #endif |
1245 // SYMBIAN_NETWORKING_UMTSR5 |
1238 // SYMBIAN_NETWORKING_UMTSR5 |
1246 |
1239 |
1247 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NOTIFYFSM_4, "Notifying FSM: EPdpActivated"); |
1240 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpActivated")); |
1248 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivated); |
1241 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivated); |
1249 |
1242 |
1250 } |
1243 } |
1251 else |
1244 else |
1252 { |
1245 { |
1253 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NOTIFYFSM_5, "Notifying FSM: EPdpActivatedFailed"); |
1246 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpActivatedFailed")); |
1254 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivatedFailed, aCompletionStatus.Int()); |
1247 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivatedFailed, aCompletionStatus.Int()); |
1255 } |
1248 } |
1256 } |
1249 } |
1257 |
1250 |
1258 /** Cancels last asynchronous request to eTel |
1251 /** Cancels last asynchronous request to eTel |
1263 { |
1256 { |
1264 switch(aContext.StrategyStep()) |
1257 switch(aContext.StrategyStep()) |
1265 { |
1258 { |
1266 case EActivateStep: |
1259 case EActivateStep: |
1267 { |
1260 { |
1268 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketContext::EPacketContextActivate"); |
1261 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextActivate")); |
1269 aContext.PacketContext().CancelAsyncRequest(EPacketContextActivate); |
1262 aContext.PacketContext().CancelAsyncRequest(EPacketContextActivate); |
1270 break; |
1263 break; |
1271 } |
1264 } |
1272 |
1265 |
1273 case EGetConfigStep: |
1266 case EGetConfigStep: |
1274 { |
1267 { |
1275 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketContext::EPacketContextGetConfig"); |
1268 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextGetConfig")); |
1276 aContext.PacketContext().CancelAsyncRequest(EPacketContextGetConfig); |
1269 aContext.PacketContext().CancelAsyncRequest(EPacketContextGetConfig); |
1277 break; |
1270 break; |
1278 } |
1271 } |
1279 |
1272 |
1280 case ENotifyStatusChange: |
1273 case ENotifyStatusChange: |
1281 { |
1274 { |
1282 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_CANCELASYNCREQUEST_3, "Cancel PacketContext::EPacketContextNotifyStatusChange"); |
1275 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextNotifyStatusChange")); |
1283 aContext.PacketContext().CancelAsyncRequest(EPacketContextNotifyStatusChange); |
1276 aContext.PacketContext().CancelAsyncRequest(EPacketContextNotifyStatusChange); |
1284 break; |
1277 break; |
1285 } |
1278 } |
1286 |
1279 |
1287 case EGetProfileParamsStep: |
1280 case EGetProfileParamsStep: |
1288 { |
1281 { |
1289 if(KPrimaryContextId == aContext.Id()) |
1282 if(KPrimaryContextId == aContext.Id()) |
1290 { |
1283 { |
1291 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_CANCELASYNCREQUEST_4, "Cancel PacketContext::EPacketQoSGetProfileParams"); |
1284 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketQoSGetProfileParams")); |
1292 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1285 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1293 break; |
1286 break; |
1294 } |
1287 } |
1295 } |
1288 } |
1296 |
1289 |
1297 default: |
1290 default: |
1298 // unexpected |
1291 // unexpected |
1299 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_CANCELASYNCREQUEST_5, "ERROR: Incorrect case in TActivatePdpStrategy::CancelAsyncRequest"); |
1292 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TActivatePdpStrategy::CancelAsyncRequest")); |
1300 ASSERT(EFalse); |
1293 ASSERT(EFalse); |
1301 break; |
1294 break; |
1302 } |
1295 } |
1303 } |
1296 } |
1304 |
1297 |
1310 @param aContext - pdp context |
1303 @param aContext - pdp context |
1311 @param aStatus - request status of this step |
1304 @param aStatus - request status of this step |
1312 */ |
1305 */ |
1313 void TGetNegQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1306 void TGetNegQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1314 { |
1307 { |
1315 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_1, "TGetNegQoSStrategy::Next()"); |
1308 SPUDTEL_FNLOG("TGetNegQoSStrategy::Next()"); |
1316 |
1309 |
1317 TInt err = KErrNone; |
1310 TInt err = KErrNone; |
1318 |
1311 |
1319 switch(aContext.StrategyStep()) |
1312 switch(aContext.StrategyStep()) |
1320 { |
1313 { |
1321 case EStartStep: |
1314 case EStartStep: |
1322 { |
1315 { |
1323 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg()); |
1316 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg()); |
1324 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG) |
1317 #ifdef _DEBUG |
1325 aContext.DumpNegProfileParameters (); |
1318 aContext.DumpNegProfileParameters (); |
1326 #endif |
1319 #endif |
1327 aContext.SetStrategyStep (EGetProfileParamsStep); |
1320 aContext.SetStrategyStep (EGetProfileParamsStep); |
1328 break; |
1321 break; |
1329 } |
1322 } |
1359 void TGetNegQoSStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1352 void TGetNegQoSStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1360 { |
1353 { |
1361 if(aCompletionStatus == KErrNone) |
1354 if(aCompletionStatus == KErrNone) |
1362 { |
1355 { |
1363 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1356 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1364 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NOTIFYFSM_1, "FSM set: QoSR5Negotiated"); |
1357 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR5Negotiated")); |
1365 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1358 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1366 |
1359 |
1367 #else |
1360 #else |
1368 // !SYMBIAN_NETWORKING_UMTSR5 |
1361 // !SYMBIAN_NETWORKING_UMTSR5 |
1369 |
1362 |
1370 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NOTIFYFSM_2, "FSM set: QoSR99_R4Negotiated"); |
1363 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR99_R4Negotiated")); |
1371 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1364 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1372 #endif |
1365 #endif |
1373 // SYMBIAN_NETWORKING_UMTSR5 |
1366 // SYMBIAN_NETWORKING_UMTSR5 |
1374 |
1367 |
1375 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NOTIFYFSM_3, "Notifying FSM: EPdpNegQoSRetrieved"); |
1368 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpNegQoSRetrieved")); |
1376 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpNegQoSRetrieved); |
1369 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpNegQoSRetrieved); |
1377 } |
1370 } |
1378 else |
1371 else |
1379 { |
1372 { |
1380 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NOTIFYFSM_4, "Notifying FSM: EPdpNegQoSRetrievedFailed"); |
1373 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpNegQoSRetrievedFailed")); |
1381 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpNegQoSRetrievedFailed, aCompletionStatus.Int()); |
1374 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpNegQoSRetrievedFailed, aCompletionStatus.Int()); |
1382 } |
1375 } |
1383 } |
1376 } |
1384 |
1377 |
1385 /** Cancels last asynchronous request to eTel |
1378 /** Cancels last asynchronous request to eTel |
1391 switch(aContext.StrategyStep()) |
1384 switch(aContext.StrategyStep()) |
1392 { |
1385 { |
1393 case EGetProfileParamsStep: |
1386 case EGetProfileParamsStep: |
1394 { |
1387 { |
1395 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1388 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1396 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketContext::EPacketQoSGetProfileParams"); |
1389 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketQoSGetProfileParams")); |
1397 break; |
1390 break; |
1398 } |
1391 } |
1399 |
1392 |
1400 default: |
1393 default: |
1401 // unexpected |
1394 // unexpected |
1402 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_CANCELASYNCREQUEST_2, "ERROR: Incorrect case in TGetNegQoSStrategy::CancelAsyncRequest"); |
1395 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TGetNegQoSStrategy::CancelAsyncRequest")); |
1403 ASSERT(EFalse); |
1396 ASSERT(EFalse); |
1404 break; |
1397 break; |
1405 } |
1398 } |
1406 } |
1399 } |
1407 |
1400 |
1414 @param aContext - pdp context |
1407 @param aContext - pdp context |
1415 @param aStatus - request status of this step |
1408 @param aStatus - request status of this step |
1416 */ |
1409 */ |
1417 void TModifyActiveStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1410 void TModifyActiveStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1418 { |
1411 { |
1419 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_1, "TModifyActiveStrategy::Next()"); |
1412 SPUDTEL_FNLOG("TModifyActiveStrategy::Next()"); |
1420 |
1413 |
1421 TInt err = KErrNone; |
1414 TInt err = KErrNone; |
1422 |
1415 |
1423 switch(aContext.StrategyStep()) |
1416 switch(aContext.StrategyStep()) |
1424 { |
1417 { |
1481 if(aCompletionStatus == KErrNone) |
1474 if(aCompletionStatus == KErrNone) |
1482 { |
1475 { |
1483 if(aContext.ContextType() != SpudMan::EMbms) |
1476 if(aContext.ContextType() != SpudMan::EMbms) |
1484 { |
1477 { |
1485 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1478 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
1486 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NOTIFYFSM_1, "FSM set: QoSR5Negotiated"); |
1479 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR5Negotiated")); |
1487 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1480 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR5()); |
1488 |
1481 |
1489 #else |
1482 #else |
1490 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NOTIFYFSM_2, "FSM set: QoSR99_R4Negotiated"); |
1483 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: QoSR99_R4Negotiated")); |
1491 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1484 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.QosNegotiated().NegotiatedQoSR99_R4()); |
1492 #endif |
1485 #endif |
1493 // SYMBIAN_NETWORKING_UMTSR5 |
1486 // SYMBIAN_NETWORKING_UMTSR5 |
1494 } |
1487 } |
1495 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NOTIFYFSM_3, "Notifying FSM: EPdpContextModified"); |
1488 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpContextModified")); |
1496 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpContextModified); |
1489 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpContextModified); |
1497 |
1490 |
1498 } |
1491 } |
1499 else |
1492 else |
1500 { |
1493 { |
1501 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NOTIFYFSM_4, "Notifying FSM: EPdpContextModifiedFailed"); |
1494 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpContextModifiedFailed")); |
1502 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpContextModifiedFailed, aCompletionStatus.Int()); |
1495 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpContextModifiedFailed, aCompletionStatus.Int()); |
1503 } |
1496 } |
1504 } |
1497 } |
1505 |
1498 |
1506 /** Cancels last asynchronous request to eTel |
1499 /** Cancels last asynchronous request to eTel |
1512 switch(aContext.StrategyStep()) |
1505 switch(aContext.StrategyStep()) |
1513 { |
1506 { |
1514 case EModifyActiveStep: |
1507 case EModifyActiveStep: |
1515 { |
1508 { |
1516 aContext.PacketContext().CancelAsyncRequest(EPacketContextModifyActiveContext); |
1509 aContext.PacketContext().CancelAsyncRequest(EPacketContextModifyActiveContext); |
1517 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketContext::EPacketContextModifyActiveContext"); |
1510 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextModifyActiveContext")); |
1518 break; |
1511 break; |
1519 } |
1512 } |
1520 |
1513 |
1521 case EGetProfileParamsStep: |
1514 case EGetProfileParamsStep: |
1522 { |
1515 { |
1523 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1516 aContext.PacketContext().CancelAsyncRequest(EPacketQoSGetProfileParams); |
1524 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketContext::EPacketQoSGetProfileParams"); |
1517 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketQoSGetProfileParams")); |
1525 break; |
1518 break; |
1526 } |
1519 } |
1527 |
1520 |
1528 default: |
1521 default: |
1529 // unexpected |
1522 // unexpected |
1530 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_CANCELASYNCREQUEST_3, "ERROR: Incorrect case in TModifyActiveStrategy::CancelAsyncRequest"); |
1523 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TModifyActiveStrategy::CancelAsyncRequest")); |
1531 ASSERT(EFalse); |
1524 ASSERT(EFalse); |
1532 break; |
1525 break; |
1533 } |
1526 } |
1534 } |
1527 } |
1535 |
1528 |
1548 @param aContext - pdp context |
1541 @param aContext - pdp context |
1549 @param aStatus - request status of this step |
1542 @param aStatus - request status of this step |
1550 */ |
1543 */ |
1551 void TCreateMbmsPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1544 void TCreateMbmsPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1552 { |
1545 { |
1553 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_1, "TCreateMbmsPdpContextStrategy::Next()"); |
1546 SPUDTEL_FNLOG("TCreateMbmsPdpContextStrategy::Next()"); |
1554 |
1547 |
1555 TInt err = KErrNone; |
1548 TInt err = KErrNone; |
1556 |
1549 |
1557 // possible steps: |
1550 // possible steps: |
1558 // -- open new context |
1551 // -- open new context |
1563 case EStartStep: |
1556 case EStartStep: |
1564 { |
1557 { |
1565 err = aContext.MbmsPacketContext().OpenNewContext (aContext.PacketService(), aContext.Name()); |
1558 err = aContext.MbmsPacketContext().OpenNewContext (aContext.PacketService(), aContext.Name()); |
1566 if (err) |
1559 if (err) |
1567 { |
1560 { |
1568 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_2, "PacketContextOpenNewContext returned for MBMS %d", err); |
1561 SPUDTEL_ERROR_LOG(_L("PacketContextOpenNewContext returned for MBMS %d"), err); |
1569 break; |
1562 break; |
1570 } |
1563 } |
1571 |
1564 |
1572 aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg()); |
1565 aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg()); |
1573 aContext.SetStrategyStep (EInitialiseContextStep); |
1566 aContext.SetStrategyStep (EInitialiseContextStep); |
1611 */ |
1604 */ |
1612 void TCreateMbmsPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
1605 void TCreateMbmsPdpContextStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus) |
1613 { |
1606 { |
1614 if(aCompletionStatus == KErrNone) |
1607 if(aCompletionStatus == KErrNone) |
1615 { |
1608 { |
1616 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NOTIFYFSM_1, "Notifying FSM: EMbmsPdpContextCreated"); |
1609 SPUDTEL_INFO_LOG(_L("Notifying FSM: EMbmsPdpContextCreated")); |
1617 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EMbmsPdpContextCreated); |
1610 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EMbmsPdpContextCreated); |
1618 } |
1611 } |
1619 else |
1612 else |
1620 { |
1613 { |
1621 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NOTIFYFSM_2, "Notifying FSM: E1ryPdpContextCreatedFailed"); |
1614 SPUDTEL_INFO_LOG(_L("Notifying FSM: E1ryPdpContextCreatedFailed")); |
1622 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EMbmsPdpContextCreatedFailed, aCompletionStatus.Int()); |
1615 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EMbmsPdpContextCreatedFailed, aCompletionStatus.Int()); |
1623 } |
1616 } |
1624 } |
1617 } |
1625 |
1618 |
1626 /** Cancels last asynchronous request to eTel |
1619 /** Cancels last asynchronous request to eTel |
1627 |
1620 |
1628 @param aContext - pdp context |
1621 @param aContext - pdp context |
1629 */ |
1622 */ |
1630 void TCreateMbmsPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
1623 void TCreateMbmsPdpContextStrategy::CancelAsyncRequest(CEtelDriverContext& aContext) |
1631 { |
1624 { |
1632 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_1, "TCreate1ryPdpContextStrategy::CancelAsyncRequest()"); |
1625 SPUDTEL_FNLOG("TCreate1ryPdpContextStrategy::CancelAsyncRequest()"); |
1633 |
1626 |
1634 switch(aContext.StrategyStep()) |
1627 switch(aContext.StrategyStep()) |
1635 { |
1628 { |
1636 case ESetConfigStep: |
1629 case ESetConfigStep: |
1637 { |
1630 { |
1638 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketContext::EPacketContextSetConfig"); |
1631 SPUDTEL_INFO_LOG(_L("Cancel PacketContext::EPacketContextSetConfig")); |
1639 aContext.PacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1632 aContext.PacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1640 break; |
1633 break; |
1641 } |
1634 } |
1642 |
1635 |
1643 default: |
1636 default: |
1644 // there're NO outstanding async requests |
1637 // there're NO outstanding async requests |
1645 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_CANCELASYNCREQUEST_3, "ERROR: Incorrect case"); |
1638 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case")); |
1646 ASSERT(EFalse); |
1639 ASSERT(EFalse); |
1647 break; |
1640 break; |
1648 } |
1641 } |
1649 } |
1642 } |
1650 |
1643 |
1657 @param aContext - pdp context |
1650 @param aContext - pdp context |
1658 @param aStatus - request status of this step |
1651 @param aStatus - request status of this step |
1659 */ |
1652 */ |
1660 void TActivateMbmsPdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1653 void TActivateMbmsPdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1661 { |
1654 { |
1662 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next()"); |
1655 SPUDTEL_FNLOG("TActivatePdpStrategy::Next()"); |
1663 |
1656 |
1664 TInt err = KErrNone; |
1657 TInt err = KErrNone; |
1665 |
1658 |
1666 switch(aContext.StrategyStep()) |
1659 switch(aContext.StrategyStep()) |
1667 { |
1660 { |
1724 */ |
1717 */ |
1725 void TActivateMbmsPdpStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1718 void TActivateMbmsPdpStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1726 { |
1719 { |
1727 if(aCompletionStatus == KErrNone) |
1720 if(aCompletionStatus == KErrNone) |
1728 { |
1721 { |
1729 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NOTIFYFSM_1, "FSM set: DataChannelV2"); |
1722 SPUDTELVERBOSE_INFO_LOG(_L("FSM set: DataChannelV2")); |
1730 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.DataChannelV2()); |
1723 aContext.PdpFsmInterface().Set(aContext.Id(), aContext.DataChannelV2()); |
1731 |
1724 |
1732 |
1725 |
1733 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NOTIFYFSM_2, "Notifying FSM: EPdpActivated"); |
1726 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpActivated")); |
1734 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivated); |
1727 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivated); |
1735 } |
1728 } |
1736 else |
1729 else |
1737 { |
1730 { |
1738 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NOTIFYFSM_3, "Notifying FSM: EPdpActivatedFailed"); |
1731 SPUDTEL_INFO_LOG(_L("Notifying FSM: EPdpActivatedFailed")); |
1739 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivatedFailed, aCompletionStatus.Int()); |
1732 aContext.PdpFsmInterface().Input(aContext.Id(), PdpFsm::EPdpActivatedFailed, aCompletionStatus.Int()); |
1740 } |
1733 } |
1741 } |
1734 } |
1742 |
1735 |
1743 /** Cancels last asynchronous request to eTel |
1736 /** Cancels last asynchronous request to eTel |
1749 switch(aContext.StrategyStep()) |
1742 switch(aContext.StrategyStep()) |
1750 { |
1743 { |
1751 case EActivateStep: |
1744 case EActivateStep: |
1752 { |
1745 { |
1753 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextActivate); |
1746 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextActivate); |
1754 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_CANCELASYNCREQUEST_1, "Cancel MbmsPacketContext::EPacketContextActivate"); |
1747 SPUDTEL_INFO_LOG(_L("Cancel MbmsPacketContext::EPacketContextActivate")); |
1755 break; |
1748 break; |
1756 } |
1749 } |
1757 |
1750 |
1758 case EGetConfigStep: |
1751 case EGetConfigStep: |
1759 { |
1752 { |
1760 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextGetConfig); |
1753 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextGetConfig); |
1761 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_CANCELASYNCREQUEST_2, "Cancel MbmsPacketContext::EGetConfigStep"); |
1754 SPUDTEL_INFO_LOG(_L("Cancel MbmsPacketContext::EPacketContextGetConfig")); |
1762 break; |
1755 break; |
1763 } |
1756 } |
1764 |
1757 |
1765 case EInitialiseContextStep: |
1758 case EInitialiseContextStep: |
1766 { |
1759 { |
1767 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextInitialiseContext); |
1760 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextInitialiseContext); |
1768 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_CANCELASYNCREQUEST_3, "Cancel MbmsPacketContext::EPacketContextInitialiseContext"); |
1761 SPUDTEL_INFO_LOG(_L("Cancel MbmsPacketContext::EPacketContextInitialiseContext")); |
1769 break; |
1762 break; |
1770 } |
1763 } |
1771 |
1764 |
1772 |
1765 |
1773 default: |
1766 default: |
1774 // unexpected |
1767 // unexpected |
1775 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_CANCELASYNCREQUEST_4, "ERROR: Incorrect case in TActivatePdpStrategy::CancelAsyncRequest"); |
1768 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TActivatePdpStrategy::CancelAsyncRequest")); |
1776 ASSERT(EFalse); |
1769 ASSERT(EFalse); |
1777 break; |
1770 break; |
1778 } |
1771 } |
1779 } |
1772 } |
1780 |
1773 |
1786 @param aContext - pdp context |
1779 @param aContext - pdp context |
1787 @param aStatus - request status of this step |
1780 @param aStatus - request status of this step |
1788 */ |
1781 */ |
1789 void TMbmsSessionUpdateStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1782 void TMbmsSessionUpdateStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus) |
1790 { |
1783 { |
1791 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_1, "TMbmsSessionUpdateStrategy::Next()"); |
1784 SPUDTEL_FNLOG("TMbmsSessionUpdateStrategy::Next()"); |
1792 |
1785 |
1793 TInt err = KErrNone; |
1786 TInt err = KErrNone; |
1794 switch(aContext.StrategyStep()) |
1787 switch(aContext.StrategyStep()) |
1795 { |
1788 { |
1796 case EStartStep: |
1789 case EStartStep: |
1894 */ |
1887 */ |
1895 void TMbmsSessionUpdateStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1888 void TMbmsSessionUpdateStrategy::NotifyFsm(CEtelDriverContext& aContext, TRequestStatus& aCompletionStatus ) |
1896 { |
1889 { |
1897 if(aCompletionStatus == KErrNone) |
1890 if(aCompletionStatus == KErrNone) |
1898 { |
1891 { |
1899 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NOTIFYFSM_1, "Notifying FSM: TMbmsSessionUpdateStrategy"); |
1892 SPUDTEL_INFO_LOG(_L("Notifying FSM: TMbmsSessionUpdateStrategy")); |
1900 aContext.PdpFsmInterface().Input(aContext.Id(), SpudMan::EMbmsParameterUpdate); |
1893 aContext.PdpFsmInterface().Input(aContext.Id(), SpudMan::EMbmsParameterUpdate); |
1901 } |
1894 } |
1902 else |
1895 else |
1903 { |
1896 { |
1904 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NOTIFYFSM_2, "Notifying FSM: TMbmsSessionUpdateStrategy"); |
1897 SPUDTEL_INFO_LOG(_L("Notifying FSM: TMbmsSessionUpdateStrategy")); |
1905 aContext.PdpFsmInterface().Input(aContext.Id(), SpudMan::EMbmsParameterUpdate, aCompletionStatus.Int()); |
1898 aContext.PdpFsmInterface().Input(aContext.Id(), SpudMan::EMbmsParameterUpdate, aCompletionStatus.Int()); |
1906 } |
1899 } |
1907 } |
1900 } |
1908 /** Cancels last asynchronous request to eTel |
1901 /** Cancels last asynchronous request to eTel |
1909 |
1902 |
1915 switch(aContext.StrategyStep()) |
1908 switch(aContext.StrategyStep()) |
1916 { |
1909 { |
1917 case EUpdateMbmsSessionList: |
1910 case EUpdateMbmsSessionList: |
1918 { |
1911 { |
1919 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1912 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1920 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_CANCELASYNCREQUEST_1, "Cancel MbmsPacketContext::EUpdateMbmsSessionList"); |
1913 SPUDTEL_INFO_LOG(_L("Cancel MbmsPacketContext::EUpdateMbmsSessionList")); |
1921 break; |
1914 break; |
1922 } |
1915 } |
1923 |
1916 |
1924 case EPrepareSessionList: |
1917 case EPrepareSessionList: |
1925 { |
1918 { |
1926 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1919 aContext.MbmsPacketContext().CancelAsyncRequest(EPacketContextSetConfig); |
1927 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_CANCELASYNCREQUEST_2, "Cancel MbmsPacketContext::EPrepareSessionList"); |
1920 SPUDTEL_INFO_LOG(_L("Cancel MbmsPacketContext::EPrepareSessionList")); |
1928 break; |
1921 break; |
1929 } |
1922 } |
1930 |
1923 |
1931 default: |
1924 default: |
1932 // unexpected |
1925 // unexpected |
1933 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_CANCELASYNCREQUEST_3, "ERROR: Incorrect case in TMbmsSessionUpdateStrategy::CancelAsyncRequest"); |
1926 SPUDTEL_ERROR_LOG0(_L("ERROR: Incorrect case in TMbmsSessionUpdateStrategy::CancelAsyncRequest")); |
1934 ASSERT(EFalse); |
1927 ASSERT(EFalse); |
1935 break; |
1928 break; |
1936 } |
1929 } |
1937 |
1930 |
1938 } |
1931 } |