diff --git a/src/avclan/avclan.h b/src/avclan/avclan.h index efcf941..81fc82d 100644 --- a/src/avclan/avclan.h +++ b/src/avclan/avclan.h @@ -151,6 +151,12 @@ struct Error { MUTED, }; + enum AVCLAN_ENUM_CLASS Parse : uint8_t { + TOO_SHORT = 0x01, + MISMATCH_LENGTH, + LENGTH_TOO_BIG, + }; + #ifdef __cplusplus }; #endif diff --git a/src/avclan/frame.cc b/src/avclan/frame.cc index f9d7526..dd0308c 100644 --- a/src/avclan/frame.cc +++ b/src/avclan/frame.cc @@ -10,7 +10,7 @@ #include "frame.hpp" namespace { -using Error = avclan::Frame::Error; +using Error = avclan::detail::Error; using enum Error::Parse; } // namespace diff --git a/src/avclan/frame.hpp b/src/avclan/frame.hpp index 88c0448..2d676af 100644 --- a/src/avclan/frame.hpp +++ b/src/avclan/frame.hpp @@ -7,6 +7,8 @@ #include +#include "avclan.h" + namespace avclan { enum class Device : uint8_t; @@ -16,13 +18,7 @@ struct Frame { bool binary : 1 = false; // if printing, format as binary instead of text bool verbose : 1 = false; // include extra context in error reports }; - struct Error { - enum class Parse : uint8_t { - TOO_SHORT = 0x01, - MISMATCH_LENGTH, - LENGTH_TOO_BIG, - }; - }; + using Error = detail::Error; static constexpr int MAXLENGTH = 32; Error::Parse parse(const uint8_t *bytes, uint8_t len);