Kea 2.5.8
shared_network_parser.h
Go to the documentation of this file.
1// Copyright (C) 2017-2023 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 SHARED_SUBNET_PARSER_H
8#define SHARED_SUBNET_PARSER_H
9
10#include <cc/data.h>
11#include <cc/simple_parser.h>
18#include <boost/shared_ptr.hpp>
19
20namespace isc {
21namespace dhcp {
22
25public:
30 SharedNetwork4Parser(bool check_iface = true);
31
34 }
35
46 parse(const data::ConstElementPtr& shared_network_data,
47 bool encapsulate_options = true);
48
49protected:
50
58 virtual boost::shared_ptr<OptionDataListParser> createOptionDataListParser() const;
59
67 virtual boost::shared_ptr<Subnets4ListConfigParser> createSubnetsListParser() const;
68
71};
72
75public:
80 SharedNetwork6Parser(bool check_iface = true);
81
84 }
85
96 parse(const data::ConstElementPtr& shared_network_data,
97 bool encapsulate_options = true);
98
99protected:
100
108 virtual boost::shared_ptr<OptionDataListParser> createOptionDataListParser() const;
109
117 virtual boost::shared_ptr<Subnets6ListConfigParser> createSubnetsListParser() const;
118
121};
122
123} // enf of namespace isc::dhcp
124} // end of namespace isc
125
126#endif // SHARED_SUBNET_PARSER_H
Common configuration parser for shared networks and subnets.
Implements parser for IPv4 shared networks.
virtual ~SharedNetwork4Parser()
Virtual destructor.
virtual boost::shared_ptr< Subnets4ListConfigParser > createSubnetsListParser() const
Returns an instance of the Subnets4ListConfigParser to be used for parsing the subnets within the sha...
virtual boost::shared_ptr< OptionDataListParser > createOptionDataListParser() const
Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.
bool check_iface_
Check if the specified interface exists in the system.
SharedNetwork4Ptr parse(const data::ConstElementPtr &shared_network_data, bool encapsulate_options=true)
Parses shared configuration information for IPv4 shared network.
Implements parser for IPv6 shared networks.
virtual boost::shared_ptr< Subnets6ListConfigParser > createSubnetsListParser() const
Returns an instance of the Subnets6ListConfigParser to be used for parsing the subnets within the sha...
bool check_iface_
Check if the specified interface exists in the system.
virtual boost::shared_ptr< OptionDataListParser > createOptionDataListParser() const
Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.
SharedNetwork6Ptr parse(const data::ConstElementPtr &shared_network_data, bool encapsulate_options=true)
Parses shared configuration information for IPv6 shared network.
virtual ~SharedNetwork6Parser()
Virtual destructor.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:29
boost::shared_ptr< SharedNetwork6 > SharedNetwork6Ptr
Pointer to SharedNetwork6 object.
boost::shared_ptr< SharedNetwork4 > SharedNetwork4Ptr
Pointer to SharedNetwork4 object.
Defines the logger used by the top-level component of kea-lfc.