![]() |
Kea 2.2.0
|
Parser for a list of host identifiers. More...
#include <host_reservation_parser.h>
Inheritance diagram for isc::dhcp::HostReservationIdsParser:Public Member Functions | |
| HostReservationIdsParser () | |
| Constructor. More... | |
| virtual | ~HostReservationIdsParser () |
| Destructor. More... | |
| void | parse (isc::data::ConstElementPtr ids_list) |
| Parses a list of host identifiers. 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 isc::util::Triplet< uint32_t > | parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name) |
| Parses an integer triplet. More... | |
Protected Member Functions | |
| virtual bool | isSupportedIdentifier (const std::string &id_name) const =0 |
| Checks if specified identifier name is supported in the context of the parser. More... | |
| virtual void | parseInternal (isc::data::ConstElementPtr ids_list) |
| Parses a list of host identifiers. 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... | |
Protected Attributes | |
| CfgHostOperationsPtr | staging_cfg_ |
| Pointer to the object holding configuration. 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... | |
Parser for a list of host identifiers.
This is a parent parser class for parsing "host-reservation-identifiers" global configuration parameter. The DHCPv4 and DHCPv6 specific parsers derive from this class.
Definition at line 140 of file host_reservation_parser.h.
| isc::dhcp::HostReservationIdsParser::HostReservationIdsParser | ( | ) |
Constructor.
Definition at line 354 of file host_reservation_parser.cc.
|
inlinevirtual |
Destructor.
Definition at line 147 of file host_reservation_parser.h.
|
protectedpure virtual |
Checks if specified identifier name is supported in the context of the parser.
This is abstract method which must be implemented in the derived parser classes for DHCPv4 and DHCPv6.
| id_name | Identifier name. |
Implemented in isc::dhcp::HostReservationIdsParser4, and isc::dhcp::HostReservationIdsParser6.
Referenced by parseInternal().
| void isc::dhcp::HostReservationIdsParser::parse | ( | isc::data::ConstElementPtr | ids_list | ) |
Parses a list of host identifiers.
| ids_list | Data element pointing to an ordered list of host identifier names. |
| DhcpConfigError | If specified configuration is invalid. |
Definition at line 359 of file host_reservation_parser.cc.
References parseInternal().
Referenced by isc::dhcp::configureDhcp4Server(), and isc::dhcp::configureDhcp6Server().
Here is the call graph for this function:
|
protectedvirtual |
Parses a list of host identifiers.
This method is called by parse and it can be overridden in the derived classes to provide class specific parsing logic.
| ids_list | Data element pointing to an ordered list of host identifier names. |
| DhcpConfigError | If specified configuration is invalid. |
Definition at line 364 of file host_reservation_parser.cc.
References isc::dhcp::Host::getIdentifierName(), isc_throw, isSupportedIdentifier(), isc::dhcp::Host::LAST_IDENTIFIER_TYPE, staging_cfg_, and isc::Exception::what().
Referenced by parse().
Here is the call graph for this function:
|
protected |
Pointer to the object holding configuration.
Definition at line 182 of file host_reservation_parser.h.
Referenced by isc::dhcp::HostReservationIdsParser4::HostReservationIdsParser4(), isc::dhcp::HostReservationIdsParser6::HostReservationIdsParser6(), and parseInternal().