![]() |
Kea 3.0.0
|
Parser for a list of host identifiers. More...
#include <host_reservation_parser.h>
Public Member Functions | |
| HostReservationIdsParser () | |
| Constructor. | |
| virtual | ~HostReservationIdsParser () |
| Destructor. | |
| void | parse (isc::data::ConstElementPtr ids_list) |
| Parses a list of host identifiers. | |
| 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 bool | isSupportedIdentifier (const std::string &id_name) const =0 |
| Checks if specified identifier name is supported in the context of the parser. | |
| virtual void | parseInternal (isc::data::ConstElementPtr ids_list) |
| Parses a list of host identifiers. | |
| 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. | |
Protected Attributes | |
| CfgHostOperationsPtr | staging_cfg_ |
| Pointer to the object holding configuration. | |
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 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 152 of file host_reservation_parser.h.
| isc::dhcp::HostReservationIdsParser::HostReservationIdsParser | ( | ) |
Constructor.
Definition at line 417 of file host_reservation_parser.cc.
References staging_cfg_.
Referenced by isc::dhcp::HostReservationIdsParser4::HostReservationIdsParser4(), and isc::dhcp::HostReservationIdsParser6::HostReservationIdsParser6().
|
inlinevirtual |
Destructor.
Definition at line 159 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 422 of file host_reservation_parser.cc.
References parseInternal().
Referenced by isc::dhcp::processDhcp4Config(), and isc::dhcp::processDhcp6Config().
|
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 427 of file host_reservation_parser.cc.
References isc::dhcp::Host::getIdentifierName(), isc_throw, isSupportedIdentifier(), isc::dhcp::Host::LAST_IDENTIFIER_TYPE, and staging_cfg_.
Referenced by parse().
|
protected |
Pointer to the object holding configuration.
Definition at line 194 of file host_reservation_parser.h.
Referenced by HostReservationIdsParser(), isc::dhcp::HostReservationIdsParser4::HostReservationIdsParser4(), isc::dhcp::HostReservationIdsParser6::HostReservationIdsParser6(), and parseInternal().