bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp
changeset 1 40cb640ef159
parent 0 5a93021fdf25
child 41 bbb64eb3bdee
equal deleted inserted replaced
0:5a93021fdf25 1:40cb640ef159
   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