#include "poller.hpp" #include #include using namespace std::chrono; poller::poller(std::function aOnPollCb, milliseconds aPollTime):mIntermittentCallback(std::move(aOnPollCb)){ mTimer = lv_timer_create(poller::onPoll,aPollTime.count(),this); lv_timer_set_repeat_count(mTimer,-1); // Call forever } poller::~poller(){ if(mTimer){ lv_timer_del(mTimer); mTimer = nullptr; } } void poller::onPoll(_lv_timer_t* aTimer){ poller* currentPoller = reinterpret_cast(aTimer->user_data); if(currentPoller->mIntermittentCallback){ currentPoller->mIntermittentCallback(); } }