11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
16PROMEKI_NAMESPACE_BEGIN
48class FrameSyncDisposition {
64 static constexpr uint8_t DefaultRepeatCount = 1;
67 static constexpr FrameSyncDisposition play() {
68 return FrameSyncDisposition(Play, 0);
72 static constexpr FrameSyncDisposition drop() {
73 return FrameSyncDisposition(Drop, 0);
84 static constexpr FrameSyncDisposition repeat(uint8_t count = DefaultRepeatCount) {
85 return FrameSyncDisposition(Repeat, count);
89 constexpr FrameSyncDisposition() =
default;
92 constexpr Kind kind()
const {
return _kind; }
99 constexpr uint8_t repeatCount()
const {
return _repeatCount; }
102 constexpr bool operator==(
const FrameSyncDisposition &other)
const {
103 return _kind == other._kind && _repeatCount == other._repeatCount;
107 constexpr bool operator!=(
const FrameSyncDisposition &other)
const {
108 return !(*
this == other);
112 constexpr FrameSyncDisposition(Kind k, uint8_t c) : _kind(k), _repeatCount(c) {}
115 uint8_t _repeatCount = 0;