Kea 2.5.8
isc::dhcp::Subnets4ListConfigParser Class Reference

this class parses list of DHCP4 subnets More...

#include <dhcp_parsers.h>

+ Inheritance diagram for isc::dhcp::Subnets4ListConfigParser:

Public Member Functions

 Subnets4ListConfigParser (bool check_iface=true)
 constructor
 
virtual ~Subnets4ListConfigParser ()
 Virtual destructor.
 
size_t parse (SrvConfigPtr cfg, data::ConstElementPtr subnets_list, bool encapsulate_options=true)
 parses contents of the list
 
size_t parse (Subnet4Collection &subnets, data::ConstElementPtr subnets_list, bool encapsulate_options=true)
 Parses contents of the subnet4 list.
 
- 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< Subnet4ConfigParsercreateSubnetConfigParser () const
 Returns an instance of the Subnet4ConfigParser to be used in parsing the subnets.
 
- 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

bool check_iface_
 Check if the specified interface exists in the system.
 

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

this class parses list of DHCP4 subnets

This is a wrapper parser that handles the whole list of Subnet4 definitions. It iterates over all entries and creates Subnet4ConfigParser for each entry.

Definition at line 653 of file dhcp_parsers.h.

Constructor & Destructor Documentation

◆ Subnets4ListConfigParser()

isc::dhcp::Subnets4ListConfigParser::Subnets4ListConfigParser ( bool  check_iface = true)

constructor

Parameters
check_ifaceCheck if the specified interface exists in the system.

Definition at line 988 of file dhcp_parsers.cc.

◆ ~Subnets4ListConfigParser()

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

Virtual destructor.

Definition at line 663 of file dhcp_parsers.h.

Member Function Documentation

◆ createSubnetConfigParser()

boost::shared_ptr< Subnet4ConfigParser > isc::dhcp::Subnets4ListConfigParser::createSubnetConfigParser ( ) const
protectedvirtual

Returns an instance of the Subnet4ConfigParser to be used in parsing the subnets.

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

Returns
an instance of the Subnet4ConfigParser.

Definition at line 1045 of file dhcp_parsers.cc.

References check_iface_.

Referenced by parse().

◆ parse() [1/2]

size_t isc::dhcp::Subnets4ListConfigParser::parse ( SrvConfigPtr  cfg,
data::ConstElementPtr  subnets_list,
bool  encapsulate_options = true 
)

parses contents of the list

Iterates over all entries on the list, parses its content (by instantiating Subnet6ConfigParser) and adds to specified configuration.

Parameters
cfgPointer to server configuration.
subnets_listpointer to a list of IPv4 subnets
encapsulate_optionsa boolean parameter indicating if the parsed options should be encapsulated with suboptions.
Returns
number of subnets created

Definition at line 993 of file dhcp_parsers.cc.

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

Referenced by isc::dhcp::processDhcp4Config().

+ Here is the call graph for this function:

◆ parse() [2/2]

size_t isc::dhcp::Subnets4ListConfigParser::parse ( Subnet4Collection subnets,
data::ConstElementPtr  subnets_list,
bool  encapsulate_options = true 
)

Parses contents of the subnet4 list.

Parameters
[out]subnetsContainer where parsed subnets will be stored.
subnets_listpointer to a list of IPv4 subnets
encapsulate_optionsa boolean parameter indicating if the parsed options should be encapsulated with suboptions.
Returns
Number of subnets created.

Definition at line 1019 of file dhcp_parsers.cc.

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

+ Here is the call graph for this function:

Member Data Documentation

◆ check_iface_

bool isc::dhcp::Subnets4ListConfigParser::check_iface_
protected

Check if the specified interface exists in the system.

Definition at line 703 of file dhcp_parsers.h.

Referenced by createSubnetConfigParser().


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