Kea
1.9.9-git
|
Common configuration parser for shared networks and subnets. More...
#include <base_network_parser.h>
Static Public Member Functions | |
static void | moveReservationMode (isc::data::ElementPtr config) |
Moves deprecated reservation-mode parameter to new reservations flags. More... | |
Static Public Member Functions inherited from isc::data::SimpleParser | |
static void | checkKeywords (const SimpleKeywords &keywords, isc::data::ConstElementPtr scope) |
Checks acceptable keywords with their expected type. More... | |
static void | checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope) |
Checks that all required keywords are present. More... | |
static size_t | deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList ¶ms) |
Derives (inherits) parameters from parent scope to a child. More... | |
static isc::asiolink::IOAddress | getAddress (const ConstElementPtr &scope, const std::string &name) |
Returns a IOAddress parameter from a scope. More... | |
static bool | getBoolean (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a boolean parameter from a scope. More... | |
static double | getDouble (const ConstElementPtr &scope, const std::string &name) |
Returns a floating point parameter from a scope. More... | |
static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name) |
Returns an integer parameter from a scope. More... | |
static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name, int64_t min, int64_t max) |
Returns an integer parameter from a scope and checks its range. More... | |
static const data::Element::Position & | getPosition (const std::string &name, const data::ConstElementPtr parent) |
Utility method that returns position of an element. More... | |
static std::string | getString (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a string parameter from a scope. More... | |
static size_t | setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values) |
Sets the default values. More... | |
static size_t | setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values) |
Sets the default values for all entries in a list. More... | |
Protected Member Functions | |
void | parseCacheParams (const data::ConstElementPtr &network_data, NetworkPtr &network) |
Parses parameters related to lease cache settings. More... | |
void | parseCommon (const data::ConstElementPtr &network_data, NetworkPtr &network) |
Parses common parameters. More... | |
void | parseDdnsParams (const data::ConstElementPtr &network_data, NetworkPtr &network) |
Parses parameters pertaining to DDNS behavior. More... | |
void | parseTeePercents (const data::ConstElementPtr &network_data, NetworkPtr &network) |
Parses parameters related to "percent" timers settings. More... | |
Protected Member Functions inherited from isc::data::SimpleParser | |
template<typename target_type , target_type convert> | |
target_type | getAndConvert (isc::data::ConstElementPtr scope, const std::string &name, const std::string &type_name) |
Returns a converted value from a scope. More... | |
template<typename int_type > | |
int_type | getIntType (isc::data::ConstElementPtr scope, const std::string &name) |
Returns an integer value with range checking from a scope. More... | |
Additional Inherited Members | |
Public Member Functions inherited from isc::data::SimpleParser | |
uint16_t | getUint16 (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a value converted to uint16_t. More... | |
uint32_t | getUint32 (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a value converted to uint32_t. More... | |
uint8_t | getUint8 (ConstElementPtr scope, const std::string &name) |
Get an uint8_t value. More... | |
const dhcp::Triplet< uint32_t > | parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name) |
Parses an integer triplet. More... | |
Common configuration parser for shared networks and subnets.
Definition at line 19 of file base_network_parser.h.
|
static |
Moves deprecated reservation-mode parameter to new reservations flags.
config | [in/out] configuration to alter. |
DhcpConfigError | on error e.g. when both reservation-mode and a flag are specified. |
Definition at line 20 of file base_network_parser.cc.
References isc::data::Element::create(), and isc_throw.
Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().
|
protected |
Parses parameters related to lease cache settings.
The parsed parameters are:
network_data | Data element holding network configuration to be parsed. | |
[out] | network | Pointer to a network in which parsed data is to be stored. |
DhcpConfigError | if configuration of these parameters is invalid. |
Definition at line 153 of file base_network_parser.cc.
References isc_throw.
Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().
|
protected |
Parses common parameters.
The parsed parameters are:
network_data | Data element holding shared network configuration to be parsed. | |
[out] | network | Pointer to a network in which parsed data is to be stored. |
Definition at line 55 of file base_network_parser.cc.
References isc_throw.
Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().
|
protected |
Parses parameters pertaining to DDNS behavior.
The parsed parameters are:
network_data | Data element holding shared network configuration to be parsed. | |
[out] | network | Pointer to a network in which parsed data is to be stored. |
Definition at line 170 of file base_network_parser.cc.
References isc_throw.
Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().
|
protected |
Parses parameters related to "percent" timers settings.
The parsed parameters are:
network_data | Data element holding network configuration to be parsed. | |
[out] | network | Pointer to a network in which parsed data is to be stored. |
DhcpConfigError | if configuration of these parameters is invalid. |
Definition at line 110 of file base_network_parser.cc.
References isc::util::Optional< T >::get(), isc_throw, and isc::util::Optional< T >::unspecified().
Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().