connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiView.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 15 Jul 2010 19:05:04 +0300
branchRCL_3
changeset 54 984e13af52c4
parent 8 2e6c4614c58e
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* Copyright (c) 2002 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:  view class
*     
*
*/


#ifndef CONNECTIONMONITORUI_VIEW_H
#define CONNECTIONMONITORUI_VIEW_H

// INCLUDES
#include <aknview.h>
#include <aknlists.h>

// CONSTANTS

// UID of view
const TUid KConnectionsViewId = {2};

// FORWARD DECLARATIONS
class CConnectionMonitorUiContainer;
class CConnectionArray;
class CActiveWrapper;

// CLASS DECLARATION
/**
*  CConnectionMonitorUiView view class.
*/
class CConnectionMonitorUiView : public CAknView, public MEikListBoxObserver
    {
    public: // Constructors and destructor
        /**
        * Constructor
        * @param aConnectionArray array contains connection infos
        * @param aMonitor Connection Monitor engine session
        * @param aActiveWrapper the for refreshing
        */
#ifdef RD_CONTROL_PANEL        
        CConnectionMonitorUiView( CConnectionArray* const aConnectionArray,
                                  RConnectionMonitor* aMonitor,
                                  TBool aIsEmbedded,
                                  CActiveWrapper* aActiveWrapper );
#else
        CConnectionMonitorUiView( CConnectionArray* const aConnectionArray,
                                  RConnectionMonitor* aMonitor,
                                  CActiveWrapper* aActiveWrapper );
#endif // RD_CONTROL_PANEL                                  

        /**
        * EPOC default constructor.
        */
        void ConstructL();

        /**
        * Destructor.
        */
        ~CConnectionMonitorUiView();

    public: // Functions from base classes
        /**
        * From AknView
        */
        TUid Id() const;

        /**
        * From AknView
        */
        void HandleCommandL( TInt aCommand );

        /**
        * From MEikMenuObserver 
        * Dynamic handling of menus.
        */
        virtual void DynInitMenuPaneL( TInt aResourceId,
                                       CEikMenuPane* aMenuPane );

        /**
        * Observe the connection stat and set the right Soft Keys.
        */
        void ConnectionKeyObserver() const;


    protected: 
        /**
        * from MEikListBoxObserver    
        */
        void HandleListBoxEventL( CEikListBox* aListBox, 
                                  TListBoxEvent aEventType );

    protected:
        /**
        * From AknView
        */
        void DoActivateL( const TVwsViewId& aPrevViewId,
                          TUid aCustomMessageId,
                          const TDesC8& aCustomMessage );

        /**
        * From AknView
        */
        void DoDeactivate();

        /**
        * Sets the tile pane to the given resource.
        * @param aResourceId the id of resource string
        */
        void SetTitlePaneTextL( TInt aResourceId );

    private:
        /**
        * Brings up details view.
        */
        void BringupDetailsViewL();
        
        /**
        * Check if selecred connection is Alilve or not
        * @return if the selected connection is alive ETrue, oterwise EFalse
        */
        TBool IsSelectedConnectionAlive() const;
        
        /**
        * Check if selecred connection is Suspended or not
        * @return if the selected connection is alive ETrue, oterwise EFalse
        */
        TBool IsSelectedConnectionSuspended() const;

    private: // Data   
        /**
        * Continer instance of view.
        */
        CConnectionMonitorUiContainer*        iContainer; // Owned

        /**
        * Constant pointe to array of connections.
        */
        CConnectionArray* const             iConnectionArray; // Not Owned
        
        /**
        * Pointer to RConnectionMonitor for deleting connection(s).
        */
        RConnectionMonitor*                 iMonitor;  // Not Owned
                
        /**
        * ETrue if Help is supported, EFalse otherwise.
        */
        TBool isHelpSupported;

#ifdef RD_CONTROL_PANEL

        /**
        * ETrue:  The application is launched in embedded mode.
        * EFalse: The application is launched in standalone mode.
        */
        TBool iIsEmbedded;

#endif // RD_CONTROL_PANEL

        /**
        * The active object for info. refreshing. NOT Owned.
        */
        CActiveWrapper* iActiveWrapper;
    };

#endif // CONNECTIONMONITORUI_VIEW_H

// End of File