connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:44:18 +0200
branchRCL_3
changeset 12 ea6e024ea6f9
parent 0 5a93021fdf25
child 57 05bc53fe583b
permissions -rw-r--r--
Revision: 201007 Kit: 201008

/*
* Copyright (c) 2005 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:  Declaration of CActiveSelectWLanDlgPlugin
*
*/



#ifndef __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__
#define __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__

// INCLUDES
#include <e32base.h>
#include "SelectWLanDlgPlugin.h"
#include "SelectWLANDlg.h"
#include "WlanNetworkDataProvider.h"
#include "ConnectionUiUtilitiesCommon.h"

/**
 * CActiveSelectWLanDlgPlugin class,
 * an active object for CSelectWLanDlgPlugin
 */     
NONSHARABLE_CLASS( CActiveSelectWLanDlgPlugin ) : public CActive
{
public:
    /**
    * NewL function
    * @param  aPlugin a pointer to notifier plugin
    */
    static CActiveSelectWLanDlgPlugin* NewL( CSelectWLanDlgPlugin* aPlugin );
    
    /**
    * StartSearchWlanNetworkL setactive and starts active object
    */    
    void StartSearchWlanNetworkL();

    /**
    * Destructor
    */    
    virtual ~CActiveSelectWLanDlgPlugin();
    
    /**
    * Timer callback of iPeridoc.
    */
    static TInt Tick( TAny* aObject );    
    
    /**
    * Timer callback of iPeridoc.
    */
    void DoTick();


protected:
    /**
    * ConstructL 
    */
    void ConstructL();
    
    /**
    * Constructor
    * @param  aPlugin a pointer to notifier plugin    
    */    
    CActiveSelectWLanDlgPlugin( CSelectWLanDlgPlugin* aPlugin );
    
    /**
    * Starts Timer
    * @param aTickInterval refersh interval
    */
    void StartTimerL(  TInt aTickInterval );
    
    /**
    * Stops Timer
    */
    void StopTimer();                                            
        
    /**
    * DoCancel from CActive
    */    
      virtual void DoCancel();
      
    /**
    * RunL from CActive
    */      
    virtual void RunL();
        
    /**
    * Gives back, refresh interval of scan for network
    */
    TInt GetRefreshInterval();

    /**
    * Destroy wait dialog 
    */
    void DestroyWaitDialog();
    
    /**
    * Destroy results dialog
    */
    void DestroyResultsListDialog();
    
    /**
    * Destroy results dialog
    */
    void DestroyAsyncWaitTrigger();


private:
    /**
     * Start wait note
     */
    static TInt StartWaitNoteL( TAny* aObject );


protected:
    
    // a pointer to notifer, not owned 
    CSelectWLanDlgPlugin* iPlugin;

    //owned
    CWlanNetworkDataProvider* iWlanDataProv;

    // Timer, to refresh details of networks. Owned.
    CPeriodic* iPeriodic;

    // Pointer to the dialog
    CSelectWLANDlg* iResultsListDialog;
    
    CAknWaitDialog* iWaitDialog;
    
    CAsyncCallBack* iAsyncWaitTrigger;
    
    TInt iRefreshInterval;
};     

#endif // __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__

// End of file