Add current radar site to NexradFileRequest in the event there is no radar site in the Archive II file

This commit is contained in:
Dan Paulat 2024-01-27 22:30:02 -06:00
parent 1259cba811
commit 9071c4751e
6 changed files with 85 additions and 65 deletions

View file

@ -9,22 +9,31 @@ namespace request
static const std::string logPrefix_ = "scwx::qt::request::nexrad_file_request";
class NexradFileRequestImpl
class NexradFileRequest::Impl
{
public:
explicit NexradFileRequestImpl() : radarProductRecord_ {nullptr} {}
explicit Impl(const std::string& currentRadarSite) :
currentRadarSite_ {currentRadarSite}
{
}
~Impl() = default;
~NexradFileRequestImpl() {}
const std::string currentRadarSite_;
std::shared_ptr<types::RadarProductRecord> radarProductRecord_;
std::shared_ptr<types::RadarProductRecord> radarProductRecord_ {nullptr};
};
NexradFileRequest::NexradFileRequest() :
p(std::make_unique<NexradFileRequestImpl>())
NexradFileRequest::NexradFileRequest(const std::string& currentRadarSite) :
p(std::make_unique<Impl>(currentRadarSite))
{
}
NexradFileRequest::~NexradFileRequest() = default;
std::string NexradFileRequest::current_radar_site() const
{
return p->currentRadarSite_;
}
std::shared_ptr<types::RadarProductRecord>
NexradFileRequest::radar_product_record() const
{
@ -32,7 +41,7 @@ NexradFileRequest::radar_product_record() const
}
void NexradFileRequest::set_radar_product_record(
std::shared_ptr<types::RadarProductRecord> record)
const std::shared_ptr<types::RadarProductRecord>& record)
{
p->radarProductRecord_ = record;
}

View file

@ -13,23 +13,23 @@ namespace qt
namespace request
{
class NexradFileRequestImpl;
class NexradFileRequest : public QObject
{
Q_OBJECT
public:
explicit NexradFileRequest();
explicit NexradFileRequest(const std::string& currentRadarSite = {});
~NexradFileRequest();
std::string current_radar_site() const;
std::shared_ptr<types::RadarProductRecord> radar_product_record() const;
void
set_radar_product_record(std::shared_ptr<types::RadarProductRecord> record);
void set_radar_product_record(
const std::shared_ptr<types::RadarProductRecord>& record);
private:
std::unique_ptr<NexradFileRequestImpl> p;
class Impl;
std::unique_ptr<Impl> p;
signals:
void RequestComplete(std::shared_ptr<NexradFileRequest> request);