20 #include <pv/pvType.h>
21 #include <pv/thread.h>
22 #include <pv/timeStamp.h>
29 namespace epics {
namespace pvData {
33 typedef std::tr1::shared_ptr<TimerCallback> TimerCallbackPtr;
34 typedef std::tr1::shared_ptr<Timer> TimerPtr;
54 virtual void callback() = 0;
58 virtual void timerStopped() = 0;
64 struct IncreasingTime;
71 class epicsShareClass
Timer :
private Runnable {
73 POINTER_DEFINITIONS(
Timer);
87 void scheduleAfterDelay(
88 TimerCallbackPtr
const &timerCallback,
96 void schedulePeriodic(
97 TimerCallbackPtr
const &timerCallback,
105 bool cancel(TimerCallbackPtr
const &timerCallback);
111 bool isScheduled(TimerCallbackPtr
const &timerCallback)
const;
122 void addElement(TimerCallbackPtr
const &timerCallback);
basic_ostream< _CharT, _Traits > & operator<<(basic_ostream< _CharT, _Traits > &__os, const basic_string< _CharT, _Traits, _Alloc > &__str)
C++ wrapper for epicsEvent from EPICS base.
Class that must be implemented by code that makes Timer requests.
Support for delayed or periodic callback execution.
C++ wrapper for epicsThread from EPICS base.