Kea: isc::dhcp::SharedNetworksListParser< SharedNetworkParserType > Class Template Reference

| Kea 3.2.0-git

isc::dhcp::SharedNetworksListParser< SharedNetworkParserType > Class Template Reference

Parser for a list of shared networks. More...

`#include <shared_networks_list_parser.h>`

Inheritance diagram for isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >:
[legend]

## Public Member Functions
| SharedNetworksListParser (bool check_iface=true)
| Constructor.
template<typename CfgSharedNetworksTypePtr>
void | parse (CfgSharedNetworksTypePtr &cfg, const data::ConstElementPtr &shared_networks_list_data)
| Parses a list of shared networks.
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 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::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.
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.

## Detailed Description

template<typename SharedNetworkParserType>
class isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >

Parser for a list of shared networks.

This is a generic parser for a list of IPv4 or IPv6 shared networks.

Template Parameters

  SharedNetworkParserType | Type of the parser to be used for parsing shared network, i.e. SharedNetwork4Parser or SharedNetwork6Parser.

Definition at line 29 of file shared_networks_list_parser.h.

## Constructor & Destructor Documentation

## ◆ SharedNetworksListParser()

template<typename SharedNetworkParserType>

isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >::SharedNetworksListParser | ( | bool | check_iface = true | ) |
| inline

Constructor.

Parameters

  check_iface | Check if the specified interface exists in the system.

Definition at line 36 of file shared_networks_list_parser.h.

## Member Function Documentation

## ◆ parse()

template<typename SharedNetworkParserType>
template<typename CfgSharedNetworksTypePtr>

void isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >::parse | ( | CfgSharedNetworksTypePtr & | cfg,
|  | const data::ConstElementPtr & | shared_networks_list_data )
| inline

Parses a list of shared networks.

Template Parameters

  CfgSharedNetworksTypePtr | Type of the configuration structure into which the result will be stored, i.e. CfgSharedNetworks4 or CfgSharedNetworks6.

Parameters

  [out] | cfg | Shared networks configuration structure into which the data should be parsed.
  | shared_networks_list_data | List element holding a list of shared networks.

Exceptions

  DhcpConfigError | when error has occurred, e.g. when networks with duplicated names have been specified.

Definition at line 53 of file shared_networks_list_parser.h.

Referenced by isc::dhcp::processDhcp4Config(), and isc::dhcp::processDhcp6Config().

## Member Data Documentation

## ◆ check_iface_

template<typename SharedNetworkParserType>

bool isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >::check_iface_
| protected

Check if the specified interface exists in the system.

Definition at line 81 of file shared_networks_list_parser.h.

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

- shared_networks_list_parser.h