2890 return ret; |
2890 return ret; |
2891 |
2891 |
2892 } |
2892 } |
2893 |
2893 |
2894 //---------------------------------------------------------------------------- |
2894 //---------------------------------------------------------------------------- |
2895 // CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceListL |
2895 // CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceList |
2896 // Completes update monitored service list request |
2896 // Completes update monitored service list request |
2897 //---------------------------------------------------------------------------- |
2897 //---------------------------------------------------------------------------- |
2898 // |
2898 // |
2899 void CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceList( |
2899 void CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceList( |
2900 CMmDataPackage* aDataPackage, |
2900 CMmDataPackage* aDataPackage, |
2901 const TInt aResult) |
2901 const TInt aResult) |
2902 { |
2902 { |
2903 TFLOGSTRING( "TSY: CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceListL." ); |
2903 TFLOGSTRING( "TSY: CMmPacketServiceTsy::CompleteUpdateMbmsMonitorServiceListL." ); |
2904 |
2904 |
2905 TInt result= aResult; |
2905 TInt result= aResult; |
|
2906 TInt err(KErrNone); |
2906 // Reset request handle. Returns the deleted request handle |
2907 // Reset request handle. Returns the deleted request handle |
2907 const TTsyReqHandle reqHandle( iTsyReqHandleStore->ResetTsyReqHandle( |
2908 const TTsyReqHandle reqHandle( iTsyReqHandleStore->ResetTsyReqHandle( |
2908 EMultimodePacketServiceUpdateMBMSMonitorServiceList ) ); |
2909 EMultimodePacketServiceUpdateMBMSMonitorServiceList ) ); |
2909 |
2910 |
2910 if( aResult == KErrNone ) |
2911 if( aResult == KErrNone ) |
2911 { |
2912 { |
2912 result = iMBMSMonitoredList->ProcessEntriesL(NULL, iActionType); |
2913 TRAP( err, result = iMBMSMonitoredList->ProcessEntriesL( NULL, iActionType ) ); |
2913 CompleteNotifyMbmsServiceAvailabilityChangeL( NULL, aResult ); |
2914 if ( !err ) |
|
2915 TRAP( err, CompleteNotifyMbmsServiceAvailabilityChangeL( NULL, aResult ) ); |
2914 } |
2916 } |
2915 //there were problem managing entries |
2917 //there were problem managing entries |
2916 else if( (aResult == KErrMbmsImpreciseServiceEntries) && (aDataPackage != NULL) ) |
2918 else if( (aResult == KErrMbmsImpreciseServiceEntries) && (aDataPackage != NULL) ) |
2917 { |
2919 { |
2918 CPcktMbmsMonitoredServiceList* failedMonitorEntries = NULL; |
2920 CPcktMbmsMonitoredServiceList* failedMonitorEntries = NULL; |
2919 aDataPackage->UnPackData( &failedMonitorEntries ); |
2921 aDataPackage->UnPackData( &failedMonitorEntries ); |
2920 // there were a problems with some entries, |
2922 // there were a problems with some entries, |
2921 // Check failed entries exists and add succesful entries to main list |
2923 // Check failed entries exists and add succesful entries to main list |
2922 if( failedMonitorEntries != NULL ) |
2924 if( failedMonitorEntries != NULL ) |
2923 { |
2925 { |
2924 iMBMSMonitoredList->ProcessEntriesL( failedMonitorEntries, iActionType ); |
2926 TRAP( err, iMBMSMonitoredList->ProcessEntriesL( failedMonitorEntries, iActionType ) ); |
2925 } |
2927 } |
2926 else // There was a general error, don't add anything to main list |
2928 else // There was a general error, don't add anything to main list |
2927 { |
2929 { |
2928 iMBMSMonitoredList->ResetTempListL(); |
2930 TRAP( err, iMBMSMonitoredList->ResetTempListL() ); |
2929 } |
2931 } |
2930 } |
2932 } |
2931 if( EMultimodePacketServiceReqHandleUnknown != reqHandle ) |
2933 if( EMultimodePacketServiceReqHandleUnknown != reqHandle ) |
2932 { |
2934 { |
|
2935 // If there was an error due to a function leaving, complete to the client with that error. |
|
2936 if (err) |
|
2937 { |
|
2938 result = err; |
|
2939 } |
2933 //complete with error to client |
2940 //complete with error to client |
2934 CMmPacketServiceTsy::ReqCompleted( reqHandle, result ); |
2941 CMmPacketServiceTsy::ReqCompleted( reqHandle, result ); |
2935 } |
2942 } |
2936 |
2943 |
2937 } |
2944 } |