134 // Trap the call of DoExtFuncL |
134 // Trap the call of DoExtFuncL |
135 TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ) ); |
135 TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ) ); |
136 |
136 |
137 if ( KErrNone != trapError ) |
137 if ( KErrNone != trapError ) |
138 { |
138 { |
|
139 // Reset request handle to indicate the request is no longer ongoing |
|
140 iTsyReqHandleStore->FindAndResetTsyReqHandle(aTsyReqHandle); |
139 ReqCompleted( aTsyReqHandle, trapError ); |
141 ReqCompleted( aTsyReqHandle, trapError ); |
140 } |
142 } |
141 |
143 |
142 else if ( KErrNone != ret ) |
144 else if ( KErrNone != ret ) |
143 { |
145 { |
144 ReqCompleted( aTsyReqHandle, ret ); |
146 ReqCompleted( aTsyReqHandle, ret ); |
145 } |
147 } |
146 |
148 else if ( EMultimodePacketMbmsReqHandleUnknown != iReqHandleType ) |
147 if ( EMultimodePacketMbmsReqHandleUnknown != iReqHandleType ) |
|
148 { |
149 { |
149 #ifdef REQHANDLE_TIMER |
150 #ifdef REQHANDLE_TIMER |
150 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
151 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
151 #else |
152 #else |
152 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle ); |
153 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle ); |
153 #endif // REQHANDLE_TIMER |
154 #endif // REQHANDLE_TIMER |
154 } |
155 } |
155 |
156 iReqHandleType = EMultimodePacketMbmsReqHandleUnknown; |
156 return KErrNone; |
157 return KErrNone; |
157 } |
158 } |
158 |
159 |
159 // --------------------------------------------------------------------------- |
160 // --------------------------------------------------------------------------- |
160 // CMmMBMSContextTsy::DoExtFuncL |
161 // CMmMBMSContextTsy::DoExtFuncL |