From 4b3d88b2f04ed10452b77e695b62999449798533 Mon Sep 17 00:00:00 2001 From: King_DuckZ Date: Mon, 10 Aug 2020 18:52:40 +0100 Subject: [PATCH] Move more crap to the base class --- src/timer_base.cpp | 8 ++++++++ src/timer_base.hpp | 2 ++ src/timer_icons.cpp | 8 +------- src/timer_items.cpp | 8 +------- src/timer_shops.cpp | 8 +------- 5 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/timer_base.cpp b/src/timer_base.cpp index 597f7d5..e89c17b 100644 --- a/src/timer_base.cpp +++ b/src/timer_base.cpp @@ -17,7 +17,9 @@ #include "timer_base.hpp" #include "roar11/ThreadPool.hpp" +#include "oro/api.hpp" #include +#include namespace duck { @@ -41,6 +43,12 @@ void TimerBase::on_timer() { m_pool->submit(&TimerBase::fetch_data, this); } +void TimerBase::set_next_timer (const oro::Header& header) { + const int next_timer = header.retry_after / header.rate_limit; + std::cout << "Next timer in " << next_timer << " secs\n"; + this->set_timer(static_cast(next_timer)); +} + roar11::ThreadPool& TimerBase::pool() { assert(m_pool); return *m_pool; diff --git a/src/timer_base.hpp b/src/timer_base.hpp index 727cdec..4659744 100644 --- a/src/timer_base.hpp +++ b/src/timer_base.hpp @@ -27,6 +27,7 @@ namespace roar11 { namespace oro { class Api; class OriginsDB; + struct Header; } //namespace oro namespace duck { @@ -45,6 +46,7 @@ public: virtual void on_timer() override; protected: + void set_next_timer (const oro::Header& header); roar11::ThreadPool& pool(); oro::Api& oro_api(); oro::OriginsDB& db(); diff --git a/src/timer_icons.cpp b/src/timer_icons.cpp index 5a1ab2c..0e5d684 100644 --- a/src/timer_icons.cpp +++ b/src/timer_icons.cpp @@ -34,13 +34,7 @@ namespace duck { void TimerIcons::fetch_data() { auto icons = oro_api().items_icons(); - - { - const int next_timer = icons.first.retry_after / icons.first.rate_limit; - std::cout << "Next timer in " << next_timer << " secs\n"; - set_timer(static_cast(next_timer)); - } - + set_next_timer(icons.first); db().update(icons.second); } diff --git a/src/timer_items.cpp b/src/timer_items.cpp index b1caa07..a4d6ca1 100644 --- a/src/timer_items.cpp +++ b/src/timer_items.cpp @@ -34,13 +34,7 @@ namespace duck { void TimerItems::fetch_data() { auto items = oro_api().items_list(); - - { - const int next_timer = items.first.retry_after / items.first.rate_limit; - std::cout << "Next timer in " << next_timer << " secs\n"; - set_timer(static_cast(next_timer)); - } - + set_next_timer(items.first); db().update(items.second); } diff --git a/src/timer_shops.cpp b/src/timer_shops.cpp index 1404d53..242cea5 100644 --- a/src/timer_shops.cpp +++ b/src/timer_shops.cpp @@ -34,13 +34,7 @@ namespace duck { void TimerShops::fetch_data() { auto shops = oro_api().market_list(); - - { - const int next_timer = shops.first.retry_after / shops.first.rate_limit; - std::cout << "Next timer in " << next_timer << " secs\n"; - set_timer(static_cast(next_timer)); - } - + set_next_timer(shops.first); db().update(shops.second); }