Add implementation

This commit is contained in:
2024-01-23 16:23:11 +01:00
parent 41244b0a70
commit b2e1b47d31
2 changed files with 90 additions and 0 deletions

30
src/timer.hpp Normal file
View File

@ -0,0 +1,30 @@
#ifndef _timer_H_
#define _timer_H_
#include <cstdint>
#include <mutex>
namespace sc {
class timer {
static uint64_t next_id;
static std::mutex mutex;
timer_t _tid;
uint64_t _id;
double _time;
bool _repeat;
public:
timer(void(*callback)(union sigval), double time, bool repeat = false);
~timer();
void time(struct itimerspec& cur_value) const;
double time() const;
bool is_armed() const;
bool repeat() const { return _repeat; }
};
}
#endif // _timer_H_