Kea: isc::dhcp::HostReservationParser6 Class Reference

| Kea 3.2.0-git

isc::dhcp::HostReservationParser6 Class Reference

Parser for a single host reservation for DHCPv6. More...

`#include <host_reservation_parser.h>`

Inheritance diagram for isc::dhcp::HostReservationParser6:
[legend]

## Protected Member Functions
virtual const std::set< std::string > & | getSupportedParameters (const bool identifiers_only) const
| Returns set of the supported parameters for DHCPv6.
virtual HostPtr | parseInternal (const SubnetID &subnet_id, isc::data::ConstElementPtr reservation_data, bool encapsulate_options)
| Parses a single host reservation for DHCPv6.
Protected Member Functions inherited from isc::dhcp::HostReservationParser
virtual bool | isIdentifierParameter (const std::string &param_name) const
| Checks if the specified parameter is a host identifier.
virtual bool | isSupportedParameter (const std::string &param_name) const
| Checks if the specified parameter is supported by the parser.
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
Public Member Functions inherited from isc::dhcp::HostReservationParser
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.
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 &params)
| 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.
template<typename T>
static void | rangeCheckedInteger (isc::data::ConstElementPtr scope, const std::string &name, T &output_value)
| Fetches a range-checked integer 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.

## Detailed Description

Parser for a single host reservation for DHCPv6.

Definition at line 117 of file host_reservation_parser.h.

## Member Function Documentation

## ◆ getSupportedParameters()

const std::set< std::string > & isc::dhcp::HostReservationParser6::getSupportedParameters | ( | const bool | identifiers_only | ) | const
| protectedvirtual

Returns set of the supported parameters for DHCPv6.

Parameters

  identifiers_only | Indicates if the function should only return supported host identifiers (if true) or all supported parameters (if false).

Returns
  Set of supported parameter names.

Implements isc::dhcp::HostReservationParser.

Definition at line 413 of file host_reservation_parser.cc.

## ◆ parseInternal()

HostPtr isc::dhcp::HostReservationParser6::parseInternal | ( | const SubnetID & | subnet_id,
|  | isc::data::ConstElementPtr | reservation_data,
|  | bool | encapsulate_options )
| protectedvirtual

Parses a single host reservation for DHCPv6.

Parameters

  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.

Returns
  Pointer to the object representing parsed host.

Exceptions

  DhcpConfigError | If the configuration is invalid.

Reimplemented from isc::dhcp::HostReservationParser.

Definition at line 306 of file host_reservation_parser.cc.

References isc_throw, isc::dhcp::OptionDataListParser::parse(), isc::dhcp::HostReservationParser::parseInternal(), isc::dhcp::IPv6Resrv::setPDExclude(), isc::dhcp::IPv6Resrv::TYPE_NA, and isc::dhcp::IPv6Resrv::TYPE_PD.

Here is the call graph for this function:

The documentation for this class was generated from the following files:

- host_reservation_parser.h
- host_reservation_parser.cc