Text product files

This commit is contained in:
Dan Paulat 2022-01-22 14:09:42 -06:00
parent 55d856a745
commit e5c40b9eb5
7 changed files with 172 additions and 4 deletions

View file

@ -0,0 +1,38 @@
#pragma once
#include <scwx/awips/text_product_message.hpp>
#include <memory>
#include <string>
namespace scwx
{
namespace awips
{
class TextProductFileImpl;
class TextProductFile
{
public:
explicit TextProductFile();
~TextProductFile();
TextProductFile(const TextProductFile&) = delete;
TextProductFile& operator=(const TextProductFile&) = delete;
TextProductFile(TextProductFile&&) noexcept;
TextProductFile& operator=(TextProductFile&&) noexcept;
size_t message_count() const;
std::shared_ptr<TextProductMessage> message(size_t i) const;
bool LoadFile(const std::string& filename);
bool LoadData(std::istream& is);
private:
std::unique_ptr<TextProductFileImpl> p;
};
} // namespace awips
} // namespace scwx