Kea  1.9.9-git
ha_config_parser.h
Go to the documentation of this file.
1 // Copyright (C) 2018 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 HA_CONFIG_PARSER_H
8 #define HA_CONFIG_PARSER_H
9 
10 #include <ha_config.h>
11 #include <cc/data.h>
12 #include <cc/simple_parser.h>
13 #include <string>
14 
15 namespace isc {
16 namespace ha {
17 
20 public:
21 
29  void parse(const HAConfigPtr& config_storage,
30  const data::ConstElementPtr& config);
31 
32 private:
33 
40  void parseInternal(const HAConfigPtr& config_storage,
41  const data::ConstElementPtr& config);
42 
49  template<typename T>
50  T getAndValidateInteger(const data::ConstElementPtr& config,
51  const std::string& parameter_name) const;
52 
61  void logConfigStatus(const HAConfigPtr& config_storage) const;
62 };
63 
64 } // end of namespace isc::ha
65 } // end of namespace isc
66 
67 #endif
void parse(const HAConfigPtr &config_storage, const data::ConstElementPtr &config)
Parses HA configuration.
Configuration parser for High Availability.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
Defines the logger used by the top-level component of kea-dhcp-ddns.
boost::shared_ptr< HAConfig > HAConfigPtr
Pointer to the High Availability configuration structure.
Definition: ha_config.h:760