1151 |
1151 |
1152 TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); ); |
1152 TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); ); |
1153 |
1153 |
1154 if ( trapError != KErrNone ) |
1154 if ( trapError != KErrNone ) |
1155 { |
1155 { |
1156 //reset request handle to indicate the request is no longer ongoing |
|
1157 iTsyReqHandleStore->FindAndResetTsyReqHandle( aTsyReqHandle ); |
|
1158 ReqCompleted( aTsyReqHandle, trapError ); |
1156 ReqCompleted( aTsyReqHandle, trapError ); |
1159 } |
1157 } |
1160 else if ( ret != KErrNone ) |
1158 else if ( ret != KErrNone ) |
1161 { |
1159 { |
1162 ReqCompleted( aTsyReqHandle, ret ); |
1160 ReqCompleted( aTsyReqHandle, ret ); |
1163 } |
1161 } |
1164 else if ( EMultimodePhoneReqHandleUnknown != iReqHandleType ) |
1162 |
|
1163 if ( EMultimodePhoneReqHandleUnknown != iReqHandleType ) |
1165 { |
1164 { |
1166 #ifdef REQHANDLE_TIMER |
1165 #ifdef REQHANDLE_TIMER |
1167 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
1166 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
1168 #else |
1167 #else |
1169 iTsyReqHandleStore->SetTsyReqHandle( |
1168 iTsyReqHandleStore->SetTsyReqHandle( |
1170 iReqHandleType, aTsyReqHandle ); |
1169 iReqHandleType, aTsyReqHandle ); |
1171 #endif //REQHANDLE_TIMER |
1170 #endif //REQHANDLE_TIMER |
1172 } |
1171 // We've finished with this value now. Clear it so it doesn't leak |
1173 // We've finished with this value now. Clear it so it doesn't leak |
1172 // up to any other instances of this method down the call stack |
1174 // up to any other instances of this method down the call stack |
1173 iReqHandleType = EMultimodePhoneReqHandleUnknown; |
1175 iReqHandleType = EMultimodePhoneReqHandleUnknown; |
1174 } |
1176 } |
1175 } |
1177 |
1176 |
1178 return KErrNone; |
1177 return KErrNone; |
1179 |
1178 |
1180 } |
1179 } |