19 #ifndef INCLUDE_RCF_PERIODICTIMER_HPP
20 #define INCLUDE_RCF_PERIODICTIMER_HPP
22 #include <RCF/Export.hpp>
23 #include <RCF/ThreadLibrary.hpp>
24 #include <RCF/Timer.hpp>
32 class TimerControlBlock
35 TimerControlBlock(PeriodicTimer * pPeriodicTimer) :
36 mpPeriodicTimer(pPeriodicTimer)
41 PeriodicTimer * mpPeriodicTimer;
44 typedef boost::shared_ptr<TimerControlBlock> TimerControlBlockPtr;
46 class RCF_EXPORT PeriodicTimer
49 PeriodicTimer(I_Service & service, boost::uint32_t intervalMs);
55 void setIntervalMs(boost::uint32_t intervalMs);
56 boost::uint32_t getIntervalMs();
60 friend class PeriodicTimerSentry;
66 const AsioErrorCode & ec,
67 TimerControlBlockPtr tcbPtr);
69 TimerControlBlockPtr mTcbPtr;
71 boost::uint32_t mIntervalMs;
73 AsioTimerPtr mAsioTimerPtr;
78 #endif // ! INCLUDE_RCF_PERIODICTIMER_HPP