#ifndef MISSION_TMTC_PUSPACKETFILTER_H_ #define MISSION_TMTC_PUSPACKETFILTER_H_ #include <fsfw/tmtcpacket/pus/tm/PusTmReader.h> #include <optional> #include <vector> class PusPacketFilter { public: PusPacketFilter(); bool packetMatches(PusTmReader& reader) const; void addApid(uint16_t apid); void addService(uint8_t service); void addServiceSubservice(uint8_t service, uint8_t subservice); private: std::optional<std::vector<uint16_t>> apid; std::optional<std::vector<uint8_t>> services; std::optional<std::vector<std::pair<uint8_t, uint8_t>>> serviceSubservices; }; #endif /* MISSION_TMTC_PUSPACKETFILTER_H_ */