mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp
equal
deleted
inserted
replaced
239 void CMediaMtpDataProvider::SessionClosedL( const TMTPNotificationParamsSessionChange& aSession ) |
239 void CMediaMtpDataProvider::SessionClosedL( const TMTPNotificationParamsSessionChange& aSession ) |
240 { |
240 { |
241 iIsSessionOpen = EFalse; |
241 iIsSessionOpen = EFalse; |
242 TInt count = iActiveProcessors.Count(); |
242 TInt count = iActiveProcessors.Count(); |
243 PRINT1( _L( "MM MTP => CMediaMtpDataProvider::SessionClosedL, total processor count = %d" ), count ); |
243 PRINT1( _L( "MM MTP => CMediaMtpDataProvider::SessionClosedL, total processor count = %d" ), count ); |
244 for( TInt i = 0; i < count; i++ ) |
244 while ( count-- ) |
245 { |
245 { |
246 MMmRequestProcessor* processor = iActiveProcessors[i]; |
246 MMmRequestProcessor* processor = iActiveProcessors[count]; |
247 |
247 |
248 // replaced for the Request() is invalid sometimes |
248 // replaced for the Request() is invalid sometimes |
249 // TUint32 sessionId( processor->Request().Uint32( TMTPTypeRequest::ERequestSessionID ) ); |
249 // TUint32 sessionId( processor->Request().Uint32( TMTPTypeRequest::ERequestSessionID ) ); |
250 TUint32 sessionId = processor->SessionId(); |
250 TUint32 sessionId = processor->SessionId(); |
251 |
251 |
253 && ( processor->Connection().ConnectionId() |
253 && ( processor->Connection().ConnectionId() |
254 == aSession.iConnection.ConnectionId() ) ) |
254 == aSession.iConnection.ConnectionId() ) ) |
255 { |
255 { |
256 processor->UsbDisconnect(); // Rollback |
256 processor->UsbDisconnect(); // Rollback |
257 |
257 |
258 iActiveProcessors.Remove( i ); |
258 iActiveProcessors.Remove( count ); |
259 if ( i == iActiveProcessor ) |
259 if ( count == iActiveProcessor ) |
260 { |
260 { |
261 iActiveProcessorRemoved = ETrue; |
261 iActiveProcessorRemoved = ETrue; |
|
262 iActiveProcessor = -1; // update iActiveProcessor |
262 } |
263 } |
263 else |
264 else |
264 { |
265 { |
265 processor->Release(); |
266 processor->Release(); |
266 } |
267 } |