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 |