Initial product symbology block implementation, missing packet support

This commit is contained in:
Dan Paulat 2021-12-28 15:46:49 -06:00
parent c6ce9c99e4
commit 6544b9df74
3 changed files with 189 additions and 0 deletions

View file

@ -0,0 +1,43 @@
#pragma once
#include <scwx/wsr88d/message.hpp>
#include <cstdint>
#include <memory>
namespace scwx
{
namespace wsr88d
{
namespace rpg
{
class ProductSymbologyBlockImpl;
class ProductSymbologyBlock : public Message
{
public:
explicit ProductSymbologyBlock();
~ProductSymbologyBlock();
ProductSymbologyBlock(const ProductSymbologyBlock&) = delete;
ProductSymbologyBlock& operator=(const ProductSymbologyBlock&) = delete;
ProductSymbologyBlock(ProductSymbologyBlock&&) noexcept;
ProductSymbologyBlock& operator=(ProductSymbologyBlock&&) noexcept;
int16_t block_divider() const;
size_t data_size() const override;
bool Parse(std::istream& is);
static constexpr size_t SIZE = 102u;
private:
std::unique_ptr<ProductSymbologyBlockImpl> p;
};
} // namespace rpg
} // namespace wsr88d
} // namespace scwx