18 #ifndef CONFIGPARSER_HPP_ 19 #define CONFIGPARSER_HPP_ 37 std::map<std::string, std::shared_ptr<Chain>>
init_chains(
38 const config::parse_tree::node &root);
41 const config::parse_tree::node &root,
42 std::optional<int> priority,
43 std::optional<If> condition,
44 const std::map<std::string, std::shared_ptr<Chain>> &chains);
48 const config::parse_tree::node &root,
49 const std::map<std::string, std::shared_ptr<Chain>> &chains);
53 std::unique_ptr<Filter>
parse_filter(
const config::parse_tree::node &root);
56 const config::parse_tree::node &root, std::unique_ptr<Filter> filter);
59 const config::parse_tree::node &root,
60 std::shared_ptr<Filter> filter,
61 std::shared_ptr<ConnectionPool> pool);
64 const config::parse_tree::node &root,
65 std::shared_ptr<Filter> filter,
66 std::shared_ptr<ConnectionPool> pool);
88 tao::pegtl::read_input<>
in_;
89 std::unique_ptr<config::parse_tree::node>
root_;
96 #endif // CONFIGPARSER_HPP_ tao::pegtl::read_input in_
If parse_condition(const config::parse_tree::node &root)
std::unique_ptr< App > make_app()
std::unique_ptr< Filter > parse_filter(const config::parse_tree::node &root)
friend std::ostream & operator<<(std::ostream &os, const ConfigParser &config_parser)
std::unique_ptr< UDPInterface > parse_udp(const config::parse_tree::node &root, std::shared_ptr< Filter > filter, std::shared_ptr< ConnectionPool > pool)
std::unique_ptr< SerialInterface > parse_serial(const config::parse_tree::node &root, std::shared_ptr< Filter > filter, std::shared_ptr< ConnectionPool > pool)
ConfigParser & operator=(const ConfigParser &other)=delete
std::ostream & operator<<(std::ostream &os, const Action &action)
std::unique_ptr< config::parse_tree::node > root_
ConfigParser(std::string filename)
std::vector< std::unique_ptr< Interface > > parse_interfaces(const config::parse_tree::node &root, std::unique_ptr< Filter > filter)
void parse_chain(Chain &chain, const config::parse_tree::node &root, const std::map< std::string, std::shared_ptr< Chain >> &chains)
std::map< std::string, std::shared_ptr< Chain > > init_chains(const config::parse_tree::node &root)
std::unique_ptr< Rule > parse_action(const config::parse_tree::node &root, std::optional< int > priority, std::optional< If > condition, const std::map< std::string, std::shared_ptr< Chain >> &chains)