dashboard/src/panel/weather.cpp

51 lines
1.6 KiB
C++
Raw Normal View History

///////////////////////////////////////////////////////////////////////////////
// Tyler Perkins
// 19-9-21
// weather panel
//
#include "weather.hpp"
using namespace dashboard::panel;
///////////////////////////////////////////////////////////////////////////////
// Constructors ///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
weather::weather(){
_time_on_screen = WEATHER_DEFAULT_ON_SCREEN_TIME;
_update_interval = std::chrono::milliseconds{UPDATE_INTERVAL};
_last_update = std::chrono::high_resolution_clock::now();
}
weather::~weather(){
}
///////////////////////////////////////////////////////////////////////////////
// Draw function //////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void weather::draw(){
std::cerr << "WEATHER DRAW FUNC\n";
std::cerr << "url_source : " << WEATHER_URL_SOURCE << "\n";
//check if its time to update
if((std::chrono::high_resolution_clock::now() - _last_update) > _update_interval){
//TODO multithread this
update();
}
}
///////////////////////////////////////////////////////////////////////////////
// Helper functions ///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void weather::update() {
std::cerr << "WEATHER::UPDATE\n";
_last_update = std::chrono::high_resolution_clock::now();
//fetch updates
}