30 lines
430 B
C
30 lines
430 B
C
|
#ifndef _GYR_CLOCK
|
||
|
#define _GYR_CLOCK
|
||
|
|
||
|
#include <glibmm.h>
|
||
|
|
||
|
#include <vector>
|
||
|
#include <exception>
|
||
|
|
||
|
#include "timestamp.h"
|
||
|
|
||
|
class ClockUnadjustable : public std::exception { };
|
||
|
class ClockInitError : public std::exception { };
|
||
|
|
||
|
|
||
|
class Clock {
|
||
|
private:
|
||
|
|
||
|
protected:
|
||
|
size_t _size;
|
||
|
size_t _cur_index;
|
||
|
Glib::Mutex _mutex;
|
||
|
|
||
|
public:
|
||
|
|
||
|
virtual TimeStamp inc() = 0;
|
||
|
virtual void adjust(TimeStamp timestamp) = 0;
|
||
|
};
|
||
|
|
||
|
#endif
|