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 EUsbDeviceStateAddress: |
271 case EUsbDeviceStateAddress: |
274 { |
272 { |
275 if( iAskOnConnectionSetting && |
273 if ((aStateOld != EUsbDeviceStateSuspended) && (aStateOld |
276 ( aStateOld != EUsbDeviceStateSuspended ) && |
274 != EUsbDeviceStateConfigured) && (ESwStateCharging |
277 ( aStateOld != EUsbDeviceStateConfigured ) |
275 != CUsbGlobalSystemStateObserver::GlobalSystemState())) |
278 ) |
|
279 { |
276 { |
280 iPersonalityParams->PersonalityNotifier().ShowQuery( |
277 iPersonalityParams->PersonalityNotifier().ShowQuery( |
281 KCableConnectedNotifierUid, iDummy, |
278 KCableConnectedNotifierUid, iDummy, |
282 iPersonalityPckgBuf); |
279 iPersonalityPckgBuf); |
283 } |
280 } |
318 iQueryParams().iQuery = EUSBNotEnoughRam; |
315 iQueryParams().iQuery = EUSBNotEnoughRam; |
319 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
316 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
320 iQueryParams, iDummyBuf); |
317 iQueryParams, iDummyBuf); |
321 break; |
318 break; |
322 case KErrDiskFull: |
319 case KErrDiskFull: |
323 iQueryParams().iQuery = EUSBDiskFull; |
320 if (ESwStateCharging |
324 iPersonalityParams->PersonalityNotifier().ShowQuery(KQueriesNotifier, |
321 != CUsbGlobalSystemStateObserver::GlobalSystemState()) |
325 iQueryParams, iDummyBuf); |
322 { |
|
323 iQueryParams().iQuery = EUSBDiskFull; |
|
324 iPersonalityParams->PersonalityNotifier().ShowQuery( |
|
325 KQueriesNotifier, iQueryParams, iDummyBuf); |
|
326 } |
326 break; |
327 break; |
327 default: |
328 default: |
328 LOG( "Ignored" ); |
329 LOG( "Ignored" ); |
329 } |
330 } |
330 |
331 |
436 LOG( "EUsbPersonalityFinishStop" ); |
437 LOG( "EUsbPersonalityFinishStop" ); |
437 |
438 |
438 delete iCurrentPersonalityHandler; |
439 delete iCurrentPersonalityHandler; |
439 iCurrentPersonalityHandler = NULL; |
440 iCurrentPersonalityHandler = NULL; |
440 |
441 |
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 } |