Kea 3.3.4
isc::cb::CBPoolParser< PoolParser > Class Template Reference

Overrides the default address pool parsers to use CB specific option data parsers. More...

#include <cb_parsers.h>

Inheritance diagram for isc::cb::CBPoolParser< PoolParser >:

Public Member Functions

 CBPoolParser (db::BackendSelector &backend_selector, db::ServerSelector &server_selector)
 Constructor.
Public Member Functions inherited from isc::dhcp::PoolParser
virtual ~PoolParser ()
 destructor.
virtual void parse (PoolStoragePtr pools, isc::data::ConstElementPtr pool_structure, const uint16_t address_family, bool encapsulate_options=true)
 parses the actual structure
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 boost::shared_ptr< OptionDataListParser > createOptionDataListParser (const uint16_t address_family) const
 Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.
Protected Member Functions inherited from isc::dhcp::PoolParser
virtual PoolPtr poolMaker (isc::asiolink::IOAddress &addr, uint32_t len, int32_t ptype=0)=0
 Creates a Pool object given a IPv4 prefix and the prefix length.
virtual PoolPtr poolMaker (isc::asiolink::IOAddress &min, isc::asiolink::IOAddress &max, int32_t ptype=0)=0
 Creates a Pool object given starting and ending IP addresses.
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

db::BackendSelector & backend_selector_
 Backend selector used to fetch option definitions during option data parsing.
db::ServerSelector & server_selector_
 Server selector used to fetch option definitions during option data parsing.

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 &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

template<typename PoolParser>
class isc::cb::CBPoolParser< PoolParser >

Overrides the default address pool parsers to use CB specific option data parsers.

Template Parameters
PoolParserType of the class this class derives from, i.e. dhcp::Pool4Parser or dhcp::Pool6Parser.

Definition at line 380 of file cb_parsers.h.

Constructor & Destructor Documentation

◆ CBPoolParser()

template<typename PoolParser>
isc::cb::CBPoolParser< PoolParser >::CBPoolParser ( db::BackendSelector & backend_selector,
db::ServerSelector & server_selector )
inline

Constructor.

Parameters
backend_selectorbackend selector used to fetch option definitions during option data parsing.
server_selectorbackend selector used to fetch option definitions during option data parsing.

Definition at line 389 of file cb_parsers.h.

Member Function Documentation

◆ createOptionDataListParser()

template<typename PoolParser>
virtual boost::shared_ptr< OptionDataListParser > isc::cb::CBPoolParser< PoolParser >::createOptionDataListParser ( const uint16_t address_family) const
inlineprotectedvirtual

Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.

This function can be overridden in the child classes to supply a custom parser for option data.

Parameters
address_familyAF_INET (for DHCPv4) or AF_INET6 (for DHCPv6).
Returns
an instance of the OptionDataListParser.

Reimplemented from isc::dhcp::PoolParser.

Definition at line 407 of file cb_parsers.h.

Member Data Documentation

◆ backend_selector_

template<typename PoolParser>
db::BackendSelector& isc::cb::CBPoolParser< PoolParser >::backend_selector_
protected

Backend selector used to fetch option definitions during option data parsing.

Definition at line 417 of file cb_parsers.h.

◆ server_selector_

template<typename PoolParser>
db::ServerSelector& isc::cb::CBPoolParser< PoolParser >::server_selector_
protected

Server selector used to fetch option definitions during option data parsing.

Definition at line 421 of file cb_parsers.h.


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