usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp
branchRCL_3
changeset 92 dde4619868dc
parent 80 e02eb84a14d2
equal deleted inserted replaced
86:703a2b94c06c 92:dde4619868dc
   184 // ----------------------------------------------------------------------------
   184 // ----------------------------------------------------------------------------
   185 // Start personality.
   185 // Start personality.
   186 // ----------------------------------------------------------------------------
   186 // ----------------------------------------------------------------------------
   187 //
   187 //
   188 void CUsbActivePersonalityHandler::StartPersonality( TInt& aPersonalityId,
   188 void CUsbActivePersonalityHandler::StartPersonality( TInt& aPersonalityId,
   189         TRequestStatus& aStatus )
   189         TInt aAskOnConnectionSetting, TRequestStatus& aStatus )
   190     {
   190     {
   191     LOG_FUNC
   191     LOG_FUNC
   192 
   192 
   193     LOG1( "PersonalityId = %d ", aPersonalityId);
   193     LOG2( "PersonalityId = %d, AskOnConnectionSetting = %d", aPersonalityId,
       
   194             aAskOnConnectionSetting );
   194 
   195 
   195     // Remove all notes.
   196     // Remove all notes.
   196     iPersonalityNotifier->CancelAll();
   197     iPersonalityNotifier->CancelAll();
   197      
   198      
   198 
   199 
   199     iPersonalityId = &aPersonalityId;
   200     iPersonalityId = &aPersonalityId;
       
   201     iAskOnConnectionSetting = aAskOnConnectionSetting;
   200     aStatus = KRequestPending;
   202     aStatus = KRequestPending;
   201     iRequestStatus = &aStatus;
   203     iRequestStatus = &aStatus;
   202 
   204 
   203     // prepare current personality for start and return
   205     // prepare current personality for start and return
   204     if( iCurrentPersonalityHandler )
   206     if( iCurrentPersonalityHandler )
   268     iDeviceState = aStateNew;        
   270     iDeviceState = aStateNew;        
   269     switch ( aStateNew )
   271     switch ( aStateNew )
   270         {
   272         {
   271         case EUsbDeviceStateAddress:
   273         case EUsbDeviceStateAddress:
   272             {
   274             {
   273             if ((aStateOld != EUsbDeviceStateSuspended) && (aStateOld
   275             if( iAskOnConnectionSetting &&
   274                     != EUsbDeviceStateConfigured) && (ESwStateCharging
   276                     ( aStateOld != EUsbDeviceStateSuspended ) &&
   275                     != CUsbGlobalSystemStateObserver::GlobalSystemState()))
   277                     ( aStateOld != EUsbDeviceStateConfigured ) 
       
   278                      )
   276                 {
   279                 {
   277                 iPersonalityParams->PersonalityNotifier().ShowQuery(
   280                 iPersonalityParams->PersonalityNotifier().ShowQuery(
   278                         KCableConnectedNotifierUid, iDummy,
   281                         KCableConnectedNotifierUid, iDummy,
   279                         iPersonalityPckgBuf);
   282                         iPersonalityPckgBuf);
   280                 }
   283                 }
   315             iQueryParams().iQuery = EUSBNotEnoughRam;
   318             iQueryParams().iQuery = EUSBNotEnoughRam;
   316             iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, 
   319             iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, 
   317     	                iQueryParams, iDummyBuf);
   320     	                iQueryParams, iDummyBuf);
   318             break;
   321             break;
   319         case KErrDiskFull:
   322         case KErrDiskFull:
   320             if (ESwStateCharging
   323             iQueryParams().iQuery = EUSBDiskFull;
   321                     != CUsbGlobalSystemStateObserver::GlobalSystemState())
   324             iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, 
   322                 {
   325     	                iQueryParams, iDummyBuf);
   323                 iQueryParams().iQuery = EUSBDiskFull;
       
   324                 iPersonalityParams->PersonalityNotifier().ShowQuery(
       
   325                         KQueriesNotifier, iQueryParams, iDummyBuf);
       
   326                 }
       
   327             break;
   326             break;
   328         default:
   327         default:
   329         	LOG( "Ignored" );
   328         	LOG( "Ignored" );
   330         }
   329         }
   331 
   330 
   437             LOG( "EUsbPersonalityFinishStop" );
   436             LOG( "EUsbPersonalityFinishStop" );
   438 
   437 
   439             delete iCurrentPersonalityHandler;
   438             delete iCurrentPersonalityHandler;
   440             iCurrentPersonalityHandler = NULL;
   439             iCurrentPersonalityHandler = NULL;
   441 
   440 
       
   441             //iAskOnConnectionSetting may be have been set to off
   442             if ( iDeviceState == EUsbDeviceStateUndefined )
   442             if ( iDeviceState == EUsbDeviceStateUndefined )
   443                 {
   443                 {
   444 	            iPersonalityParams->PersonalityNotifier().CancelQuery(
   444 	            iPersonalityParams->PersonalityNotifier().CancelQuery(
   445 	                    KCableConnectedNotifierUid );
   445 	                    KCableConnectedNotifierUid );
   446                 }
   446                 }