Provides code snippet to show you how to start a heartbeat timer.
A heartbeat timer, CHeartbeat, invokes a function at regular
intervals. You must define a class that implements the MBeating interface
to define:
a function Beat() that
is called if the heartbeat timer is in synchronisation with the system clock
a function Synchronize() that
is called if the heartbeat timer has got out of synchronisation with the system
clock
First, we define a class CHeartbeatRunner class that derives
from MBeating.
class CHeartbeatRunner: public MBeating
{
public:
// Implement MBeating
void Beat();
void Synchronize();
// Start timer
void StartTimer();
private:
CHeartbeat* iHeartbeat;
};
Then, we can start the heartbeat timer. We pass the time interval for the
beats (allowable intervals are defined in 1/12s of a second by TTimerLockSpec),
and the object implementing MBeating.
void CHeartbeatRunner::StartTimer()
{
iHeartbeat=CHeartbeat::NewL(0); // neutral priority
iHeartbeat->Start(ETwelveOClock,this); // 1 second intervals
}