equal
deleted
inserted
replaced
50 |
50 |
51 qRegisterMetaType<CxeAutoFocusControl::State>(); |
51 qRegisterMetaType<CxeAutoFocusControl::State>(); |
52 |
52 |
53 initializeStates(); |
53 initializeStates(); |
54 |
54 |
|
55 OstTrace0(camerax_performance, CXEAUTOFOCUSCONTROLSYMBIAN_CREATE_MID1, "msg: e_CX_ENGINE_CONNECT_SIGNALS 1"); |
55 // connect signals from cameraDevice, so we recieve events when camera reference changes |
56 // connect signals from cameraDevice, so we recieve events when camera reference changes |
56 QObject::connect( &cameraDevice, |
57 QObject::connect( &cameraDevice, |
57 SIGNAL(prepareForCameraDelete()), |
58 SIGNAL(prepareForCameraDelete()), |
58 this,SLOT(prepareForCameraDelete()) ); |
59 this,SLOT(prepareForCameraDelete()) ); |
59 |
60 |
62 this,SLOT(handleCameraAllocated(CxeError::Id)) ); |
63 this,SLOT(handleCameraAllocated(CxeError::Id)) ); |
63 |
64 |
64 QObject::connect( &cameraDevice, |
65 QObject::connect( &cameraDevice, |
65 SIGNAL(prepareForRelease()), |
66 SIGNAL(prepareForRelease()), |
66 this,SLOT(prepareForRelease()) ); |
67 this,SLOT(prepareForRelease()) ); |
|
68 OstTrace0(camerax_performance, CXEAUTOFOCUSCONTROLSYMBIAN_CREATE_MID2, "msg: e_CX_ENGINE_CONNECT_SIGNALS 0"); |
67 |
69 |
68 initializeResources(); |
70 initializeResources(); |
69 |
71 |
70 CX_DEBUG_EXIT_FUNCTION(); |
72 CX_DEBUG_EXIT_FUNCTION(); |
71 } |
73 } |
82 } |
84 } |
83 |
85 |
84 |
86 |
85 /* |
87 /* |
86 * Start Autofocus |
88 * Start Autofocus |
87 */ |
89 * \param soundEnabled False if the auto focus sound don't need to be played |
88 CxeError::Id CxeAutoFocusControlSymbian::start() |
90 * Default value for soundEnabled is true |
89 { |
91 */ |
90 CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <> state: %d", state() ) ); |
92 CxeError::Id CxeAutoFocusControlSymbian::start(bool soundEnabled) |
91 |
93 { |
|
94 CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <> state: %d, sound enabled: %d", |
|
95 state(), soundEnabled ) ); |
|
96 mSoundEnabled = soundEnabled; |
92 int err = KErrNone; |
97 int err = KErrNone; |
93 |
98 |
94 CX_ASSERT_ALWAYS(mAdvancedSettings); |
99 CX_ASSERT_ALWAYS(mAdvancedSettings); |
95 |
100 |
96 if ( state() != CxeAutoFocusControl::InProgress && state() != CxeAutoFocusControl::Canceling ) { |
101 if ( state() != CxeAutoFocusControl::InProgress && state() != CxeAutoFocusControl::Canceling ) { |
102 } else { // AF was started earlier, can't start until it completes |
107 } else { // AF was started earlier, can't start until it completes |
103 err = KErrInUse; |
108 err = KErrInUse; |
104 } |
109 } |
105 |
110 |
106 CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <= err : %d", err ) ); |
111 CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <= err : %d", err ) ); |
107 |
|
108 return CxeErrorHandlingSymbian::map(err); |
112 return CxeErrorHandlingSymbian::map(err); |
109 } |
113 } |
110 |
114 |
111 |
115 |
112 |
116 |
197 KUidECamEventCameraSettingsOptimalFocusUidValue, |
201 KUidECamEventCameraSettingsOptimalFocusUidValue, |
198 KUidECamEventCameraSettingAutoFocusType2UidValue )); |
202 KUidECamEventCameraSettingAutoFocusType2UidValue )); |
199 |
203 |
200 // We're only interested in autofocus events |
204 // We're only interested in autofocus events |
201 if ( eventUid == KUidECamEventCameraSettingsOptimalFocusUidValue || |
205 if ( eventUid == KUidECamEventCameraSettingsOptimalFocusUidValue || |
202 eventUid == KUidECamEventCameraSettingAutoFocusType2UidValue ) { |
206 eventUid == KUidECamEventCameraSettingAutoFocusType2UidValue || |
|
207 eventUid == KUidECamEventCameraSettingFocusRangeUidValue) { |
203 // Autofocus Event handle it. |
208 // Autofocus Event handle it. |
204 handleAfEvent(eventUid, error); |
209 handleAfEvent(eventUid, error); |
205 } |
210 } |
206 |
211 |
207 CX_DEBUG_EXIT_FUNCTION(); |
212 CX_DEBUG_EXIT_FUNCTION(); |
408 if (KErrNone == error) { |
413 if (KErrNone == error) { |
409 setState(CxeAutoFocusControl::Ready); |
414 setState(CxeAutoFocusControl::Ready); |
410 } else { |
415 } else { |
411 setState(CxeAutoFocusControl::Failed, error); |
416 setState(CxeAutoFocusControl::Failed, error); |
412 } |
417 } |
|
418 } else if (eventUid == KUidECamEventCameraSettingFocusRangeUidValue) { |
|
419 // check for error, we don't need this event for anything else |
|
420 if (error != KErrNone) { |
|
421 CX_DEBUG(("CxeAutofocusControlSymbian::handleAfEvent <> " |
|
422 "KUidECamEventCameraSettingFocusRangeUidValue: autofocus failed %d", error)); |
|
423 setState(CxeAutoFocusControl::Failed, error); |
|
424 } |
413 } |
425 } |
414 break; |
426 break; |
415 } |
427 } |
416 case CxeAutoFocusControl::Canceling: { |
428 case CxeAutoFocusControl::Canceling: { |
417 CX_DEBUG(("CxeAutoFocusControlSymbian::handleAfEvent <> Canceling")); |
429 CX_DEBUG(("CxeAutoFocusControlSymbian::handleAfEvent <> Canceling")); |
431 } |
443 } |
432 default: |
444 default: |
433 break; |
445 break; |
434 } // end switch |
446 } // end switch |
435 |
447 |
|
448 CX_DEBUG_EXIT_FUNCTION(); |
|
449 } |
|
450 |
|
451 /*! |
|
452 * Public method for checking if auto focus sound is enabled |
|
453 * \return true if enabled |
|
454 */ |
|
455 bool CxeAutoFocusControlSymbian::isSoundEnabled() const |
|
456 { |
|
457 return mSoundEnabled; |
436 } |
458 } |
437 |
459 |
438 // end of file |
460 // end of file |