Create IemWarningsProvider class for archive warnings

This commit is contained in:
Dan Paulat 2025-02-01 15:50:28 -06:00
parent d34cd68471
commit 895e760fee
3 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,28 @@
#pragma once
#include <memory>
namespace scwx::provider
{
/**
* @brief Warnings Provider
*/
class IemWarningsProvider
{
public:
explicit IemWarningsProvider();
~IemWarningsProvider();
IemWarningsProvider(const IemWarningsProvider&) = delete;
IemWarningsProvider& operator=(const IemWarningsProvider&) = delete;
IemWarningsProvider(IemWarningsProvider&&) noexcept;
IemWarningsProvider& operator=(IemWarningsProvider&&) noexcept;
private:
class Impl;
std::unique_ptr<Impl> p;
};
} // namespace scwx::provider

View file

@ -0,0 +1,29 @@
#include <scwx/provider/iem_warnings_provider.hpp>
#include <scwx/util/logger.hpp>
namespace scwx::provider
{
static const std::string logPrefix_ = "scwx::provider::iem_warnings_provider";
static const auto logger_ = util::Logger::Create(logPrefix_);
class IemWarningsProvider::Impl
{
public:
explicit Impl() = default;
~Impl() = default;
Impl(const Impl&) = delete;
Impl& operator=(const Impl&) = delete;
Impl(const Impl&&) = delete;
Impl& operator=(const Impl&&) = delete;
};
IemWarningsProvider::IemWarningsProvider() : p(std::make_unique<Impl>()) {}
IemWarningsProvider::~IemWarningsProvider() = default;
IemWarningsProvider::IemWarningsProvider(IemWarningsProvider&&) noexcept =
default;
IemWarningsProvider&
IemWarningsProvider::operator=(IemWarningsProvider&&) noexcept = default;
} // namespace scwx::provider

View file

@ -61,12 +61,14 @@ set(SRC_NETWORK source/scwx/network/cpr.cpp
set(HDR_PROVIDER include/scwx/provider/aws_level2_data_provider.hpp
include/scwx/provider/aws_level3_data_provider.hpp
include/scwx/provider/aws_nexrad_data_provider.hpp
include/scwx/provider/iem_warnings_provider.hpp
include/scwx/provider/nexrad_data_provider.hpp
include/scwx/provider/nexrad_data_provider_factory.hpp
include/scwx/provider/warnings_provider.hpp)
set(SRC_PROVIDER source/scwx/provider/aws_level2_data_provider.cpp
source/scwx/provider/aws_level3_data_provider.cpp
source/scwx/provider/aws_nexrad_data_provider.cpp
source/scwx/provider/iem_warnings_provider.cpp
source/scwx/provider/nexrad_data_provider.cpp
source/scwx/provider/nexrad_data_provider_factory.cpp
source/scwx/provider/warnings_provider.cpp)