diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp --- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -463,6 +463,23 @@ // ----------------------------------------------------------------------------- + // CS60MobilityActivity::TErrorOriginatorAndStopDataClient::DoL + // ----------------------------------------------------------------------------- + // + DEFINE_SMELEMENT( CS60MobilityActivity::TErrorOriginatorAndStopDataClient, + NetStateMachine::MStateTransition, CS60MobilityActivity::TContext ) + void CS60MobilityActivity::TErrorOriginatorAndStopDataClient::DoL() + { + // Post error to originators + TEBase::TError errmsg(TCFMobilityProvider::TStartMobility::Id(), iContext.iNodeActivity->Error()); + iContext.iNodeActivity->PostToOriginators(errmsg); + + RNodeInterface* dc = iContext.Node().GetFirstClient(TClientType(TCFClientType::EData), + TClientType(TCFClientType::EData, TCFClientType::ELeaving)); + iContext.iNodeActivity->PostRequestTo(*dc, TCFDataClient::TStop(iContext.iNodeActivity->Error()).CRef()); + } + + // ----------------------------------------------------------------------------- // CS60MobilityActivity::TAwaitingPreferredCarrierOrCancelOrRejected::Accept // ----------------------------------------------------------------------------- //