mtpfws/mtpfw/src/cmtpdataprovider.cpp
branchRCL_3
changeset 24 523717cdb0ad
parent 14 60a94a45d437
child 27 81da3301b632
equal deleted inserted replaced
23:f5809cfbf6d5 24:523717cdb0ad
   614         }
   614         }
   615     
   615     
   616 		else if (iSingletons.DpController().EnumerateState() < CMTPDataProviderController::EEnumeratingPhaseOneDone)
   616 		else if (iSingletons.DpController().EnumerateState() < CMTPDataProviderController::EEnumeratingPhaseOneDone)
   617     	{
   617     	{
   618         __FLOG(_L8("DP Enumeration is not complete"));
   618         __FLOG(_L8("DP Enumeration is not complete"));
   619 
   619         if (iCurrentRequest != NULL)
       
   620         {
   620         TUint16 opCode = iCurrentRequest->Uint16(TMTPTypeRequest::ERequestOperationCode);
   621         TUint16 opCode = iCurrentRequest->Uint16(TMTPTypeRequest::ERequestOperationCode);
   621 
   622 
   622         switch(opCode)
   623         switch(opCode)
   623         {
   624         {
   624         case EMTPOpCodeOpenSession:
   625         case EMTPOpCodeOpenSession:
   667 		  iImplementation->ProcessRequestPhaseL(iCurrentTransactionPhase, *iCurrentRequest, *iCurrentConnection);
   668 		  iImplementation->ProcessRequestPhaseL(iCurrentTransactionPhase, *iCurrentRequest, *iCurrentConnection);
   668 		  break;
   669 		  break;
   669 	  default:
   670 	  default:
   670 		  break;
   671 		  break;
   671 		    }
   672 		    }
       
   673         }
   672 	    }
   674 	    }
   673 		}
   675 		}
   674     else
   676     else
   675         {
   677         {
   676         // Pass to the bound plugin for processing.
   678         // Pass to the bound plugin for processing.
   677         iImplementation->ProcessRequestPhaseL(iCurrentTransactionPhase, *iCurrentRequest, *iCurrentConnection);
   679         iImplementation->ProcessRequestPhaseL(iCurrentTransactionPhase, *iCurrentRequest, *iCurrentConnection);
   678         
   680         
   679         //Make ActiveRequest processor and CancelRequest processing to occur synchronously
   681         //Make ActiveRequest processor and CancelRequest processing to occur synchronously
   680         if( iCurrentTransactionPhase == ERequestPhase )
   682         if( iCurrentTransactionPhase == ERequestPhase )
   681         	{
   683             {
   682         	CMTPSession& session(static_cast<CMTPSession&>(iCurrentConnection->SessionWithMTPIdL(iCurrentRequest->Uint32(TMTPTypeRequest::ERequestSessionID))));
   684                 if( iCurrentRequest != NULL )
   683         	MMTPConnectionProtocol& connection(static_cast<MMTPConnectionProtocol&>(*iCurrentConnection)); 
   685                 	{  
       
   686         	        CMTPSession& session(static_cast<CMTPSession&>(iCurrentConnection->SessionWithMTPIdL(iCurrentRequest->Uint32(TMTPTypeRequest::ERequestSessionID))));
       
   687         	        MMTPConnectionProtocol& connection(static_cast<MMTPConnectionProtocol&>(*iCurrentConnection)); 
   684         	
   688         	
   685         	// Pass transaction to session to check against any pending events
   689         	        // Pass transaction to session to check against any pending events
   686            	if ( session.CheckPendingEvent(*iCurrentRequest) )
   690            	      if ( session.CheckPendingEvent(*iCurrentRequest) )
   687             	{
   691             	    {
   688                 //Current request matches a pending event, pass event to connection layer event processing
   692                       //Current request matches a pending event, pass event to connection layer event processing
   689                 connection.ReceivedEventL(session.PendingEvent());
   693                   connection.ReceivedEventL(session.PendingEvent());
   690                 }
   694                   }
       
   695                   }
   691         	}
   696         	}
   692         
   697         
   693         }
   698         }
   694     
   699     
   695     __MTP_HEAP_FLOG
   700     __MTP_HEAP_FLOG