camerauis/cameraapp/generic/common/inc/CamControllerObservers.h
changeset 0 1ddebce53859
child 27 53c8aa5d97a3
equal deleted inserted replaced
-1:000000000000 0:1ddebce53859
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Defines abstract API's for the controller observers*
       
    15 */
       
    16 
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CAMCONTROLLEROBSERVERS_H
       
    21 #define CAMCONTROLLEROBSERVERS_H
       
    22 
       
    23  
       
    24 
       
    25 /**
       
    26 *  Controller events that are reported to observers through the
       
    27 * MCamControllerObserver interface
       
    28 *
       
    29 *  @since 2.8
       
    30 */
       
    31 enum TCamControllerEvent
       
    32     {
       
    33     ECamEventControllerReady, // New request can be issued to CCamAppController
       
    34 
       
    35     ECamEventEngineStateChanged,
       
    36     ECamEventOperationStateChanged,
       
    37     ECamEventSnapshotReady,
       
    38     ECamEventCaptureComplete,
       
    39     ECamEventRecordComplete,
       
    40     ECamEventCounterUpdated,
       
    41     ECamEventZoomStateChanged,
       
    42     ECamEventFocusCancelled,
       
    43     ECamEventFlashStateChanged,
       
    44     ECamEventSceneStateChanged,
       
    45     ECamEventAudioMuteStateChanged,
       
    46     ECamEventContAFStateChanged, 
       
    47     ECamEventVideoFileTypeChanged,
       
    48     ECamEventImageQualityChanged,
       
    49     ECamEventVideoQualityChanged,
       
    50     ECamEventSaveLocationChanged,
       
    51     ECamEventSaveComplete,
       
    52     ECamEventSaveCancelled, 
       
    53     ECamEventVideoPauseTimeout,
       
    54     ECamEventMediaFileChanged,
       
    55     ECamEventExitRequested,
       
    56     ECamEventCallStateChanged,
       
    57     ECamEventMemoryCardHotswap,
       
    58     ECamEventCameraChanged,
       
    59     ECamEventSetupStateChanged,
       
    60     ECamEventZoomSetupChanged,
       
    61     ECamEventMacroSwitchChanged,
       
    62     ECamEventSliderOpen,
       
    63     ECamEventSliderClosed,
       
    64     ECamEventInvalidMemoryCard,
       
    65     ECamEventVfOverlayChanged, // Yet only for CAMERAAPP_PRODUCT_SUPPORTS_VF_GRID
       
    66 	ECamEventUserModeChanged,
       
    67     ECamEventHistogramChanged,
       
    68 
       
    69 	ECamEventLocationSettingChanged,
       
    70     ECamEventRestoreCameraSettings,
       
    71     ECamEventExposureChanged,
       
    72     ECamEventVideoStabChanged,
       
    73     ECamEventImageData,
       
    74     ECamEventFaceTrackingStateChanged,
       
    75     ECamEventInitReady,
       
    76     };
       
    77 
       
    78 // FORWARD DECLARATIONS
       
    79 class CFbsBitmap;
       
    80 
       
    81 // CLASS DECLARATION
       
    82 
       
    83 /**
       
    84 * Abstract API for viewfinder observer. 
       
    85 * Derived classes may register as viewfinder observers to get
       
    86 * related notifications from CCamAppController.
       
    87 *
       
    88 *  @since 2.8
       
    89 */
       
    90 //class MCamViewFinderObserver
       
    91 //    {
       
    92 //    public:
       
    93 //        /**
       
    94 //        * New viewfinder frame is available 
       
    95 //        * @since 2.8
       
    96 //        * @param aFrame pointer to the bitmap. This pointer is valid until
       
    97 //        *               the call returns. Ownership not transferred.
       
    98 //        * @param aFrozen whether or not the viewfinder has been frozen
       
    99 //        */
       
   100 //        virtual void ShowViewFinderFrame( const CFbsBitmap* aFrame, TBool aFrozen ) = 0;
       
   101 //    };
       
   102 
       
   103 /**
       
   104 * Abstract API for controller observer. 
       
   105 * Derived classes may register as controller observers to
       
   106 * get related notifications about state changes in CCamAppController and
       
   107 * engine notifications.
       
   108 *
       
   109 *  @since 2.8
       
   110 */
       
   111 class MCamControllerObserver
       
   112     {
       
   113     public:
       
   114         /**
       
   115         * Handle an event from CCamAppController.
       
   116         * @since 2.8
       
   117         * @param aEvent the controller event that has occurred
       
   118         * @param aError any reported error
       
   119         */
       
   120         virtual void HandleControllerEventL( TCamControllerEvent aEvent,
       
   121                                             TInt aError ) = 0;
       
   122     };
       
   123 
       
   124 #endif      // CAMCONTROLLEROBSERVERS_H
       
   125             
       
   126 // End of File