CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
IRtc.h
Go to the documentation of this file.
1#pragma once
2
3#include "cdc_core/IService.h"
4#include <cstdint>
5#include <ctime>
6
7namespace cdc::hal {
8
17class IRtc : public core::IService {
18public:
19 virtual ~IRtc() = default;
20
24 virtual void getTime(struct tm* timeinfo) const = 0;
25
29 virtual void getTimeStr(char* buf, size_t bufLen) const = 0;
30
34 virtual void getDateStr(char* buf, size_t bufLen) const = 0;
35
40 virtual void setTime(int hour, int minute, int second) = 0;
41
45 virtual void setDate(int year, int month, int day) = 0;
46
50 virtual void setTimestamp(time_t timestamp) = 0;
51
55 virtual time_t getTimestamp() const = 0;
56
60 virtual bool isTimeSet() const = 0;
61
65 virtual void markTimeSet() = 0;
66
71 virtual void setTimezoneOffset(int8_t hours) = 0;
72
76 virtual int8_t getTimezoneOffset() const = 0;
77};
78
79// Factory function
81
82} // namespace cdc::hal
virtual ~IRtc()=default
virtual void setTime(int hour, int minute, int second)=0
virtual void setTimestamp(time_t timestamp)=0
virtual void getTimeStr(char *buf, size_t bufLen) const =0
virtual void setDate(int year, int month, int day)=0
virtual void markTimeSet()=0
virtual void getDateStr(char *buf, size_t bufLen) const =0
virtual void setTimezoneOffset(int8_t hours)=0
virtual void getTime(struct tm *timeinfo) const =0
virtual int8_t getTimezoneOffset() const =0
virtual time_t getTimestamp() const =0
virtual bool isTimeSet() const =0
IRtc * getRtcInstance()
Returns the singleton RTC service instance.
Definition Rtc.cpp:304