Kea: simple_parser.h Source File

| Kea 3.2.0-git

bin/netconf/simple_parser.h
Go to the documentation of this file.
1// Copyright (C) 2018-2026 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef NETCONF_SIMPLE_PARSER_H
8#define NETCONF_SIMPLE_PARSER_H
9
10#include <cc/simple_parser.h>
11#include <netconf/netconf_cfg_mgr.h>
12
13namespace isc {
14namespace netconf {
15
23 class NetconfSimpleParser : public isc::data::SimpleParser {
24public:
31 static size_t setAllDefaults(const isc::data::ElementPtr& global);
32
39 static size_t deriveParameters(isc::data::ElementPtr global);
40
48 static size_t setServerDefaults(const std::string name,
49 isc::data::ElementPtr server);
50
58 void parse(const NetconfConfigPtr& ctx,
59 const isc::data::ElementPtr& config,
60 bool check_only);
61
62 // see simple_parser.cc for comments for those parameters
63 static const isc::data::SimpleDefaults NETCONF_DEFAULTS;
64 static const isc::data::SimpleDefaults CTRL_SOCK_DEFAULTS;
65 static const isc::data::SimpleDefaults DHCP4_DEFAULTS;
66 static const isc::data::SimpleDefaults DHCP6_DEFAULTS;
67 static const isc::data::SimpleDefaults D2_DEFAULTS;
68 static const isc::data::ParamsList INHERIT_TO_SERVERS;
69}; // NetconfSimpleParser
70
71} // namespace netconf
72} // namespace isc
73#endif
isc::data::SimpleParser
A simple parser.
Definition lib/cc/simple_parser.h:68
isc::netconf::NetconfSimpleParser
Definition bin/netconf/simple_parser.h:23
isc::netconf::NetconfSimpleParser::NETCONF_DEFAULTS
static const isc::data::SimpleDefaults NETCONF_DEFAULTS
This table defines default values for global options.
Definition bin/netconf/simple_parser.h:63
isc::netconf::NetconfSimpleParser::DHCP6_DEFAULTS
static const isc::data::SimpleDefaults DHCP6_DEFAULTS
Supplies defaults for dhcp6 managed server.
Definition bin/netconf/simple_parser.h:66
isc::netconf::NetconfSimpleParser::DHCP4_DEFAULTS
static const isc::data::SimpleDefaults DHCP4_DEFAULTS
Supplies defaults for dhcp4 managed server.
Definition bin/netconf/simple_parser.h:65
isc::netconf::NetconfSimpleParser::setAllDefaults
static size_t setAllDefaults(const isc::data::ElementPtr &global)
Sets all defaults for Netconf configuration.
Definition bin/netconf/simple_parser.cc:86
isc::netconf::NetconfSimpleParser::deriveParameters
static size_t deriveParameters(isc::data::ElementPtr global)
Derives (inherits) all parameters from global to more specific scopes.
Definition bin/netconf/simple_parser.cc:106
isc::netconf::NetconfSimpleParser::INHERIT_TO_SERVERS
static const isc::data::ParamsList INHERIT_TO_SERVERS
List of parameters that can be inherited to managed-servers scope.
Definition bin/netconf/simple_parser.h:68
isc::netconf::NetconfSimpleParser::parse
void parse(const NetconfConfigPtr &ctx, const isc::data::ElementPtr &config, bool check_only)
Parses the netconf configuration.
Definition bin/netconf/simple_parser.cc:151
isc::netconf::NetconfSimpleParser::CTRL_SOCK_DEFAULTS
static const isc::data::SimpleDefaults CTRL_SOCK_DEFAULTS
Supplies defaults for control-socket elements.
Definition bin/netconf/simple_parser.h:64
isc::netconf::NetconfSimpleParser::D2_DEFAULTS
static const isc::data::SimpleDefaults D2_DEFAULTS
Supplies defaults for d2 managed server.
Definition bin/netconf/simple_parser.h:67
isc::netconf::NetconfSimpleParser::setServerDefaults
static size_t setServerDefaults(const std::string name, isc::data::ElementPtr server)
Adds default values to a Managed server entry.
Definition bin/netconf/simple_parser.cc:127
simple_parser.h
isc::config
Definition command_interpreter.cc:23
isc::data::ParamsList
std::vector< std::string > ParamsList
This defines a list of all parameters that are derived (or inherited) between contexts.
Definition lib/cc/simple_parser.h:43
isc::data::SimpleDefaults
std::vector< SimpleDefault > SimpleDefaults
This specifies all default values in a given scope (e.g. a subnet).
Definition lib/cc/simple_parser.h:39
isc::data::ElementPtr
boost::shared_ptr< Element > ElementPtr
Definition data.h:29
isc::netconf
Definition control_socket.cc:20
isc::netconf::NetconfConfigPtr
boost::shared_ptr< NetconfConfig > NetconfConfigPtr
Pointer to a configuration context.
Definition netconf_cfg_mgr.h:22
isc
Defines the logger used by the top-level component of kea-lfc.
Definition check_exists_add.cc:18
netconf_cfg_mgr.h