Initial Level 3 header and description information

This commit is contained in:
Dan Paulat 2021-12-24 10:03:53 -06:00
parent a280f37289
commit 0303412519
6 changed files with 855 additions and 0 deletions

View file

@ -0,0 +1,45 @@
#pragma once
#include <cstdint>
#include <memory>
namespace scwx
{
namespace wsr88d
{
namespace rpg
{
class Level3MessageHeaderImpl;
class Level3MessageHeader
{
public:
explicit Level3MessageHeader();
~Level3MessageHeader();
Level3MessageHeader(const Level3MessageHeader&) = delete;
Level3MessageHeader& operator=(const Level3MessageHeader&) = delete;
Level3MessageHeader(Level3MessageHeader&&) noexcept;
Level3MessageHeader& operator=(Level3MessageHeader&&) noexcept;
int16_t message_code() const;
uint16_t date_of_message() const;
uint32_t time_of_message() const;
uint32_t length_of_message() const;
uint16_t source_id() const;
uint16_t destination_id() const;
uint16_t number_blocks() const;
bool Parse(std::istream& is);
static const size_t SIZE = 18u;
private:
std::unique_ptr<Level3MessageHeaderImpl> p;
};
} // namespace rpg
} // namespace wsr88d
} // namespace scwx