mavtables  0.2.1
MAVLink router and firewall.
Classes | Functions
ConfigParser.hpp File Reference
#include <map>
#include <memory>
#include <ostream>
#include <string>
#include <pegtl.hpp>
#include "App.hpp"
#include "Chain.hpp"
#include "Filter.hpp"
#include "parse_tree.hpp"
#include "SerialInterface.hpp"
#include "UDPInterface.hpp"
Include dependency graph for ConfigParser.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ConfigParser
 

Functions

std::map< std::string, std::shared_ptr< Chain > > init_chains (const config::parse_tree::node &root)
 
std::unique_ptr< Ruleparse_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)
 
void parse_chain (Chain &chain, const config::parse_tree::node &root, const std::map< std::string, std::shared_ptr< Chain >> &chains)
 
If parse_condition (const config::parse_tree::node &root)
 
std::unique_ptr< Filterparse_filter (const config::parse_tree::node &root)
 
std::vector< std::unique_ptr< Interface > > parse_interfaces (const config::parse_tree::node &root, std::unique_ptr< Filter > filter)
 
std::unique_ptr< SerialInterfaceparse_serial (const config::parse_tree::node &root, std::shared_ptr< Filter > filter, std::shared_ptr< ConnectionPool > pool)
 
std::unique_ptr< UDPInterfaceparse_udp (const config::parse_tree::node &root, std::shared_ptr< Filter > filter, std::shared_ptr< ConnectionPool > pool)
 
std::ostream & operator<< (std::ostream &os, const ConfigParser &config_parser)
 

Function Documentation

◆ init_chains()

std::map<std::string, std::shared_ptr<Chain> > init_chains ( const config::parse_tree::node &  root)
related

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const ConfigParser config_parser 
)

◆ parse_action()

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 
)
related

◆ parse_chain()

void parse_chain ( Chain chain,
const config::parse_tree::node &  root,
const std::map< std::string, std::shared_ptr< Chain >> &  chains 
)
related

◆ parse_condition()

If parse_condition ( const config::parse_tree::node &  root)
related

◆ parse_filter()

std::unique_ptr<Filter> parse_filter ( const config::parse_tree::node &  root)
related

◆ parse_interfaces()

std::vector<std::unique_ptr<Interface> > parse_interfaces ( const config::parse_tree::node &  root,
std::unique_ptr< Filter filter 
)
related

◆ parse_serial()

std::unique_ptr<SerialInterface> parse_serial ( const config::parse_tree::node &  root,
std::shared_ptr< Filter filter,
std::shared_ptr< ConnectionPool pool 
)
related

◆ parse_udp()

std::unique_ptr<UDPInterface> parse_udp ( const config::parse_tree::node &  root,
std::shared_ptr< Filter filter,
std::shared_ptr< ConnectionPool pool 
)
related