Kea  1.9.9-git
isc::dhcp::HostReservationParser Class Referenceabstract

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

#include <host_reservation_parser.h>

+ Inheritance diagram for isc::dhcp::HostReservationParser:

Public Member Functions

virtual ~HostReservationParser ()
 Destructor. More...
 
virtual HostPtr parse (const SubnetID &subnet_id, isc::data::ConstElementPtr reservation_data) final
 Parses a single entry for host reservation. 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 dhcp::Triplet< uint32_t > parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name)
 Parses an integer triplet. More...
 

Protected Member Functions

virtual const std::set< std::string > & getSupportedParameters (const bool identifiers_only) const =0
 Returns set of the supported parameters. More...
 
virtual bool isIdentifierParameter (const std::string &param_name) const
 Checks if the specified parameter is a host identifier. More...
 
virtual bool isSupportedParameter (const std::string &param_name) const
 Checks if the specified parameter is supported by the parser. More...
 
virtual HostPtr parseInternal (const SubnetID &subnet_id, isc::data::ConstElementPtr reservation_data)
 Parses a single entry for host reservation. 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...
 

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

Detailed Description

Parser for a single host reservation entry.

Definition at line 18 of file host_reservation_parser.h.

Constructor & Destructor Documentation

virtual isc::dhcp::HostReservationParser::~HostReservationParser ( )
inlinevirtual

Destructor.

Definition at line 22 of file host_reservation_parser.h.

Member Function Documentation

virtual const std::set<std::string>& isc::dhcp::HostReservationParser::getSupportedParameters ( const bool  identifiers_only) const
protectedpure virtual

Returns set of the supported parameters.

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.

Implemented in isc::dhcp::HostReservationParser6, and isc::dhcp::HostReservationParser4.

bool isc::dhcp::HostReservationParser::isIdentifierParameter ( const std::string &  param_name) const
protectedvirtual

Checks if the specified parameter is a host identifier.

Parameters
param_nameParameter name.
Returns
true if the parameter specifies host identifier, false otherwise.

Definition at line 178 of file host_reservation_parser.cc.

bool isc::dhcp::HostReservationParser::isSupportedParameter ( const std::string &  param_name) const
protectedvirtual

Checks if the specified parameter is supported by the parser.

Parameters
param_nameParameter name.
Returns
true if the parameter is supported, false otherwise.

Definition at line 183 of file host_reservation_parser.cc.

HostPtr isc::dhcp::HostReservationParser::parse ( const SubnetID subnet_id,
isc::data::ConstElementPtr  reservation_data 
)
finalvirtual

Parses a single entry for host reservation.

Parameters
subnet_idIdentifier of the subnet that the host is connected to.
reservation_dataData element holding map with a host reservation configuration.
Returns
Pointer to the object representing parsed host.
Exceptions
DhcpConfigErrorIf the configuration is invalid.

Definition at line 102 of file host_reservation_parser.cc.

HostPtr isc::dhcp::HostReservationParser::parseInternal ( const SubnetID subnet_id,
isc::data::ConstElementPtr  reservation_data 
)
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.

Parameters
subnet_idIdentifier of the subnet that the host is connected to.
reservation_dataData element holding map with a host reservation configuration.
Returns
Pointer to the object representing parsed host.
Exceptions
DhcpConfigErrorIf the configuration is invalid.

Reimplemented in isc::dhcp::HostReservationParser6, and isc::dhcp::HostReservationParser4.

Definition at line 108 of file host_reservation_parser.cc.

References isc_throw, and isc::Exception::what().

+ Here is the call graph for this function:


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