diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/common/inc/CamControllerObservers.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/common/inc/CamControllerObservers.h Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,127 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Defines abstract API's for the controller observers* +*/ + + + + +#ifndef CAMCONTROLLEROBSERVERS_H +#define CAMCONTROLLEROBSERVERS_H + + + +/** +* Controller events that are reported to observers through the +* MCamControllerObserver interface +* +* @since 2.8 +*/ +enum TCamControllerEvent + { + ECamEventControllerReady, // New request can be issued to CCamAppController + + ECamEventEngineStateChanged, + ECamEventOperationStateChanged, + ECamEventSnapshotReady, + ECamEventCaptureComplete, + ECamEventRecordComplete, + ECamEventCounterUpdated, + ECamEventZoomStateChanged, + ECamEventFocusCancelled, + ECamEventFlashStateChanged, + ECamEventSceneStateChanged, + ECamEventAudioMuteStateChanged, + ECamEventContAFStateChanged, + ECamEventVideoFileTypeChanged, + ECamEventImageQualityChanged, + ECamEventVideoQualityChanged, + ECamEventSaveLocationChanged, + ECamEventSaveComplete, + ECamEventSaveCancelled, + ECamEventVideoPauseTimeout, + ECamEventMediaFileChanged, + ECamEventExitRequested, + ECamEventCallStateChanged, + ECamEventMemoryCardHotswap, + ECamEventCameraChanged, + ECamEventSetupStateChanged, + ECamEventZoomSetupChanged, + ECamEventMacroSwitchChanged, + ECamEventSliderOpen, + ECamEventSliderClosed, + ECamEventInvalidMemoryCard, + ECamEventVfOverlayChanged, // Yet only for CAMERAAPP_PRODUCT_SUPPORTS_VF_GRID + ECamEventUserModeChanged, + ECamEventHistogramChanged, + + ECamEventLocationSettingChanged, + ECamEventRestoreCameraSettings, + ECamEventExposureChanged, + ECamEventVideoStabChanged, + ECamEventImageData, + ECamEventFaceTrackingStateChanged, + ECamEventInitReady, + ECamEventSnapshotRotated + }; + +// FORWARD DECLARATIONS +class CFbsBitmap; + +// CLASS DECLARATION + +/** +* Abstract API for viewfinder observer. +* Derived classes may register as viewfinder observers to get +* related notifications from CCamAppController. +* +* @since 2.8 +*/ +//class MCamViewFinderObserver +// { +// public: +// /** +// * New viewfinder frame is available +// * @since 2.8 +// * @param aFrame pointer to the bitmap. This pointer is valid until +// * the call returns. Ownership not transferred. +// * @param aFrozen whether or not the viewfinder has been frozen +// */ +// virtual void ShowViewFinderFrame( const CFbsBitmap* aFrame, TBool aFrozen ) = 0; +// }; + +/** +* Abstract API for controller observer. +* Derived classes may register as controller observers to +* get related notifications about state changes in CCamAppController and +* engine notifications. +* +* @since 2.8 +*/ +class MCamControllerObserver + { + public: + /** + * Handle an event from CCamAppController. + * @since 2.8 + * @param aEvent the controller event that has occurred + * @param aError any reported error + */ + virtual void HandleControllerEventL( TCamControllerEvent aEvent, + TInt aError ) = 0; + }; + +#endif // CAMCONTROLLEROBSERVERS_H + +// End of File