Support loadable radar sites

This commit is contained in:
Dan Paulat 2022-01-31 00:30:05 -06:00
parent 56cda08b0d
commit 9c2f86b00a
8 changed files with 510 additions and 3 deletions

View file

@ -0,0 +1,45 @@
#pragma once
#include <memory>
#include <string>
namespace scwx
{
namespace qt
{
namespace config
{
class RadarSiteImpl;
class RadarSite
{
public:
explicit RadarSite();
~RadarSite();
RadarSite(const RadarSite&) = delete;
RadarSite& operator=(const RadarSite&) = delete;
RadarSite(RadarSite&&) noexcept;
RadarSite& operator=(RadarSite&&) noexcept;
std::string type() const;
std::string id() const;
double latitude() const;
double longitude() const;
std::string country() const;
std::string state() const;
std::string place() const;
static std::shared_ptr<RadarSite> Get(const std::string& id);
static size_t ReadConfig(const std::string& path);
private:
std::unique_ptr<RadarSiteImpl> p;
};
} // namespace config
} // namespace qt
} // namespace scwx