60 enum {Infinite = -1, OneShot = -2};
63 GTimer(GString
const& format);
69 void start(
bool yes =
true);
70 void stop() {
start(
false);}
79 GTimer&
operator=(GString
const& value) {set(value);
return *
this;}
95 bool isRunning()
const {
return running_;}
97 GTime delay()
const {
return duration_;}
98 GTimer& setDelay(GTime);
103 GTimer& setRepetitions(
int);
105 int waitingCalls()
const {
return waitingcalls_;}
107 using GType = GPropType_<GTimer,GInt>;
108 static GType& Type();
109 GType& type()
const override {
return Type();}
114 virtual void timerCB();
116 int count_{}, waitingcalls_{};
117 GTime duration_{}, nexttime_{};
118 class GNatTimer* nattimer_{};
119 gprotect<GTimer> self_;
126 GTimer& Timer(GTime delay = 0,
int repetitions = GTimer::Infinite);
127 GTimer& Timer(GString
const& value);