Kea: adaptor_subnet.h Source File

| Kea 2.2.0

adaptor_subnet.h
Go to the documentation of this file.
1// Copyright (C) 2018-2022 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 ISC_ADAPTOR_SUBNET_H
8#define ISC_ADAPTOR_SUBNET_H 1
9
10#include <yang/adaptor.h>
11#include <dhcpsrv/subnet_id.h>
12#include <set>
13
14namespace isc {
15namespace yang {
16
18 typedef std::set<isc::dhcp::SubnetID> SubnetIDSet;
19
30 class AdaptorSubnet {
31public:
32
34 AdaptorSubnet();
35
37 virtual ~AdaptorSubnet();
38
44 static bool collectID(isc::data::ConstElementPtr subnet, SubnetIDSet& set);
45
51 static void assignID(isc::data::ElementPtr subnet, SubnetIDSet& set,
52 isc::dhcp::SubnetID& next);
53
60 static void updateRelay(isc::data::ElementPtr subnet);
61};
62
63} // end of namespace isc::yang
64} // end of namespace isc
65
66#endif // ISC_ADAPTOR_SUBNET_H
adaptor.h
isc::yang::AdaptorSubnet
JSON adaptor for subnets adding IDs and canonizes relays.
Definition: adaptor_subnet.h:30
isc::yang::AdaptorSubnet::~AdaptorSubnet
virtual ~AdaptorSubnet()
Destructor.
Definition: adaptor_subnet.cc:21
isc::yang::AdaptorSubnet::collectID
static bool collectID(isc::data::ConstElementPtr subnet, SubnetIDSet &set)
Collect a subnet ID.
Definition: adaptor_subnet.cc:25
isc::yang::AdaptorSubnet::AdaptorSubnet
AdaptorSubnet()
Constructor.
Definition: adaptor_subnet.cc:18
isc::yang::AdaptorSubnet::updateRelay
static void updateRelay(isc::data::ElementPtr subnet)
Update relay.
Definition: adaptor_subnet.cc:49
isc::yang::AdaptorSubnet::assignID
static void assignID(isc::data::ElementPtr subnet, SubnetIDSet &set, isc::dhcp::SubnetID &next)
Assign subnet ID.
Definition: adaptor_subnet.cc:35
isc::data::ConstElementPtr
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
isc::data::ElementPtr
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
isc::dhcp::SubnetID
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition: subnet_id.h:24
isc::yang::SubnetIDSet
std::set< isc::dhcp::SubnetID > SubnetIDSet
Set of SubnetIDs.
Definition: adaptor_subnet.h:18
isc
Defines the logger used by the top-level component of kea-lfc.
Definition: agent_parser.cc:143
subnet_id.h