wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsdialog.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:53:40 +0300
branchRCL_3
changeset 35 aaabc7526ded
parent 0 56b72877c1cb
permissions -rw-r--r--
Revision: 201021 Kit: 2010123

/*
* 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:  Class header for CWsfConnectedDetailsDialog
*
*/

#ifndef C_WSFCONNECTEDDETAILSDIALOG_H
#define C_WSFCONNECTEDDETAILSDIALOG_H


//  INCLUDES
#include <aknlistquerydialog.h>

// INTERNAL INCLUDES
#include "wsfconnecteddetailscontroller.h"

// FORWARD DECLARATIONS
class CWsfConnectedDetailsModel;
class TWsfConnectedDetailsController;
class CWsfActiveTimeUpdater;


// CLASS DECLARATION

/**
*  CWsfConnectedDetailsDialog class.
*  This class is used to display the Connected Details information
*/
class CWsfConnectedDetailsDialog : public CAknListQueryDialog
    {
    public:     // Constructors and destructor

        /**
        * Two-phase construction.
        */
        static CWsfConnectedDetailsDialog* NewL();
        
        /**
        * Two-phased constructor.
        */
        static CWsfConnectedDetailsDialog* NewLC();
                            
        /**
        * Destructor.
        */
        virtual ~CWsfConnectedDetailsDialog();
        
    private:
        
        /*
        * Second-phase constructor.
        */        
        void ConstructL();

        /**
        * C++ default constructor.
        * @param aSelectionIndexArray The items which are selected within 
        *        the dialogs list box list.
        */
        CWsfConnectedDetailsDialog( 
                CListBoxView::CSelectionIndexArray* aSelectionIndexArray );

    public:     // New functions
    
        /**
        * Refresh the content list box of the dialog
        * @param aItemTextArray - items to be show on listbox
        */
        void UpdateListBox( MDesCArray* aItemTextArray );
        
        /**
        * Return controller interface
        * @return controller interface
        */
        MWsfDetailsViewControllerIf& Controller();               

        
        /**
         * Set list model of the dialog.
         * @param aModel List model of the dialog
         */
        void SetListModel( CWsfConnectedDetailsModel* aModel );

        /**
        * Super class method overriden to prevent dialog window to be
        * shut down by pressing anywhere in the dialog (only pressing
        * the OK button should close the dialog.
        * @param aListBox - 
        * @param TListBoxEvent - 
        */
        void HandleListBoxEventL( CEikListBox* aListBox,
                                  TListBoxEvent aEventType );

    private:    // from CEikDialog

        /**
        * sets the default value to the dialog.
        */
        void  PreLayoutDynInitL();

    private:    // Data

        /**
        * Reference for listbox
        * Not own.
        */
        CEikListBox*                        iList;
       
        /**
        * Reference for list box model
        * Not own.
        */
        CTextListBoxModel*                  iModel;

        /*
        * Connected Details Dilaog Controller 
        */
        TWsfConnectedDetailsController  iController;
        
        /*
        * Reference for the connected details model
        * Not own. 
        */
        CWsfConnectedDetailsModel*      iListModel;
        
        /*
        * Reference for the time updater
        * Own. 
        */
        CWsfActiveTimeUpdater*              iActiveUpdater;
    };

#endif // C_WSFCONNECTEDDETAILSDIALOG_H

// End of File