17#ifndef LOMIRIUTIL_TIMER_H
18#define LOMIRIUTIL_TIMER_H
20#include "ElapsedTimer.h"
34 virtual int interval()
const = 0;
35 virtual void setInterval(
int msecs) = 0;
36 virtual void start() = 0;
37 virtual void stop() = 0;
38 virtual bool isRunning()
const = 0;
39 virtual bool isSingleShot()
const = 0;
40 virtual void setSingleShot(
bool value) = 0;
50 Timer(QObject *parent =
nullptr);
52 int interval()
const override;
53 void setInterval(
int msecs)
override;
54 void start()
override;
56 bool isRunning()
const override;
57 bool isSingleShot()
const override;
58 void setSingleShot(
bool value)
override;
63class AbstractTimerFactory
66 virtual ~AbstractTimerFactory() {}
67 virtual AbstractTimer *create(QObject *parent =
nullptr) = 0;
70class TimerFactory :
public AbstractTimerFactory
73 AbstractTimer *create(QObject *parent =
nullptr)
override {
return new Timer(parent); }