usbengines/usbotgwatcher/src/cusbstatehostabase.cpp
branchRCL_3
changeset 64 8ecef05bbada
parent 3 47c263f7e521
child 20 a15c582fbf97
equal deleted inserted replaced
8:7e15987c4500 64:8ecef05bbada
    86 void CUsbStateHostABase::AVBusErrorL()
    86 void CUsbStateHostABase::AVBusErrorL()
    87     {
    87     {
    88         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::AVBusErrorL" ) );
    88         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::AVBusErrorL" ) );
    89     // No need to handle BusClearError error code, due to Bus will be dropped anyway
    89     // No need to handle BusClearError error code, due to Bus will be dropped anyway
    90     iWatcher->Usb().BusClearError();
    90     iWatcher->Usb().BusClearError();
    91     HandleL(EUsbWatcherErrDeviceRequiresTooMuchPower);
    91     HandleL(EUsbWatcherErrDeviceRequiresTooMuchPower, EUsbStateHostHandle);
    92     }
    92     }
    93 
    93 
    94 // From bus activity observer
    94 // From bus activity observer
    95 // ---------------------------------------------------------------------------
    95 // ---------------------------------------------------------------------------
    96 // 
    96 // 
   162         case KErrUsbBadDescriptor:
   162         case KErrUsbBadDescriptor:
   163         case KErrUsbDeviceDetachedDuringDriverLoading:
   163         case KErrUsbDeviceDetachedDuringDriverLoading:
   164         case KErrUsbAttachmentFailureGeneralError:
   164         case KErrUsbAttachmentFailureGeneralError:
   165             {
   165             {
   166                 FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL ErrorInConnection" ) );
   166                 FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL ErrorInConnection" ) );
   167             HandleL(EUsbWatcherErrorInConnection);
   167             HandleL(EUsbWatcherErrorInConnection, EUsbStateHostHandle);
   168             break;
   168             break;
   169             }
   169             }
   170 
   170 
   171             // OTGDI
   171             // OTGDI
   172         //case KErrUsbOtgPeriphNotSupported: //        = -6688
   172         case KErrUsbOtgPeriphNotSupported: //        = -6688
   173 
   173 
   174             // USBDI
   174             // USBDI
   175         case KErrUsbRequestsPending:
   175         case KErrUsbRequestsPending:
   176         case KErrUsbBadAddress:
   176         case KErrUsbBadAddress:
   177         case KErrUsbNoAddress:
   177         case KErrUsbNoAddress:
   194 
   194 
   195             // hosterrors.h
   195             // hosterrors.h
   196         case KErrUsbUnsupportedDevice:
   196         case KErrUsbUnsupportedDevice:
   197             {
   197             {
   198                 FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL UnsupportedDevice" ) );
   198                 FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL UnsupportedDevice" ) );
   199             HandleL(EUsbWatcherErrUnsupportedDevice);
   199             HandleL(EUsbWatcherErrUnsupportedDevice, EUsbStateHostHandle);
   200             break;
   200             break;
   201             }
   201             }
   202         default:
   202         default:
   203             {
   203             {
   204                 FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL Unhandled message = %d" ), aMessage));
   204                 FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::MessageNotificationReceivedL Unhandled message = %d" ), aMessage));
   214 // ---------------------------------------------------------------------------
   214 // ---------------------------------------------------------------------------
   215 //
   215 //
   216 void CUsbStateHostABase::BadHubPositionL()
   216 void CUsbStateHostABase::BadHubPositionL()
   217     {
   217     {
   218         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::BadHubPositionL" ) );
   218         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::BadHubPositionL" ) );
   219     HandleL(EUsbWatcherHubsNotSupported);
   219     HandleL(EUsbWatcherHubsNotSupported, EUsbStateHostHandle);
   220     }
   220     }
   221 
   221 
   222 // ---------------------------------------------------------------------------
   222 // ---------------------------------------------------------------------------
   223 // 
   223 // 
   224 // ---------------------------------------------------------------------------
   224 // ---------------------------------------------------------------------------
   226 void CUsbStateHostABase::VBusErrorL()
   226 void CUsbStateHostABase::VBusErrorL()
   227     {
   227     {
   228         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::VBusErrorL" ) );
   228         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostABase::VBusErrorL" ) );
   229     // No error code handling after BusClearError call, due to bus will be dropped anyway
   229     // No error code handling after BusClearError call, due to bus will be dropped anyway
   230     iWatcher->Usb().BusClearError();
   230     iWatcher->Usb().BusClearError();
   231     HandleL(EUsbWatcherErrDeviceRequiresTooMuchPower);
   231     HandleL(EUsbWatcherErrDeviceRequiresTooMuchPower, EUsbStateHostHandle);
   232     }
   232     }
   233 
   233 
   234 // ---------------------------------------------------------------------------
   234 // ---------------------------------------------------------------------------
   235 // 
   235 // 
   236 // ---------------------------------------------------------------------------
   236 // ---------------------------------------------------------------------------
   248 
   248 
   249     TInt err = iWatcher->Usb().BusRequest();
   249     TInt err = iWatcher->Usb().BusRequest();
   250     if (KErrNone != err && KErrUsbOtgVbusAlreadyRaised != err) // sometimes this also comes...
   250     if (KErrNone != err && KErrUsbOtgVbusAlreadyRaised != err) // sometimes this also comes...
   251         {
   251         {
   252             FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::SessionRequestedL BusRequestError err = %d" ), err));
   252             FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::SessionRequestedL BusRequestError err = %d" ), err));
   253         iWatcher->HandleHostProblemL(EUsbWatcherErrorInConnection);
   253         iWatcher->HandleHostProblemL(EUsbWatcherErrorInConnection, EUsbStateHostHandle);
   254         return;
   254         return;
   255         }
   255         }
   256 
   256 
   257         FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::SessionRequestedL Session started OK (or VBUS already UP) err = %d" ), err));
   257         FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::SessionRequestedL Session started OK (or VBUS already UP) err = %d" ), err));
   258     }
   258     }
   259 
       
   260 // ---------------------------------------------------------------------------
       
   261 // 
       
   262 // ---------------------------------------------------------------------------
       
   263 //
       
   264 void CUsbStateHostABase::HandleL(TInt aWhat)
       
   265     {
       
   266         FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbStateHostABase::HandleL aWhat = %d" ), aWhat));
       
   267 
       
   268     iWatcher->HandleHostProblemL(aWhat);
       
   269     }