Kea 2.2.0
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
15namespace isc {
16namespace ha {
17
20public:
21
29 void parse(const HAConfigPtr& config_storage,
30 const data::ConstElementPtr& config);
31
32private:
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
Configuration parser for High Availability.
void parse(const HAConfigPtr &config_storage, const data::ConstElementPtr &config)
Parses HA configuration.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
boost::shared_ptr< HAConfig > HAConfigPtr
Pointer to the High Availability configuration structure.
Definition: ha_config.h:786
Defines the logger used by the top-level component of kea-lfc.