Kea
1.9.9-git
|
Parser for a single option definition. More...
#include <dhcp_parsers.h>
Public Member Functions | |
OptionDefParser (const uint16_t address_family) | |
Constructor. More... | |
OptionDefinitionPtr | parse (isc::data::ConstElementPtr option_def) |
Parses an entry that describes single option definition. More... | |
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... | |
Additional Inherited Members | |
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 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... | |
Parser for a single option definition.
This parser creates an instance of a single option definition.
Definition at line 227 of file dhcp_parsers.h.
isc::dhcp::OptionDefParser::OptionDefParser | ( | const uint16_t | address_family | ) |
Constructor.
address_family | Address family: AF_INET or AF_INET6 . |
Definition at line 118 of file dhcp_parsers.cc.
OptionDefinitionPtr isc::dhcp::OptionDefParser::parse | ( | isc::data::ConstElementPtr | option_def | ) |
Parses an entry that describes single option definition.
option_def | a configuration entry to be parsed. |
DhcpConfigError | if parsing was unsuccessful. |
Definition at line 123 of file dhcp_parsers.cc.
References isc::data::SimpleParser::checkKeywords(), DHCP4_OPTION_SPACE, DHCP6_OPTION_SPACE, isc::dhcp::DHO_END, isc::dhcp::DHO_PAD, isc::data::SimpleParser::getBoolean(), isc::data::SimpleParser::getInteger(), isc::data::SimpleParser::getPosition(), isc::data::SimpleParser::getString(), isc_throw, isc::dhcp::SimpleParser4::OPTION4_DEF_PARAMETERS, isc::dhcp::SimpleParser6::OPTION6_DEF_PARAMETERS, isc::util::str::tokens(), isc::util::str::trim(), isc::dhcp::OptionSpace::validateName(), and isc::Exception::what().
Referenced by isc::dhcp::ClientClassDefParser::parse(), and isc::dhcp::OptionDefListParser::parse().