searcher/searchserver/src/cheartbeattimer.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 19 Apr 2010 14:40:16 +0300
changeset 0 671dee74050a
child 19 e3c09e9691e0
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* Copyright (c) 2010 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: 
*
*/

#include "CHeartBeatTimer.h"
#include "MHeartBeatObserver.h"
#include "SearchServerConfiguration.h"

CHeartBeatTimer* CHeartBeatTimer::NewL(MHeartBeatObserver* aObserver)
	{
	CHeartBeatTimer* object = new ( ELeave ) CHeartBeatTimer(aObserver);
	CleanupStack::PushL(object);
	object->ConstructL();
	CleanupStack::Pop(object);
	return object;
	}

CHeartBeatTimer::CHeartBeatTimer(MHeartBeatObserver* aObserver)
	: CTimer(CActive::EPriorityStandard)
	{
	iObserver = aObserver;
	}
	
CHeartBeatTimer::~CHeartBeatTimer()
	{
	Cancel();
	}
   
void CHeartBeatTimer::StopTimer()
	{
	Cancel();
	}

void CHeartBeatTimer::ContinueTimer()
	{
	Cancel();
	After(HEARTBEAT_PERIOD_USEC);
	}
   
void CHeartBeatTimer::ConstructL()
	{
	CTimer::ConstructL();
	CActiveScheduler::Add(this);
	After(HEARTBEAT_PERIOD_USEC);
	}

void CHeartBeatTimer::RunL()
	{
	if (iObserver)
		iObserver->HandleHeartBeatL();
	After(HEARTBEAT_PERIOD_USEC);
	}