git-svn-id: svn://db.shs.com.ru/pip@756 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-02-18 18:30:51 +00:00
parent 0af7eabf56
commit 217947cc89
16 changed files with 296 additions and 217 deletions

View File

@@ -103,45 +103,45 @@ public:
PITimer::TimerImplementation implementation() const {return imp_mode;}
//! \brief Returns timer loop delay in milliseconds
double interval() const {return imp->interval_;}
double interval() const;
//! \brief Set timer loop delay in milliseconds
EVENT_HANDLER1(void, setInterval, double, ms) {setProperty("interval", ms); imp->setInterval(ms);}
EVENT_HANDLER1(void, setInterval, double, ms);
//! \brief Returns if timer is started
bool isRunning() const {return imp->running_;}
bool isRunning() const;
//! \brief Returns if timer is not started
bool isStopped() const {return !imp->running_;}
bool isStopped() const;
EVENT_HANDLER0(bool, start) {return imp->start();}
EVENT_HANDLER1(bool, start, double, interval_ms_d) {setProperty("interval", interval_ms_d); return imp->start(interval_ms_d);}
bool start(int interval_ms_i) {setProperty("interval", double(interval_ms_i)); return imp->start(double(interval_ms_i));}
EVENT_HANDLER0(bool, restart) {imp->stop(true); return imp->start();}
EVENT_HANDLER0(bool, start);
EVENT_HANDLER1(bool, start, double, interval_ms_d);
bool start(int interval_ms_i);
EVENT_HANDLER0(bool, restart);
/** \brief Start timer with \b interval() loop delay after \b delay_msecs delay.
* \details Timer wait \b delay_msecs milliseconds and then normally starts with
* \b interval() loop delay. */
void startDeferred(double delay_ms) {imp->startDeferred(delay_ms);}
void startDeferred(double delay_ms);
/** \brief Start timer with \b interval_msecs loop delay after \b delay_msecs delay.
* \details Timer wait \b delay_msecs milliseconds and then normally starts with
* \b interval_msecs loop delay. */
void startDeferred(double interval_ms, double delay_ms) {imp->startDeferred(interval_ms, delay_ms);}
void startDeferred(double interval_ms, double delay_ms);
/** \brief Start timer with \b interval() loop delay after \b start_datetime date and time.
* \details Timer wait until \b start_datetime and then normally starts with
* \b interval() loop delay. */
void startDeferred(PIDateTime start_datetime) {startDeferred(imp->interval_, start_datetime);}
void startDeferred(PIDateTime start_datetime);
/** \brief Start timer with \b interval_msecs loop delay after \b start_datetime date and time.
* \details Timer wait until \b start_datetime and then normally starts with
* \b interval_msecs loop delay. */
void startDeferred(double interval_ms, PIDateTime start_datetime) {imp->startDeferred(interval_ms, start_datetime);}
void startDeferred(double interval_ms, PIDateTime start_datetime);
EVENT_HANDLER0(bool, stop) {return imp->stop(true);}
EVENT_HANDLER1(bool, stop, bool, wait) {return imp->stop(wait);}
EVENT_HANDLER0(bool, stop);
EVENT_HANDLER1(bool, stop, bool, wait);
bool waitForFinish() {return waitForFinish(-1);}
bool waitForFinish(int timeout_msecs);
@@ -222,7 +222,7 @@ protected:
};
void initFirst();
void init();
void init() const;
void destroy();
static void tickImpS(PITimer * t) {t->tickImp();}
@@ -239,11 +239,11 @@ protected:
TimerImplementation imp_mode;
PIVector<Delimiter> delims;
_PITimerBase * imp;
mutable _PITimerBase * imp;
private:
explicit PITimer(const PITimer & );
void operator =(const PITimer & );
NO_COPY_CLASS(PITimer)
};