358 // We must clear out the activity error to prevent last automatic error message from the node. |
358 // We must clear out the activity error to prevent last automatic error message from the node. |
359 iContext.iNodeActivity->SetError( KErrNone ); |
359 iContext.iNodeActivity->SetError( KErrNone ); |
360 activity.ReplyToOriginators( err ); |
360 activity.ReplyToOriginators( err ); |
361 } |
361 } |
362 |
362 |
|
363 // ----------------------------------------------------------------------------- |
|
364 // CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse::DoL |
|
365 // ----------------------------------------------------------------------------- |
|
366 // |
|
367 DEFINE_SMELEMENT( CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse, |
|
368 NetStateMachine::MStateTransition, |
|
369 CS60ConnectionRecoveryActivity::TContext ) |
|
370 void CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse::DoL() // codescanner::leave |
|
371 { |
|
372 __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KS60MCprPanic, KPanicNoActivity)); |
|
373 |
|
374 CS60ConnectionRecoveryActivity& activity = |
|
375 static_cast<CS60ConnectionRecoveryActivity&>(*iContext.iNodeActivity); |
|
376 |
|
377 TInt error = activity.iOriginalErrContext.iStateChange.iError; |
|
378 |
|
379 if ( error == KErrNone ) |
|
380 { |
|
381 error = KErrDisconnected; |
|
382 S60MCPRLOGSTRING2("S60MCPR<%x>::TSendPropagateRecoveryErrContextResponse::DoL() overriding error code %d",(TInt*)&iContext.Node(), error); |
|
383 } |
|
384 |
|
385 // Override original error with activity error. |
|
386 TEErrorRecovery::TErrorRecoveryResponse err( TErrResponse( TErrResponse::EPropagate, |
|
387 error, |
|
388 activity.iOriginalErrContext.iMessageId ) ); |
|
389 S60MCPRLOGSTRING2("S60MCPR<%x>::TSendPropagateRecoveryErrContextResponse::DoL() %d",(TInt*)&iContext.Node(), error); |
|
390 // We must clear out the activity error to prevent last automatic error message from the node. |
|
391 iContext.iNodeActivity->SetError( KErrNone ); |
|
392 activity.ReplyToOriginators( err ); |
|
393 } |
|
394 |
363 } // namespace S60MCprErrorRecoveryActivity |
395 } // namespace S60MCprErrorRecoveryActivity |
364 |
396 |
365 // End of File |
397 // End of File |