camerauis/cameraapp/generic/common/inc/CamControllerObservers.h
branchRCL_3
changeset 24 bac7acad7cb3
equal deleted inserted replaced
23:61bc0f252b2b 24:bac7acad7cb3
       
     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     ECamEventSnapshotRotated
       
    77     };
       
    78 
       
    79 // FORWARD DECLARATIONS
       
    80 class CFbsBitmap;
       
    81 
       
    82 // CLASS DECLARATION
       
    83 
       
    84 /**
       
    85 * Abstract API for viewfinder observer. 
       
    86 * Derived classes may register as viewfinder observers to get
       
    87 * related notifications from CCamAppController.
       
    88 *
       
    89 *  @since 2.8
       
    90 */
       
    91 //class MCamViewFinderObserver
       
    92 //    {
       
    93 //    public:
       
    94 //        /**
       
    95 //        * New viewfinder frame is available 
       
    96 //        * @since 2.8
       
    97 //        * @param aFrame pointer to the bitmap. This pointer is valid until
       
    98 //        *               the call returns. Ownership not transferred.
       
    99 //        * @param aFrozen whether or not the viewfinder has been frozen
       
   100 //        */
       
   101 //        virtual void ShowViewFinderFrame( const CFbsBitmap* aFrame, TBool aFrozen ) = 0;
       
   102 //    };
       
   103 
       
   104 /**
       
   105 * Abstract API for controller observer. 
       
   106 * Derived classes may register as controller observers to
       
   107 * get related notifications about state changes in CCamAppController and
       
   108 * engine notifications.
       
   109 *
       
   110 *  @since 2.8
       
   111 */
       
   112 class MCamControllerObserver
       
   113     {
       
   114     public:
       
   115         /**
       
   116         * Handle an event from CCamAppController.
       
   117         * @since 2.8
       
   118         * @param aEvent the controller event that has occurred
       
   119         * @param aError any reported error
       
   120         */
       
   121         virtual void HandleControllerEventL( TCamControllerEvent aEvent,
       
   122                                             TInt aError ) = 0;
       
   123     };
       
   124 
       
   125 #endif      // CAMCONTROLLEROBSERVERS_H
       
   126             
       
   127 // End of File