64 enum class Direction { kInput, kHandled, kOutput, kInternal, kNone };
65 enum class Accepted { kOk, kFilteredNoOutput, kFilteredDropped, kNone };
66 enum class State { kOk, kChecksumError, kMalformed, kTxError, kNone };
68 NavmsgStatus(Direction direction_, State status_, Accepted accepted_)
69 : direction(direction_), status(status_), accepted(accepted_) {}
71 NavmsgStatus(Direction direction)
72 : NavmsgStatus(direction, State::kOk, Accepted::kOk) {}
74 NavmsgStatus(State status)
75 : NavmsgStatus(Direction::kInput, status, Accepted::kOk) {}
77 NavmsgStatus(Accepted accepted)
78 : NavmsgStatus(Direction::kInput, State::kOk, accepted) {}
80 NavmsgStatus() : NavmsgStatus(Direction::kInput, State::kOk, Accepted::kOk) {}
95 NavmsgFilter() : m_is_valid(
true) {}
97 NavmsgFilter(
bool is_valid) : m_is_valid(is_valid) {}
103 static std::vector<NavmsgFilter>
GetFilters(
const fs::path& path);
109 static NavmsgFilter
Parse(
const std::string& s);
112 static NavmsgFilter
Parse(
const fs::path& path);
128 std::string m_description;
129 std::set<NavmsgStatus::Direction> directions;
130 std::set<NavmsgStatus::State> status;
131 std::set<NavmsgStatus::Accepted> accepted;
132 std::set<NavAddr::Bus> buses;
133 std::set<std::string> include_msg;
134 std::set<std::string> exclude_msg;
135 std::set<std::string> interfaces;
136 std::set<N2kPGN> pgns;
137 std::set<N2kName> src_pgns;