Kea 2.5.8
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:

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 const std::set< std::string > & getSupportedParameters (const bool identifiers_only) const =0
 Returns set of the supported parameters.
 
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.
 
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

- 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::PositiongetPosition (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.
 

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_onlyIndicates 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 366 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_idIdentifier of the subnet that the host is connected to.
reservation_dataData element holding map with a host reservation configuration.
encapsulate_optionsa boolean parameter indicating if the parsed options should be encapsulated with suboptions.
Returns
Pointer to the object representing parsed host.
Exceptions
DhcpConfigErrorIf the configuration is invalid.

Reimplemented from isc::dhcp::HostReservationParser.

Definition at line 250 of file host_reservation_parser.cc.

References isc::asiolink::firstAddrInPrefix(), isc_throw, isc::dhcp::OptionDataListParser::parse(), isc::dhcp::HostReservationParser::parseInternal(), isc::dhcp::IPv6Resrv::TYPE_NA, isc::dhcp::IPv6Resrv::TYPE_PD, and isc::Exception::what().

+ Here is the call graph for this function:

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