camerauis/cameraapp/generic/inc/camflashstatus.h
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/inc/camflashstatus.h	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-
-#ifndef CAMFLASHSTATUS_H
-#define CAMFLASHSTATUS_H/*
-* 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:  Header file for CCamFlashStatus class.
-*
-*  Copyright © 2007 Nokia.  All rights reserved.
-*  This material, including documentation and any related computer
-*  programs, is protected by copyright controlled by Nokia.  All
-*  rights are reserved.  Copying, including reproducing, storing,
-*  adapting or translating, any or all of this material requires the
-*  prior written consent of Nokia.  This material also contains
-*  confidential information which may not be disclosed to others
-*  without the prior written consent of Nokia.
-*
-*
-*/
-
-
-
-// ===========================================================================
-// INCLUDES
-
-#include <e32base.h>
-#include "mcamcameraobserver.h"
-
-
-// ===========================================================================
-// CONSTANTS
-
-// Flash icon blinking delay (duration of icon on/off state)
-const TInt KFlashIconBlinkDelay = 300*1000; // [microseconds]
-
-// Enumerated flash charging states. Should probably be 
-// defined in the driver's headers and included from there.
-enum TFlashChargeStatus
-    {
-    EFlashCharged       = 0x1,
-    EFlashRequired      = 0x2,
-    EFlashChargeTimeout = 0x4  
-    };
-
-/*
-// Flash P&S UID & key
-#ifndef  CAMERAAPP_SIMULATE_XENON_FLASH
-const TInt KFlashPSUid = 0xA0002371;
-#else
-// Use application UID to simulate the flash charging publish
-// and subscribe property. This way, no extra capabilities are needed
-// for creating the property.
-const TInt KFlashPSUid = 0x101FFA86;
-#endif // CAMERAAPP_SIMULATE_XENON_FLASH
-const TInt KFlashPSKey = 0;
-*/
-
-
-// ===========================================================================
-// FORWARD DECLARATIONS
-
-// 
-//class CCamPropertyWatcher;
-class CCamAppController;
-
-
-// ===========================================================================
-// CLASS DECLARATION
-
-/**
-* Interface to notify observer of flash icon visibility.
-* This is used to create icon blinking effect when the flash
-* is being recharged.
-*/
-class MFlashStatusObserver
-    {
-    public:        
-        /*
-        * Flash icon visibility has changed.
-        * @param aVisible new visibility status
-        */  
-        virtual void FlashIconVisible( TBool aVisible ) = 0;      
-        
-        /**
-        * Called every time when camera driver reports error in
-        * flash recharging.                
-        */
-        virtual void FlashError() = 0;        
-        
-    };
-
-/**
-* Class to handle flash status and flash error status.
-*
-* - Keeps track of the flash recharge and flash error status
-* - Creates events for visibility of the battery icon and uses
-*   this to create blinking effect when the flash is being
-*   charged
-* - Gives an event when a charging error is received from
-*   the camera driver. In this case, the UI can display
-*   an error message.
-*
-*/
-class CCamFlashStatus: public CBase,
-                       public MCamCameraObserver
-                     //public MPropertyObserver
-    {
-    public: // Construction and destruction
-    
-        /**
-        * Two-phased constructor
-        */
-        static CCamFlashStatus* NewL( CCamAppController& aController );
-        
-        /**
-        * Destructor
-        */
-        ~CCamFlashStatus();
-        
-    public: // New functions
-    
-        /**
-        * Subscribes to flash icon blink events. At one time, only one 
-        * observer can be listening for the events. An observer can
-        * unregister itself by giving NULL as aObserver parameter
-        * value.
-        * 
-        * @param aObserver pointer to observer or NULL
-        */
-        void Subscribe( MFlashStatusObserver* aObserver );   
-        
-        /**
-        * Returns true, if flash is fully charged, otherwise false
-        */
-        TBool FlashReady() const;
-        
-        /**
-        * Returns true if there has been an error recharging the flash
-        */
-        TBool FlashError() const;  
-        
-        /**
-        * Set the value returned by FlashError. This may be needed
-        * before application pretended exit.
-        * @param aFlashError
-        */                    
-        void SetFlashError( TBool aFlashError );
-                                
-        /**
-        * Returns true, if flash recharge error has already been
-        * reported to user. This eliminates the error displayed
-        * multiple times (for example, when switching between
-        * image and video modes)
-        */
-        TBool ErrorCallbacksEnabled() const;
-        
-        /**
-        * Enable/disable flash error callbacks. Should be set to ETrue
-        * when error message is displayed to user, and to EFalse
-        * during pretended application exit.
-        * @param aErrorReported
-        */        
-        void EnableErrorCallbacks( TBool aCallbacksEnabled );                        
-                        
-        /**
-        * Returns true, if flash icon should be displayed, false
-        * otherwise. This cannot be used to determine the charging
-        * status of the flash.
-        */
-        TBool FlashIconVisible() const;
-        
-    //public: // From MPropertyObserver
-        /**
-        * The value of a watched property has changed
-        * @param aCategory The category of the property
-        * @param aKey the Identifier of the property
-        */    
-        //void HandlePropertyChangedL( const TUid& aCategory, const TUint aKey );   
-
-    public: // From MCamCameraObserver
-
-        /**
-        * Handle camera event
-        */
-        virtual void HandleCameraEventL( TInt              aStatus, 
-                                         TCamCameraEventId aEventId, 
-                                         TAny*             aEventData = NULL );
-        
-    private: 
-    
-        /** 
-        * C++ default constructor
-        */
-        CCamFlashStatus( CCamAppController& aController );
-        
-        /**
-        * Second phase constructor
-        */
-        void ConstructL();
-
-        /**
-        * Check if blinking needs to be stopped or started.
-        */
-        void CheckBlinkingStatus();
-        
-        /**
-        * Start flash icon blinking timer
-        */
-        void StartBlinking();
-        
-        /**
-        * Stop flash icon blinking timer, return
-        * the icon to invisible state.
-        */
-        void StopBlinking();
-
-        /**
-        * Check if flash setting is off.
-        * Flash not ready events are ignored if flash setting is off.
-        */
-        TBool IsFlashOff() const;
-        
-        /**
-        * Notifies observer about error, if necessary
-        */
-        void NotifyObserverAboutFlashError();
-        
-        /**
-        * Updates blink status of the flash icon. 
-        * @param aThis
-        */
-        static TInt BlinkTimerCallback( TAny* aSelf );     
-        
-    private:      
-        
-        // Flash readiness to take a picture        
-        TBool iFlashReady;
-        
-        // Flash is required to take a photo under current
-        // lighting conditions.
-        TBool iFlashRequired;
-        
-        // Flash recharging error status.
-        // If set to true, there has been an error in recharging
-        // the flash, and flash functionality is no more functional.
-        TBool iFlashError;      
-          
-        // Determines whether cllabacks
-        TBool iErrorCallbacksEnabled;
-                
-        // Flash status observer. Typically the container where
-        // the flash icon resides.
-        MFlashStatusObserver* iObserver;
-    
-        // Timer used to create blinking effect of the flash icon
-        CPeriodic* iBlinkTimer;    
-        
-        TBool iBlinking;
-        
-        // Icon visibility 
-        // true - visible, EFalse - not visible
-        TBool iBlinkStatus;        
-        
-        // Used for watching the flash P&S key
-        //CCamPropertyWatcher* iFlashPropertyWatcher;
-        
-        // Register for Camera events through controller.
-        CCamAppController& iController;
-    };
-
-#endif // CAMFLASHSTATUS_H