libcamera: Switch to the std::chrono API

Replace the clock_gettime()-based API with durations expressed as
integers with the std::chrono API.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart
2019-09-14 03:40:47 +03:00
parent 98dff063f2
commit cecfeed61e
9 changed files with 67 additions and 75 deletions
+7 -5
View File
@@ -7,6 +7,7 @@
#ifndef __LIBCAMERA_TIMER_H__
#define __LIBCAMERA_TIMER_H__
#include <chrono>
#include <cstdint>
#include <libcamera/object.h>
@@ -22,12 +23,13 @@ public:
Timer(Object *parent = nullptr);
~Timer();
void start(unsigned int msec);
void start(unsigned int msec) { start(std::chrono::milliseconds(msec)); }
void start(std::chrono::milliseconds interval);
void stop();
bool isRunning() const;
unsigned int interval() const { return interval_; }
uint64_t deadline() const { return deadline_; }
std::chrono::milliseconds interval() const { return interval_; }
std::chrono::steady_clock::time_point deadline() const { return deadline_; }
Signal<Timer *> timeout;
@@ -38,8 +40,8 @@ private:
void registerTimer();
void unregisterTimer();
unsigned int interval_;
uint64_t deadline_;
std::chrono::milliseconds interval_;
std::chrono::steady_clock::time_point deadline_;
};
} /* namespace libcamera */