vtuis/videotelui/inc/compman/cvtuicomponentmanager.h
branchRCL_3
changeset 24 f15ac8e65a02
parent 23 890b5dd735f8
child 25 779871d1e4f4
--- a/vtuis/videotelui/inc/compman/cvtuicomponentmanager.h	Thu Aug 19 09:57:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,435 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Component manager implementation.
-*
-*/
-
-
-#ifndef C_VTUICOMPONENTMANAGER_H
-#define C_VTUICOMPONENTMANAGER_H
-
-#include <coeaui.h>
-
-#include "mvtuicomponentmanager.h"
-#include "mvtuicomponent.h"
-#include "tvtuicomponentstate.h"
-
-/**
- *  CVtUiComponentManager
- *
- *  Component manager implementation.
- *
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVtUiComponentManager )
-    : public CBase, public MVtUiComponentManager
-    {
-
-public: // public methods
-
-    /**
-     * Static constructor.
-     *
-     * @return Newly created instance of CVtUiComponentManager class.
-     */
-    static CVtUiComponentManager* NewL();
-
-    /**
-     * Destructor.
-     */
-    ~CVtUiComponentManager();
-
-    /**
-     * Called when a Ws event is delivered.
-     *
-     * @param aEvent Window server event.
-     * @param aDestination Event destination control.
-     */
-    void HandleWsEventL( const TWsEvent& aEvent, CCoeControl *aDestination );
-
-    /**
-     * Called when a resource change is informed.
-     *
-     * @param aType Type of change.
-     */
-    void HandleResourceChangeL( TInt aType );
-
-    /**
-     * Called when a keyevent needs handling.
-     *
-     * @param aKeyEvent Key event structure.
-     * @param aCode Event code.
-     */
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType);
-
-    /**
-     * Called when a layout change is informed.
-     *
-     */
-    void HandleLayoutChangeL();
-
-public: // from MVtUiComponentManager
-
-    /**
-     * @see MVtUiComponentManager::ChangeWsEventRegistration
-     */
-    TInt ChangeWsEventRegistration( MVtUiWindowServerEventObserver& aObserver,
-        TAction aAction );
-
-    /**
-     * @see MVtUiComponentManager::ChangeResourceChangeRegistration
-     */
-    TInt ChangeResourceChangeRegistration(
-        MVtUiResourceChangeObserver& aObserver,
-        TAction aAction );
-
-    /**
-     * @see MVtUiComponentManager::ChangeKeyEventRegistration
-     */
-    TInt ChangeKeyEventRegistration( MVtUiKeyEventObserver& aComponent,
-        TAction aAction );
-
-    /**
-     * @see MVtUiComponentManager::ChangeLayoutChangeRegistration
-     */
-    TInt ChangeLayoutChangeRegistration( MVtUiLayoutChangeObserver& aComponent,
-        TAction aAction );
-
-    /**
-     * @see MVtUiComponentManager::ChangeComponentRegistration
-     */
-    TInt ChangeComponentRegistration( TVtUiComponentState& aComponentState,
-        TAction aAction );
-
-    /**
-     * @see MVtUiComponentManager::RequestActivation
-     */
-    void RequestActivationL( MVtUiComponent::TComponentId aId );
-
-    /**
-     * @see MVtUiComponentManager::DeActivateComponentL
-     */
-    void DeActivateComponentL( MVtUiComponent::TComponentId aId );
-
-private: // private classes
-
-    /**
-     * TStateListItem
-     *
-     * Contains one component's state in state list.
-     */
-    class TStateListItem
-        {
-
-    public: // public type definitions
-
-		/**
-		 * Compare by key type definition.
-		 */
-        typedef TInt (*TKeyCmpFunc)
-            ( const MVtUiComponent::TComponentId*, const TStateListItem& );
-
-    public: // public methods
-
-		/**
-		 * Constructor
-		 *
-		 * @param aState Constant reference to component state.
-		 */
-        TStateListItem( const TVtUiComponentState& aState );
-
-		/**
-		 * Returns component id.
-		 *
-		 * @return Component's id.
-		 */
-        MVtUiComponent::TComponentId ComponentId() const;
-
-		/**
-		 * Returns component's state.
-		 *
-		 * @return Component's state.
-		 */
-        TVtUiComponentState::TState State() const;
-
-		/**
-		 * Sets component's state.
-		 *
-		 * @param aState Component's new state.
-		 */
-        void SetState( TVtUiComponentState::TState aState );
-
-		/**
-		 * Returns const reference to block list.
-		 *
-		 * @return Constant reference to block list.
-		 */
-        const TVtUiBlockList& BlockList() const;
-
-		/**
-		 * Sets this object as root.
-		 */
-        void SetRoot();
-
-		/**
-		 * Returns ETrue if this object is root.
-		 *
-		 * @return ETrue if this item is root, EFalse otherwise.
-		 */
-        TBool IsRoot() const;
-
-		/**
-		 * Sets this object as visited.
-		 */
-        void SetVisited();
-
-		/**
-		 * Returns ETrue if this object is visited.
-		 *
-		 * @return ETrue if this item has been visited, EFalse otherwise.
-		 */
-        TBool IsVisited() const;
-
-    public: // static public methods
-
-		/**
-		 * Returns TLinearOrder for RArray operations. Ordered by component id.
-		 *
-		 * @return TLinearOrder insntace for RArray operations. Ordering will
-		 * be done based on component Id.
-		 */
-        static TLinearOrder< TStateListItem > LinearOrder();
-
-		/**
-		 * Returns key order function for RArray operations.
-		 *
-		 * @return Key compare method pointer for RArray operations.
-		 */
-        static TKeyCmpFunc KeyOrder();
-
-		/**
-		 * Returns TLinearOrder for RArray operations. Ordered by component
-		 * state.
-		 *
-		 * @return TLinearOrder instance for RArray operations. Ordering will
-		 * be done based on component state.
-		 */
-        static TLinearOrder< TStateListItem > StateOrder();
-
-    private: // static private methods
-
-		/**
-		 * StateListItem compare method.
-		 */
-        static TInt ItemCmpFunc( const TStateListItem& aItem1,
-            const TStateListItem& aItem2 );
-
-		/**
-		 * StateListItem vs key compare method.
-		 */
-        static TInt KeyCmpFunc( const MVtUiComponent::TComponentId* aKey,
-            const TStateListItem& aItem );
-
-		/**
-		 * StateListItem by state compare method.
-		 */
-        static TInt StateCmpFunc( const TStateListItem& aItem1,
-            const TStateListItem& aItem2 );
-
-    private: // data
-
-        // Component's ID
-        MVtUiComponent::TComponentId iComponentId;
-
-        // Component's state
-        TVtUiComponentState::TState iState;
-
-        // Block mask (IDs which will be blocked by this component)
-        TVtUiBlockListBitField iBlockList;
-
-        // ETrue if this component is the root compoent, EFalse otherwise
-        TBool iIsRoot;
-
-        // ETrue if this component has been already visited (i.e. evaluated)
-        TBool iIsVisited;
-
-        };
-
-    /**
-     * TStateList
-     *
-     * Contains list of component states. This list can be modified and when all
-     * modifications are ready, the whole list can be commited at once.
-     *
-     */
-    class TStateList
-        {
-
-    public: // public methods
-
-		/**
-		 * Constructor.
-		 */
-        TStateList();
-
-		/**
-		 * Destructor.
-		 */
-        ~TStateList();
-
-		/**
-		 * Add new item to state list.
-		 *
-		 * @param aItem Reference to item to be added to the list.
-		 */
-        void AddItemL( TStateListItem& aItem );
-
-		/**
-		 * Returns number of items in state list.
-		 *
-		 * @return Number of items on list.
-		 */
-        TInt ItemCount() const;
-
-		/**
-		 * Find state list item by component id.
-		 *
-		 * @param aComponentId Id of component that will be searched.
-		 * @return Index of the component or KErrNotFound if component with
-		 * given Id could not be found.
-		 */
-        TInt FindItem( MVtUiComponent::TComponentId aComponentId ) const;
-
-		/**
-		 * Returns reference to state list item at given index.
-		 *
-		 * @param aIndex Index of the item to be fetched.
-		 * @return Reference to item at given index.
-		 */
-        TStateListItem& At( TInt aIndex );
-
-		/**
-		 * Returns const reference to state list item at given index.
-		 *
-		 * @param aIndex Index of the item to be fetched.
-		 * @return Constant reference to item at given index.
-		 */
-        const TStateListItem& At( TInt aIndex ) const;
-
-		/**
-		 * Sorts list using given linear order.
-		 *
-		 * @param aOrder TLinearObject that will be used in sorting.
-		 */
-        void Sort(
-            TLinearOrder< CVtUiComponentManager::TStateListItem > aOrder );
-
-    private: // data
-
-        // List items
-        RArray< TStateListItem > iItems;
-
-        };
-
-private: // enumerations
-
-    /**
-     * Activation actions
-     */
-    enum TActivationAction
-        {
-        /** Hide component */
-        EHide,
-        /** Show component */
-        EShow
-        };
-
-private:
-
-    /**
-     * Constructor
-     */
-    CVtUiComponentManager();
-
-    /**
-     * 2nd constructor, may leave
-     */
-    void ConstructL();
-
-    /**
-     * Adds or removes component from given array.
-     */
-    template < class T >
-    TInt AddOrRemoveComponent( RPointerArray< T >& aArray, T* aComponent,
-        TAction aAction );
-
-    /**
-     * Returns linear order object for array operations.
-     */
-    static TLinearOrder< MVtUiComponent > ComponentOrder();
-
-    /**
-     * Returns linear order object for array operations.
-     */
-    static TLinearOrder< TVtUiComponentState > ComponentStateOrder();
-
-    /**
-     * Starts activation process.
-     */
-    void DoActivationL( TVtUiComponentState& aComponentState,
-        TVtUiComponentState::TState aNewState );
-
-    /**
-     * Starts deactivation process.
-     */
-    void DoDeactivationL( TVtUiComponentState& aComponentState,
-        TVtUiComponentState::TState aNewState );
-
-    /**
-     * Calculates activation.
-     */
-    void CalculateActivationL( const TVtUiBlockList& aBlockList,
-        const TVtUiBlockList& aExclList, TStateList& aStateList,
-        TActivationAction aAction );
-
-    /**
-     * Commits activation calculation results.
-     */
-    void CommitStateListL( TStateList& aList );
-
-    /**
-     * Constructs component state list before the calculations.
-     */
-    void ConstructStateListL( TStateList& aList );
-
-private: // data
-
-    // Window server event listeners
-    RPointerArray< MVtUiWindowServerEventObserver > iWsEventObservers;
-
-    // Resource change event listeners
-    RPointerArray< MVtUiResourceChangeObserver > iResourceChangeObservers;
-
-    // Key event listeners
-    RPointerArray< MVtUiKeyEventObserver > iKeyEventObservers;
-    
-    // Layout change listeners
-    RPointerArray< MVtUiLayoutChangeObserver > iLayoutChangeObservers;
-
-    // Registered components
-    RPointerArray< TVtUiComponentState > iComponents;
-
-    };
-
-#endif // C_VTUICOMPONENTMANAGER_H