kea-custom-hooks
FeM custom hooks libraries for Kea DHCP
Classes | Public Member Functions | List of all members
ahri::Config Class Reference

Configuration parser for admindb-host-reservation-importer configuration. More...

#include <Config.hpp>

Classes

struct  AdminDB
 AdminDB-specific configuration options. More...
 
struct  AhriNode
 Configuration for a Kea node running ahri. More...
 
struct  DBConfig
 Common configuration options for a database connection. More...
 
struct  DBHost
 Host configuration options for a database connection. More...
 
struct  Icinga2
 Configuration for a Icinga2 daemon monitoring this node. More...
 
struct  LocalDB
 DHCP local DB specific configuration options. More...
 
class  ParseError
 Exception for errors during configuration parsing. More...
 

Public Member Functions

 Config (std::istream &config)
 Create an instance and parse the given std::istream as configuration file. More...
 
 Config (const Config &)=delete
 
Configoperator= (const Config &)=delete
 
 Config (Config &&o) noexcept
 
 ~Config ()
 
Configuration access
const AdminDBadmindb () const
 Return parsed AdminDB-specific configuration. More...
 
const LocalDBlocaldb () const
 Return parsed DHCP local DB specific configuration options. More...
 
const AhriNodeahri_node () const
 Return parsed AHRI node information. More...
 
const Icinga2icinga2 () const
 Return parsed Icinga2 API information. More...
 

Detailed Description

Configuration parser for admindb-host-reservation-importer configuration.

This class takes an std::istream in ini format and parses the required configuration from the istream. The configuration is then made available as standard C++ variables using public member functions.

Parsing errors throw an instance of Config::ParseError.

Definition at line 23 of file Config.hpp.

Constructor & Destructor Documentation

◆ Config() [1/3]

ahri::Config::Config ( std::istream &  config)
explicit

Create an instance and parse the given std::istream as configuration file.

Definition at line 127 of file Config.cpp.

◆ Config() [2/3]

ahri::Config::Config ( const Config )
delete

◆ Config() [3/3]

ahri::Config::Config ( Config &&  o)
inlinenoexcept

Definition at line 108 of file Config.hpp.

◆ ~Config()

ahri::Config::~Config ( )

Definition at line 130 of file Config.cpp.

Member Function Documentation

◆ admindb()

const Config::AdminDB & ahri::Config::admindb ( ) const

Return parsed AdminDB-specific configuration.

Definition at line 141 of file Config.cpp.

◆ ahri_node()

const Config::AhriNode & ahri::Config::ahri_node ( ) const

Return parsed AHRI node information.

Definition at line 146 of file Config.cpp.

◆ icinga2()

const Config::Icinga2 & ahri::Config::icinga2 ( ) const

Return parsed Icinga2 API information.

Definition at line 151 of file Config.cpp.

◆ localdb()

const Config::LocalDB & ahri::Config::localdb ( ) const

Return parsed DHCP local DB specific configuration options.

Definition at line 136 of file Config.cpp.

◆ operator=()

Config & ahri::Config::operator= ( const Config )
delete

The documentation for this class was generated from the following files: