AceTime  0.1
Date and time classes for Arduino that supports the TZ DAtabase, and a system clock synchronized from an NTP server or an RTC chip.
TimeProvider.h
1 #ifndef ACE_TIME_TIME_PROVIDER_H
2 #define ACE_TIME_TIME_PROVIDER_H
3 
4 #include <stdint.h>
5 #include "../common/common.h"
6 
7 namespace ace_time {
8 namespace provider {
9 
14 class TimeProvider {
15  public:
16  static const acetime_t kInvalidSeconds = INT32_MAX;
17 
19  virtual ~TimeProvider() {}
20 
25  virtual acetime_t getNow() const = 0;
26 
28  virtual void sendRequest() const {}
29 
31  virtual bool isResponseReady() const { return true; }
32 
38  virtual acetime_t readResponse() const { return getNow(); }
39 };
40 
41 }
42 }
43 
44 #endif
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: TimeProvider.h:38
virtual void sendRequest() const
Send a time request asynchronously.
Definition: TimeProvider.h:28
virtual ~TimeProvider()
Virtual destructor.
Definition: TimeProvider.h:19
virtual acetime_t getNow() const =0
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: TimeProvider.h:31
Base class for objects that provide a source of time whose time cannot be changed by the end-user...
Definition: TimeProvider.h:14