wlanutilities/wlansniffer/mainapplication/src/wsfactivetimeupdater.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:20:32 +0100
branchRCL_3
changeset 55 f28ada11abbf
parent 0 56b72877c1cb
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201029 Kit: 201035

/*
* 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:  Implementation of CWsfActiveTimeUpdater.
*
*/


//  EXTERNAL INCLUDES
#include <e32base.h>

//  INTERNAL INCLUDES
#include "wsfactivetimeupdater.h"
#include "wsfactivetimerhandler.h"

#include "wsflogger.h"

// CONSTANTS

//  CONSTRUCTION AND DESTRUCTION
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::NewL
// ---------------------------------------------------------------------------
//   
CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewL( 
                                MWsfActiveTimerHandler* aActiveTimerHandler )
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::NewL" );
    CWsfActiveTimeUpdater* thisPtr = NewLC( aActiveTimerHandler );
    CleanupStack::Pop( thisPtr );
    return thisPtr;
    }
    
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::NewLC
// ---------------------------------------------------------------------------
//   
CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewLC( 
                                MWsfActiveTimerHandler* aActiveTimerHandler )
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::NewLC" );
    CWsfActiveTimeUpdater* thisPtr = 
                new ( ELeave ) CWsfActiveTimeUpdater( aActiveTimerHandler );
    CleanupStack::PushL( thisPtr );
    thisPtr->ConstructL();
    return thisPtr;
    }
    
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater
// ---------------------------------------------------------------------------
//   
CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater()
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater" );
    if( iPeriodic )
        {
        iPeriodic->Cancel();
        }
    delete iPeriodic;
    }
    
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::CWsfActiveTimeUpdater
// ---------------------------------------------------------------------------
//
CWsfActiveTimeUpdater::CWsfActiveTimeUpdater( 
                                MWsfActiveTimerHandler* aActiveTimerHandler )
    : iActiveTimerHandler( aActiveTimerHandler )
    {
    }
    
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::ConstructL
// ---------------------------------------------------------------------------
//       
void CWsfActiveTimeUpdater::ConstructL()
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::ConstructL" );
    iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
    }
    
//  METHODS
// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::Start
// ---------------------------------------------------------------------------
//   
void CWsfActiveTimeUpdater::Start( TInt aUpdateInterval )
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::Start" );
    // Start periodic timer
    iPeriodic->Start( TTimeIntervalMicroSeconds32( 0 ), 
                      TTimeIntervalMicroSeconds32( aUpdateInterval ), 
                      TCallBack( UpdateTimeL, this ) );
    }

// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::Stop
// ---------------------------------------------------------------------------
//       
void CWsfActiveTimeUpdater::Stop()
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::Stop" );
    // Cancel the timer request
    iPeriodic->Cancel();
    }

// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::DoUpdateTimeL
// ---------------------------------------------------------------------------
//   
void CWsfActiveTimeUpdater::DoUpdateTimeL()
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::DoUpdateTimeL" );
    iActiveTimerHandler->UpdateActiveTimeL();
    }

// ---------------------------------------------------------------------------
// CWsfActiveTimeUpdater::UpdateTimeL
// ---------------------------------------------------------------------------
//    
TInt CWsfActiveTimeUpdater::UpdateTimeL( TAny* aUpdater )
    {
    LOG_ENTERFN( "CWsfActiveTimeUpdater::UpdateTimeL" );
    static_cast<CWsfActiveTimeUpdater*>( aUpdater )->DoUpdateTimeL();
    return 0;
    } 

// End of file