#ifndef NEWSBOAT_RSSIGNORES_H_ #define NEWSBOAT_RSSIGNORES_H_ #include #include #include #include "configactionhandler.h" #include "matcher.h" #include "rssitem.h" namespace newsboat { typedef std::pair> FeedUrlExprPair; class RssIgnores : public ConfigActionHandler { public: RssIgnores() {} ~RssIgnores() override {} void handle_action(const std::string& action, const std::vector& params) override; void dump_config(std::vector& config_output) const override; bool matches(RssItem* item); bool matches_lastmodified(const std::string& url); bool matches_resetunread(const std::string& url); private: bool matches_expr(std::shared_ptr expr, RssItem* item); std::vector regex_ignores; std::unordered_multimap> non_regex_ignores; std::vector ignores_lastmodified; std::vector resetflag; static const std::string REGEX_PREFIX; }; } // namespace newsboat #endif /* NEWSBOAT_RSSIGNORES_H_ */