bearermanagement/S60MCPR/src/s60mcprstates.cpp
changeset 2 086aae6fc07e
parent 1 40cb640ef159
child 12 ea6e024ea6f9
child 18 fcbbe021d614
equal deleted inserted replaced
1:40cb640ef159 2:086aae6fc07e
   463     //
   463     //
   464     if ( aCompletedRequest.iStatus == KErrNone &&
   464     if ( aCompletedRequest.iStatus == KErrNone &&
   465          ( aCompletedRequest.iNeededAction == EIgnoreError ||
   465          ( aCompletedRequest.iNeededAction == EIgnoreError ||
   466            aCompletedRequest.iNeededAction == EDoReselection ))
   466            aCompletedRequest.iNeededAction == EDoReselection ))
   467         {
   467         {
       
   468         // Send error recovery propagated msg to self. This way a potential mobility 
       
   469         // handshake knows that there were a problem with migrated IAP.
       
   470         // In case there isn't mobility active available this just results as stray msg
       
   471         if ( aCompletedRequest.iNeededAction == EIgnoreError )
       
   472             {
       
   473             iNode.SelfInterface().PostMessage( iNode.Id(), 
       
   474                     TCFS60MCPRMessage::TMPMStartupErrorIgnoredMsg().CRef() );
       
   475             }
       
   476         
   468         TCFS60MCPRMessage::TMPMProcessErrorCompletedMsg msg( (TInt)aCompletedRequest.iNeededAction );
   477         TCFS60MCPRMessage::TMPMProcessErrorCompletedMsg msg( (TInt)aCompletedRequest.iNeededAction );
   469         iLastRequestOriginator.ReplyTo( iNode.Id(), msg );
   478         iLastRequestOriginator.ReplyTo( iNode.Id(), msg );
   470         iLastRequestOriginator.Close();
   479         iLastRequestOriginator.Close();
   471         }
   480         }
   472     // Propagate error
   481     // Propagate error
   478         if ( err == KErrNone )
   487         if ( err == KErrNone )
   479             {
   488             {
   480             ASSERT( aCompletedRequest.iError != KErrNone );
   489             ASSERT( aCompletedRequest.iError != KErrNone );
   481             err = aCompletedRequest.iError != KErrNone ? aCompletedRequest.iError : KErrGeneral;
   490             err = aCompletedRequest.iError != KErrNone ? aCompletedRequest.iError : KErrGeneral;
   482             }
   491             }
       
   492             
       
   493         // Send error msg indicatating the processerror has been completed.
   483         TEBase::TError msg( TCFS60MCPRMessage::TMPMProcessErrorCompletedMsg::Id(), err );
   494         TEBase::TError msg( TCFS60MCPRMessage::TMPMProcessErrorCompletedMsg::Id(), err );
   484         iLastRequestOriginator.ReplyTo( iNode.Id(), msg );
   495         iLastRequestOriginator.ReplyTo( iNode.Id(), msg );
   485         iLastRequestOriginator.Close();
   496         iLastRequestOriginator.Close();
   486         }
   497         }
   487     }
   498     }