vtuis/videotelui/inc/features/dialer/cvtuidialer.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 23 Nov 2009 14:47:47 +0200
changeset 0 ed9695c8bcbe
permissions -rw-r--r--
Revision: 200948

/*
* 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:  Dialer UI feature.
*
*/


#ifndef C_VTUIDIALER_H
#define C_VTUIDIALER_H

#include "cvtuifeaturebase.h"
#include "mvtuidialer.h"

class CVtUiFeatureCmdBase;
class CVtUiDialerContainer;

/**
 *  CVtUiDialer
 *
 *  Mini dialer UI feature definition.
 *
 *  @since S60 v5.0
 */
class CVtUiDialer : public CVtUiFeatureBase, public MVtUiDialer
    {

public:

    /**
     * Static constructor
     * @param aFeatureManager Reference to featuremanager.
     * @return Newly created instance to CVtUiDialer.
     */
    static CVtUiDialer* NewL( CVtUiFeatureManager& aFeatureManager );

    /**
     * Destructor
     */
    ~CVtUiDialer();

public: // from CVtUiFeatureBase

    /**
    * @see CVtUiFeatureBase::StartL
    */
    void StartL();

    /**
    * @see CVtUiFeatureBase::Stop
    */
    void Stop();

    /**
    * @see CVtUiFeatureBase::InitFeatureL
    */
    void InitFeatureL();

private: // from MVtUiDialer

    /**
    * @see MVtUiDialer::VideoWindow
    */
    MVtUiVideoWindow& VideoWindow() const;

    /**
    * @see MVtUiDialer::VideoControl
    */
    CCoeControl& VideoControl() const;

private:

    /**
     * Constructor
     */
    CVtUiDialer( CVtUiFeatureManager& aFeatureManager );

    /**
     * 2nd constructor
     */
    void ConstructL();

    /**
     * Preapres feature before start.
     */
    void PrepareL();

    /**
     * Unprepares feature after stop.
     */
    void Unprepare();

private:

    // Open command
    CVtUiFeatureCmdBase* iCmdOpen;

    // Open command
    CVtUiFeatureCmdBase* iCmdClose;

    // Dialer container
    CVtUiDialerContainer* iDialerContainer;

    };

#endif // C_VTUIDIALER_H