11 #include <boost/foreach.hpp> 123 const ParamsList SimpleParser4::INHERIT_TO_SUBNET4 = {
139 const SimpleDefaults SimpleParser4::DHCP_QUEUE_CONTROL4_DEFAULTS = {
156 cnt = setDefaults(global, GLOBAL4_DEFAULTS);
161 BOOST_FOREACH(
ElementPtr option_def, option_defs->listValue()) {
169 cnt += setListDefaults(options, OPTION4_DEFAULTS);
175 cnt += setListDefaults(subnets, SUBNET4_DEFAULTS);
181 ElementPtr mutable_cfg = boost::const_pointer_cast<Element>(ifaces_cfg);
182 cnt += setDefaults(mutable_cfg, IFACE4_DEFAULTS);
188 BOOST_FOREACH(
ElementPtr net, shared->listValue()) {
190 cnt += setDefaults(net, SHARED_NETWORK4_DEFAULTS);
194 cnt += setListDefaults(subs, SHARED_SUBNET4_DEFAULTS);
204 mutable_cfg = boost::const_pointer_cast<Element>(queue_control);
207 global->set(
"dhcp-queue-control", mutable_cfg);
210 cnt += setDefaults(mutable_cfg, DHCP_QUEUE_CONTROL4_DEFAULTS);
221 BOOST_FOREACH(
ElementPtr single_subnet, subnets->listValue()) {
232 BOOST_FOREACH(
ElementPtr net, shared->listValue()) {
240 subnets = net->get(
"subnet4");
242 BOOST_FOREACH(
ElementPtr single_subnet, subnets->listValue()) {
std::vector< SimpleDefault > SimpleDefaults
This specifies all default values in a given scope (e.g. a subnet)
boost::shared_ptr< Element > ElementPtr
static ElementPtr createMap(const Position &pos=ZERO_POSITION())
Creates an empty MapElement type ElementPtr.
static size_t deriveParams(isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList ¶ms)
Derives (inherits) parameters from parent scope to a child.
static size_t setDefaults(isc::data::ElementPtr scope, const SimpleDefaults &default_values)
Sets the default values.
boost::shared_ptr< const Element > ConstElementPtr
Defines the logger used by the top-level component of kea-dhcp-ddns.
std::vector< std::string > ParamsList
This defines a list of all parameters that are derived (or inherited) between contexts.