#ifndef PARSER_H #define PARSER_H #include "iparser.h" class Parser : public IParser { private: std::string processLink(const PageDao &pageDao, UrlProvider &urlProvider, std::smatch &match) const; std::string processImage(std::smatch &match) const; public: std::string extractFirstTag(std::string tagname, const std::string &content) const override; std::string extractCommand(std::string cmdname, const std::string &content) const override; std::vector extractCommands(std::string cmdname, const std::string &content) const override; std::vector extractHeadlines(const std::string &content) const override; std::vector extractCategories(const std::string &content) const override; using IParser::parse; virtual std::string parse( const PageDao &pagedao, UrlProvider &provider, const std::string &content, const std::function &callback) const override; std::string parseDynamics( const std::string &content, const std::function &callback) const override; using IParser::IParser; }; #endif // PARSER_H