From e463cfd3cbd419dc38583fe25b93be36b330a606 Mon Sep 17 00:00:00 2001 From: Gaspar Fernandez Date: Fri, 12 Aug 2016 01:29:28 +0200 Subject: Version 0.4d --- src/localtemp.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/localtemp.h (limited to 'src/localtemp.h') diff --git a/src/localtemp.h b/src/localtemp.h new file mode 100644 index 0000000..19173d3 --- /dev/null +++ b/src/localtemp.h @@ -0,0 +1,57 @@ +#include +#include +#include "errors.h" + +#define METAR_URL "http://weather.noaa.gov/pub/data/observations/metar/decoded/%s.TXT" + +class localtemp { +public: + enum ESky + { + undef_sky, + clear, // CAVOK, SKC, CLR + cloudy, // FEW, SCT + brkovc, // Broken, Overcast (BKN, OVC) + tcu // TCU (Towering CUmulus) + }; + enum ERain + { + undef_rain, + rain, // Rainy (DZ, RA) + snow, // Snowy (SN, SG) + hail // Hail (GS, GR) + }; + enum EFog + { + undef_fog, + fog, // (BR, FG) + dust, // (DU, DS) + other // (FC, FU, HZ, SA, SS, VA) + }; + + struct TMetar + { + ESky sky; + bool CB; // Cumulonimbus + ERain rain; + EFog fog; + }; + std::string metar; + std::string location_name; + std::string long_location; + std::string ob; // ob: line, METAR info. + int error, celsius, fahrenheit; + int theme; // º theme to use + short humidity; + bool loaded; + string sky; + TMetar mInfo; + time_t info_time; // Time stored in file + time_t get_time; // Time when we got the file + localtemp(char* metar, char* location_name); + bool getInfo(); +private: + void set_temp(std::string temp); + void set_humidity(std::string hum); + void get_ob_info(); +}; -- cgit v1.2.1