Kea 2.2.0
shared_network_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 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
44 parse(const data::ConstElementPtr& shared_network_data);
45
46protected:
47
55 virtual boost::shared_ptr<OptionDataListParser> createOptionDataListParser() const;
56
64 virtual boost::shared_ptr<Subnets4ListConfigParser> createSubnetsListParser() const;
65
68};
69
72public:
77 SharedNetwork6Parser(bool check_iface = true);
78
81 }
82
91 parse(const data::ConstElementPtr& shared_network_data);
92
93protected:
94
102 virtual boost::shared_ptr<OptionDataListParser> createOptionDataListParser() const;
103
111 virtual boost::shared_ptr<Subnets6ListConfigParser> createSubnetsListParser() const;
112
115};
116
117} // enf of namespace isc::dhcp
118} // end of namespace isc
119
120#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...
SharedNetwork4Parser(bool check_iface=true)
Constructor.
virtual boost::shared_ptr< OptionDataListParser > createOptionDataListParser() const
Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.
SharedNetwork4Ptr parse(const data::ConstElementPtr &shared_network_data)
Parses shared configuration information for IPv4 shared network.
bool check_iface_
Check if the specified interface exists in the system.
Implements parser for IPv6 shared networks.
SharedNetwork6Parser(bool check_iface=true)
Constructor.
virtual boost::shared_ptr< Subnets6ListConfigParser > createSubnetsListParser() const
Returns an instance of the Subnets6ListConfigParser to be used for parsing the subnets within the sha...
SharedNetwork6Ptr parse(const data::ConstElementPtr &shared_network_data)
Parses shared configuration information for IPv6 shared network.
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.
virtual ~SharedNetwork6Parser()
Virtual destructor.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
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.