mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 15:10:06 +00:00
Radar site configuration
This commit is contained in:
parent
19efb0e58c
commit
883626ebf5
5 changed files with 63 additions and 1 deletions
|
|
@ -1,5 +1,6 @@
|
|||
#include <scwx/qt/config/radar_site.hpp>
|
||||
#include <scwx/qt/util/json.hpp>
|
||||
#include <scwx/common/sites.hpp>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
|
|
@ -18,7 +19,8 @@ static const std::string defaultRadarSiteFile_ =
|
|||
":/res/config/radar_sites.json";
|
||||
|
||||
static std::unordered_map<std::string, std::shared_ptr<RadarSite>>
|
||||
radarSiteMap_;
|
||||
radarSiteMap_;
|
||||
static std::unordered_map<std::string, std::string> siteIdMap_;
|
||||
|
||||
static bool ValidateJsonEntry(const boost::json::object& o);
|
||||
|
||||
|
|
@ -100,6 +102,18 @@ std::shared_ptr<RadarSite> RadarSite::Get(const std::string& id)
|
|||
return radarSite;
|
||||
}
|
||||
|
||||
std::string GetRadarIdFromSiteId(const std::string& siteId)
|
||||
{
|
||||
std::string id = "???";
|
||||
|
||||
if (siteIdMap_.contains(siteId))
|
||||
{
|
||||
id = siteIdMap_.at(siteId);
|
||||
}
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
void RadarSite::Initialize()
|
||||
{
|
||||
ReadConfig(defaultRadarSiteFile_);
|
||||
|
|
@ -145,6 +159,19 @@ size_t RadarSite::ReadConfig(const std::string& path)
|
|||
radarSiteMap_[site->p->id_] = site;
|
||||
++sitesAdded;
|
||||
}
|
||||
|
||||
std::string siteId = common::GetSiteId(site->p->id_);
|
||||
|
||||
if (!siteIdMap_.contains(siteId))
|
||||
{
|
||||
siteIdMap_[siteId] = site->p->id_;
|
||||
}
|
||||
else
|
||||
{
|
||||
BOOST_LOG_TRIVIAL(warning)
|
||||
<< logPrefix_ << "Site ID conflict: " << siteIdMap_.at(siteId)
|
||||
<< " and " << site->p->id_;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ private:
|
|||
std::unique_ptr<RadarSiteImpl> p;
|
||||
};
|
||||
|
||||
std::string GetRadarIdFromSiteId(const std::string& siteId);
|
||||
|
||||
} // namespace config
|
||||
} // namespace qt
|
||||
} // namespace scwx
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue