#pragma once #include #include #include #include #include namespace scwx::provider { /** * @brief Warnings Provider */ class IemApiProvider { public: explicit IemApiProvider(); ~IemApiProvider(); IemApiProvider(const IemApiProvider&) = delete; IemApiProvider& operator=(const IemApiProvider&) = delete; IemApiProvider(IemApiProvider&&) noexcept; IemApiProvider& operator=(IemApiProvider&&) noexcept; static boost::outcome_v2::result> ListTextProducts(std::chrono::sys_time date, std::optional cccc = {}, std::optional pil = {}); static boost::outcome_v2::result> ListTextProducts(std::vector> dates, std::vector ccccs = {}, std::vector pils = {}); static std::vector> LoadTextProducts(const std::vector& textProducts); private: class Impl; std::unique_ptr p; }; } // namespace scwx::provider