16 #ifndef ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_TIMING_TIMERDELEGATE_H_ 17 #define ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_TIMING_TIMERDELEGATE_H_ 20 #include <condition_variable> 35 std::chrono::nanoseconds delay,
36 std::chrono::nanoseconds period,
39 std::function<
void()> task)
override;
63 std::chrono::nanoseconds delay,
64 std::chrono::nanoseconds period,
67 std::function<
void()> task,
74 bool activateLocked();
77 std::condition_variable m_waitCondition;
80 mutable std::mutex m_waitMutex;
83 mutable std::mutex m_callMutex;
86 std::atomic<bool> m_running;
105 #endif // ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_TIMING_TIMERDELEGATE_H_ void start(std::chrono::nanoseconds delay, std::chrono::nanoseconds period, PeriodType periodType, size_t maxCount, std::function< void()> task) override
Definition: TimerDelegateInterface.h:31
::std::string string
Definition: gtest-port.h:1097
bool isActive() const override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
TimerDelegate()
Constructor.
~TimerDelegate() override
Destructor.
PeriodType
Specifies different ways to apply the period of a recurring task.
Definition: TimerDelegateInterface.h:48
Definition: TimerDelegate.h:30