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 }