camerauis/cameraapp/generic/inc/cambatterypanecontroller.h
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/inc/cambatterypanecontroller.h	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 CCamBatteryPaneController class.
-*
-*  Copyright © 2007-2008 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.
-
-*
-*
-*/
-
-
-#ifndef CAMBATTERYPANECONTROLLER_H
-#define CAMBATTERYPANECONTROLLER_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include "CamPropertyObserver.h" // MPropertyObserver
-
-// CONSTANTS
-
-// Battery strength and animation timer constants.
-const TInt KMinBatteryStrength      = 0;
-const TInt KMaxBatteryStrength      = 7;
-const TInt KBatteryRechargeTick     = 500000;
-
-// FORWARD DECLARATIONS
-
-class CCamBatteryPaneDrawer;
-class CCamPropertyWatcher;
-class CWindowGc;
-class CBitmapContext;
-
-// CLASS DECLARATION
-
-/**
-* Abstract API for battery pane observer.
-* Derived classes, which have subscribed to CCamBatteryPaneController
-* receive notification when the battery pane contents change
-*/
-class MCamBatteryPaneObserver
-    {
-    public:    
-        /**
-        * The battery pane contents have changed
-        */
-        virtual void BatteryPaneUpdated() = 0;
-    };   
-
-/**
-* Watches changes in battery strength and charge properties and provides
-* animation of recharging. Notifies observer of changes in the battery pane.
-* Handles drawing requests by passing them to owned CCamBatteryPaneDrawer
-* object.
-*/
-class CCamBatteryPaneController: public CBase, public MPropertyObserver
-    {
-    
-    public: // Construction and destruction
-        /**
-        * Descructor
-        */
-        ~CCamBatteryPaneController();
-        /**
-        * Two-phased constructor
-        * @param aObserver              Battery pane observer
-        * @param aCallbackActive        Callback to the observer active
-        * @return Pointer to the created 
-        */
-        static CCamBatteryPaneController* NewL(
-                MCamBatteryPaneObserver& aObserver,
-                TBool aCallbackActive );
-    
-    
-    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: // New functions
-        /**
-        * Pause battery pane controller. With value ETrue, stops listening
-        * to battery pane events, with EFalse reinitializes and starts
-        * listening to the events again.
-        */
-        void Pause( TBool aPause );        
-    
-        /**
-        * Activate or deactivate callbacks to observer when there
-        * are changes in the battery pane.
-        * @param aActive Callback to observer active
-        */          
-        void SetCallbackActive( TBool aActive );
-        
-        /**
-        * Set location in the screen, where the battery pane is
-        * to be drawn.
-        * @param aLocation Drawing location
-        */        
-        void SetLocation( TPoint aLocation );
-        
-        /**
-        * Set battery strength.
-        * @param aStrength Battery strength
-        */
-        void SetBatteryStrength( TInt aStrength );
-                
-        /**
-        * Start the recharging animation
-        */        
-        void StartRecharging();        
-        
-        /**
-        * Stop the recharging animation
-        */  
-        void StopRecharging();
-        
-        /**
-        * Get battery pane's rectangle
-        * @return rectangle
-        */
-        TRect Rect() const; 
-        
-        /**
-        * Get rectangle of the animated part of battery pane
-        * @return rectangle
-        */
-        TRect AnimationRect() const;                 
-
-        /**
-        * Draw the battery pane
-        * @param aGc Graphics context
-        */                 
-        void Draw( CBitmapContext& aGc ) const;
-        //void Draw( CWindowGc& aGc ) const;
-        
-        /**
-        * Handle resource change event
-        * @param aType Type of the resource change
-        */
-        void HandleResourceChange( TInt aType );        
-        
-    protected:
-        /**
-        * Second phase constructor
-        */
-        void ConstructL();
-    
-    private:
-        /**
-        * Constructor.
-        * @param aObserver Battery pane observer
-        * @param aCallbackActive Callback to the observer active
-        */
-        CCamBatteryPaneController(
-            MCamBatteryPaneObserver& aObserver,
-            TBool aCallbackActive );
-
-        /**
-        * 
-        * @param aThis Pointer to the object owning the ticker
-        */
-        static TInt TickerCallback( TAny* aThis );        
-        
-        /**
-        * Changes the (charging) battery strenght value as needed to show the next
-        * frame of the animation.
-        */
-        void UpdateRechargeBatteryStrength();
-        
-        /**
-        * Notifies observer of changes in the battery pane,
-        * if iCallbackActive is set
-        */
-        void NotifyObserver();
-        
-        /**
-        * Read current status of the properties. Set battery level
-        * and start/stop battery recharging animation accordingly.
-        */
-        void ReadCurrentState();
-        
-        /**
-        * Start/stop the charging animation, depending on aStatus value
-        * @param aStatus Value of the charging status property
-        */
-        void HandleChargingStatusChange( TInt aStatus );
-        
-    private:            
-        // Current battery strength
-        TInt                        iBatteryStrength;
-    
-        // Recharging animation status
-        TBool                       iRecharging;
-        TInt                        iRechargeBatteryStrength;
-    
-        // Object that handles the actual drawing
-        CCamBatteryPaneDrawer*      iDrawer;
-        
-        // Recharge animation timer
-        CPeriodic*                  iTicker;
-   
-        // Observer of the battery pane changes
-        MCamBatteryPaneObserver&    iObserver;
-        TBool                       iCallbackActive;
-    
-        // Property watchers for battery charging and strength
-        CCamPropertyWatcher*        iBatteryStrengthWatcher;
-        CCamPropertyWatcher*        iBatteryChargingWatcher;
-        
-        TBool                       iPaused;
-    };
-        
-#endif