Kea 2.7.5
|
Parser for a single host reservation entry. More...
#include <host_reservation_parser.h>
Public Member Functions | |
virtual | ~HostReservationParser () |
Destructor. | |
virtual HostPtr | parse (const SubnetID &subnet_id, isc::data::ConstElementPtr reservation_data, bool encapsulate_options=true) final |
Parses a single entry for host reservation. | |
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. | |
uint32_t | getUint32 (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a value converted to uint32_t. | |
uint8_t | getUint8 (ConstElementPtr scope, const std::string &name) |
Get an uint8_t value. | |
const isc::util::Triplet< uint32_t > | parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name) |
Parses an integer triplet. | |
Protected Member Functions | |
virtual const std::set< std::string > & | getSupportedParameters (const bool identifiers_only) const =0 |
Returns set of the supported parameters. | |
virtual bool | isIdentifierParameter (const std::string ¶m_name) const |
Checks if the specified parameter is a host identifier. | |
virtual bool | isSupportedParameter (const std::string ¶m_name) const |
Checks if the specified parameter is supported by the parser. | |
virtual HostPtr | parseInternal (const SubnetID &subnet_id, isc::data::ConstElementPtr reservation_data, bool encapsulate_options) |
Parses a single entry for host reservation. | |
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. | |
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. | |
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. | |
static void | checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope) |
Checks that all required keywords are present. | |
static size_t | deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList ¶ms) |
Derives (inherits) parameters from parent scope to a child. | |
static isc::asiolink::IOAddress | getAddress (const ConstElementPtr &scope, const std::string &name) |
Returns a IOAddress parameter from a scope. | |
static bool | getBoolean (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a boolean parameter from a scope. | |
static double | getDouble (const ConstElementPtr &scope, const std::string &name) |
Returns a floating point parameter from a scope. | |
static int64_t | getInteger (isc::data::ConstElementPtr scope, const std::string &name) |
Returns an integer parameter from a scope. | |
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. | |
static const data::Element::Position & | getPosition (const std::string &name, const data::ConstElementPtr parent) |
Utility method that returns position of an element. | |
static std::string | getString (isc::data::ConstElementPtr scope, const std::string &name) |
Returns a string parameter from a scope. | |
static size_t | setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values) |
Sets the default values. | |
static size_t | setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values) |
Sets the default values for all entries in a list. | |
Parser for a single host reservation entry.
Definition at line 18 of file host_reservation_parser.h.
|
inlinevirtual |
Destructor.
Definition at line 22 of file host_reservation_parser.h.
|
protectedpure virtual |
Returns set of the supported parameters.
identifiers_only | Indicates if the function should only return supported host identifiers (if true) or all supported parameters (if false). |
Implemented in isc::dhcp::HostReservationParser4, and isc::dhcp::HostReservationParser6.
Referenced by isIdentifierParameter(), isSupportedParameter(), and parseInternal().
|
protectedvirtual |
Checks if the specified parameter is a host identifier.
param_name | Parameter name. |
Definition at line 236 of file host_reservation_parser.cc.
References getSupportedParameters().
Referenced by parseInternal().
|
protectedvirtual |
Checks if the specified parameter is supported by the parser.
param_name | Parameter name. |
Definition at line 241 of file host_reservation_parser.cc.
References getSupportedParameters().
Referenced by parseInternal().
|
finalvirtual |
Parses a single entry for host reservation.
subnet_id | Identifier of the subnet that the host is connected to. |
reservation_data | Data element holding map with a host reservation configuration. |
encapsulate_options | a boolean parameter indicating if the parsed options should be encapsulated with suboptions. |
DhcpConfigError | If the configuration is invalid. |
Definition at line 158 of file host_reservation_parser.cc.
References parseInternal().
|
protectedvirtual |
Parses a single entry for host reservation.
This method is called by parse and it can be overridden in the derived classes to provide class specific parsing logic.
subnet_id | Identifier of the subnet that the host is connected to. |
reservation_data | Data element holding map with a host reservation configuration. |
encapsulate_options | a boolean parameter indicating if the parsed options should be encapsulated with suboptions. |
DhcpConfigError | If the configuration is invalid. |
Reimplemented in isc::dhcp::HostReservationParser4, and isc::dhcp::HostReservationParser6.
Definition at line 165 of file host_reservation_parser.cc.
References getSupportedParameters(), isc_throw, isIdentifierParameter(), isSupportedParameter(), and isc::Exception::what().
Referenced by parse(), isc::dhcp::HostReservationParser4::parseInternal(), and isc::dhcp::HostReservationParser6::parseInternal().