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 TInt aAskOnConnectionSetting, TRequestStatus& aStatus ) |
189 TRequestStatus& aStatus ) |
190 { |
190 { |
191 LOG_FUNC |
191 LOG_FUNC |
192 |
192 |
193 LOG2( "PersonalityId = %d, AskOnConnectionSetting = %d", aPersonalityId, |
193 LOG1( "PersonalityId = %d ", aPersonalityId); |
194 aAskOnConnectionSetting ); |
|
195 |
194 |
196 // Remove all notes. |
195 // Remove all notes. |
197 iPersonalityNotifier->CancelAll(); |
196 iPersonalityNotifier->CancelAll(); |
198 |
197 |
199 |
198 |
200 iPersonalityId = &aPersonalityId; |
199 iPersonalityId = &aPersonalityId; |
201 iAskOnConnectionSetting = aAskOnConnectionSetting; |
|
202 aStatus = KRequestPending; |
200 aStatus = KRequestPending; |
203 iRequestStatus = &aStatus; |
201 iRequestStatus = &aStatus; |
204 |
202 |
205 // prepare current personality for start and return |
203 // prepare current personality for start and return |
206 if( iCurrentPersonalityHandler ) |
204 if( iCurrentPersonalityHandler ) |
270 iDeviceState = aStateNew; |
268 iDeviceState = aStateNew; |
271 switch ( aStateNew ) |
269 switch ( aStateNew ) |
272 { |
270 { |
273 case EUsbDeviceStateConfigured: |
271 case EUsbDeviceStateConfigured: |
274 { |
272 { |
275 if( aStateOld != EUsbDeviceStateSuspended ) |
273 if ((aStateOld != EUsbDeviceStateSuspended) && (ESwStateCharging |
|
274 != CUsbGlobalSystemStateObserver::GlobalSystemState())) |
276 { |
275 { |
277 iPersonalityParams->PersonalityNotifier().ShowQuery( |
276 iPersonalityParams->PersonalityNotifier().ShowQuery( |
278 KCableConnectedNotifierUid, iDummy, |
277 KCableConnectedNotifierUid, iDummy, |
279 iPersonalityPckgBuf); |
278 iPersonalityPckgBuf); |
280 } |
279 } |
315 iQueryParams().iQuery = EUSBNotEnoughRam; |
314 iQueryParams().iQuery = EUSBNotEnoughRam; |
316 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
315 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
317 iQueryParams, iDummyBuf); |
316 iQueryParams, iDummyBuf); |
318 break; |
317 break; |
319 case KErrDiskFull: |
318 case KErrDiskFull: |
320 iQueryParams().iQuery = EUSBDiskFull; |
319 if (ESwStateCharging |
321 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
320 != CUsbGlobalSystemStateObserver::GlobalSystemState()) |
322 iQueryParams, iDummyBuf); |
321 { |
|
322 iQueryParams().iQuery = EUSBDiskFull; |
|
323 iPersonalityParams->PersonalityNotifier().ShowQuery( |
|
324 KQueriesNotifier, iQueryParams, iDummyBuf); |
|
325 } |
323 break; |
326 break; |
324 default: |
327 default: |
325 LOG( "Ignored" ); |
328 LOG( "Ignored" ); |
326 } |
329 } |
327 |
330 |
433 LOG( "EUsbPersonalityFinishStop" ); |
436 LOG( "EUsbPersonalityFinishStop" ); |
434 |
437 |
435 delete iCurrentPersonalityHandler; |
438 delete iCurrentPersonalityHandler; |
436 iCurrentPersonalityHandler = NULL; |
439 iCurrentPersonalityHandler = NULL; |
437 |
440 |
438 //iAskOnConnectionSetting may be have been set to off |
|
439 if ( iDeviceState == EUsbDeviceStateUndefined ) |
441 if ( iDeviceState == EUsbDeviceStateUndefined ) |
440 { |
442 { |
441 iPersonalityParams->PersonalityNotifier().CancelQuery( |
443 iPersonalityParams->PersonalityNotifier().CancelQuery( |
442 KCableConnectedNotifierUid ); |
444 KCableConnectedNotifierUid ); |
443 } |
445 } |