1//
2// Timer.cpp
3//
4// This sample demonstrates the Timer and Stopwatch classes.
5//
6// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
7// and Contributors.
8//
9// SPDX-License-Identifier: BSL-1.0
10//
11
12
13#include "Poco/Timer.h"
14#include "Poco/Thread.h"
15#include "Poco/Stopwatch.h"
16#include <iostream>
17
18
19using Poco::Timer;
20using Poco::TimerCallback;
21using Poco::Thread;
22using Poco::Stopwatch;
23
24
25class TimerExample
26{
27public:
28 TimerExample()
29 {
30 _sw.start();
31 }
32
33 void onTimer(Timer& timer)
34 {
35 std::cout << "Callback called after " << _sw.elapsed()/1000 << " milliseconds." << std::endl;
36 }
37
38private:
39 Stopwatch _sw;
40};
41
42
43int main(int argc, char** argv)
44{
45 TimerExample example;
46
47 Timer timer(250, 500);
48 timer.start(TimerCallback<TimerExample>(example, &TimerExample::onTimer));
49
50 Thread::sleep(5000);
51
52 timer.stop();
53
54 return 0;
55}
56