| Kea 3.0.2-git

d2_simple_parser.h
Go to the documentation of this file.
1// Copyright (C) 2017-2021 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 D2_SIMPLE_PARSER_H
8#define D2_SIMPLE_PARSER_H
9
10#include <cc/simple_parser.h>
11#include <d2srv/d2_cfg_mgr.h>
12
13 namespace isc {
14 namespace d2 {
15
22 class D2SimpleParser : public data::SimpleParser {
23 public:
24
31 static size_t setAllDefaults(data::ElementPtr global);
32
33 // see d2_simple_parser.cc for comments for those parameters
34 static const data::SimpleDefaults D2_GLOBAL_DEFAULTS;
35
36 // Defaults for tsig-keys list elements, TSIGKeyInfos
37 static const data::SimpleDefaults TSIG_KEY_DEFAULTS;
38
39 // Defaults for <forward|reverse>-ddns elements, DdnsDomainListMgrs
40 static const data::SimpleDefaults DDNS_DOMAIN_MGR_DEFAULTS;
41
42 // Defaults for ddns-domains list elements, DdnsDomains
43 static const data::SimpleDefaults DDNS_DOMAIN_DEFAULTS;
44
45 // Defaults for dns-servers list elements, DnsServerInfos
46 static const data::SimpleDefaults DNS_SERVER_DEFAULTS;
47
57 static size_t setDdnsDomainDefaults(data::ElementPtr domain,
58 const data::SimpleDefaults&
59 domain_defaults);
60
77 static size_t setManagerDefaults(data::ElementPtr global,
78 const std::string& mgr_name,
79 const data::SimpleDefaults& mgr_defaults);
80
88 void parse(const D2CfgContextPtr& ctx,
89 const isc::data::ConstElementPtr& config,
90 bool check_only);
91};
92
93};
94};
95
96#endif
isc::d2::D2SimpleParser
Definition d2_simple_parser.h:22
isc::d2::D2SimpleParser::D2_GLOBAL_DEFAULTS
static const data::SimpleDefaults D2_GLOBAL_DEFAULTS
This table defines default global values for D2.
Definition d2_simple_parser.h:34
isc::d2::D2SimpleParser::setManagerDefaults
static size_t setManagerDefaults(data::ElementPtr global, const std::string &mgr_name, const data::SimpleDefaults &mgr_defaults)
Adds default values to a DDNS Domain List Manager.
Definition d2_simple_parser.cc:169
isc::d2::D2SimpleParser::TSIG_KEY_DEFAULTS
static const data::SimpleDefaults TSIG_KEY_DEFAULTS
Supplies defaults for ddns-domains list elements (i.e. DdnsDomains).
Definition d2_simple_parser.h:37
isc::d2::D2SimpleParser::setDdnsDomainDefaults
static size_t setDdnsDomainDefaults(data::ElementPtr domain, const data::SimpleDefaults &domain_defaults)
Adds default values to a DDNS Domain element.
Definition d2_simple_parser.cc:152
isc::d2::D2SimpleParser::parse
void parse(const D2CfgContextPtr &ctx, const isc::data::ConstElementPtr &config, bool check_only)
Parses the whole D2 configuration.
Definition d2_simple_parser.cc:204
isc::d2::D2SimpleParser::setAllDefaults
static size_t setAllDefaults(data::ElementPtr global)
Sets all defaults for D2 configuration.
Definition d2_simple_parser.cc:127
isc::d2::D2SimpleParser::DNS_SERVER_DEFAULTS
static const data::SimpleDefaults DNS_SERVER_DEFAULTS
Supplies defaults for optional values DdnsDomain entries.
Definition d2_simple_parser.h:46
isc::d2::D2SimpleParser::DDNS_DOMAIN_MGR_DEFAULTS
static const data::SimpleDefaults DDNS_DOMAIN_MGR_DEFAULTS
Supplies defaults for optional values in DDNS domain managers (e.g.
Definition d2_simple_parser.h:40
isc::d2::D2SimpleParser::DDNS_DOMAIN_DEFAULTS
static const data::SimpleDefaults DDNS_DOMAIN_DEFAULTS
Supplies defaults for ddns-domains list elements (i.e. DdnsDomains).
Definition d2_simple_parser.h:43
isc::data::SimpleParser
A simple parser.
Definition lib/cc/simple_parser.h:68
d2_cfg_mgr.h
simple_parser.h
isc::config
Definition command_interpreter.cc:23
isc::d2
Definition check_exists_add.cc:19
isc::d2::D2CfgContextPtr
boost::shared_ptr< D2CfgContext > D2CfgContextPtr
Pointer to a configuration context.
Definition d2_cfg_mgr.h:26
isc::data::ConstElementPtr
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
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:28
isc
Defines the logger used by the top-level component of kea-lfc.
Definition agent_parser.cc:148