Kea 2.2.0
translator_pool.h
Go to the documentation of this file.
1// Copyright (C) 2018-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 ISC_TRANSLATOR_POOL_H
8#define ISC_TRANSLATOR_POOL_H 1
9
11#include <list>
12
13namespace isc {
14namespace yang {
15
126public:
127
132 TranslatorPool(sysrepo::S_Session session, const std::string& model);
133
135 virtual ~TranslatorPool();
136
142 isc::data::ElementPtr getPool(const std::string& xpath);
143
148 void setPool(const std::string& xpath, isc::data::ConstElementPtr elem);
149
156 static void getAddresses(const std::string& prefix,
157 std::string& start_address,
158 std::string& end_address);
159
160protected:
166 isc::data::ElementPtr getPoolIetf6(const std::string& xpath);
167
174 void setPoolIetf6(const std::string& xpath,
176
182 isc::data::ElementPtr getPoolKea(const std::string& xpath);
183
189 void setPoolKea(const std::string& xpath, isc::data::ConstElementPtr elem);
190};
191
195class TranslatorPools : virtual public TranslatorPool {
196public:
197
202 TranslatorPools(sysrepo::S_Session session, const std::string& model);
203
205 virtual ~TranslatorPools();
206
211 isc::data::ElementPtr getPools(const std::string& xpath);
212
217 void setPools(const std::string& xpath, isc::data::ConstElementPtr elem);
218
219protected:
223 isc::data::ElementPtr getPoolsIetf(const std::string& xpath);
224
228 isc::data::ElementPtr getPoolsKea(const std::string& xpath);
229
234 void setPoolsById(const std::string& xpath,
236
242 void setPoolsByAddresses(const std::string& xpath,
244};
245
246} // namespace yang
247} // namespace isc
248
249#endif // ISC_TRANSLATOR_POOL_H
A translator class for converting an option data list between YANG and JSON.
A translator class for converting a pool between YANG and JSON.
void setPool(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set (address) pool from JSON to YANG.
void setPoolKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setPool for kea-dhcp[46]-server.
isc::data::ElementPtr getPool(const std::string &xpath)
Get and translate a pool from YANG to JSON.
virtual ~TranslatorPool()
Destructor.
TranslatorPool(sysrepo::S_Session session, const std::string &model)
Constructor.
isc::data::ElementPtr getPoolKea(const std::string &xpath)
getPool for kea-dhcp[46]-server.
isc::data::ElementPtr getPoolIetf6(const std::string &xpath)
getPool for ietf-dhcpv6-server.
static void getAddresses(const std::string &prefix, std::string &start_address, std::string &end_address)
Get start and end addresses from prefix.
void setPoolIetf6(const std::string &xpath, isc::data::ConstElementPtr elem)
setPool for ietf-dhcpv6-server.
A translator class for converting pools between YANG and JSON.
isc::data::ElementPtr getPools(const std::string &xpath)
Get and translate pools from YANG to JSON.
void setPoolsByAddresses(const std::string &xpath, isc::data::ConstElementPtr elem)
setPools using address pair.
virtual ~TranslatorPools()
Destructor.
void setPoolsById(const std::string &xpath, isc::data::ConstElementPtr elem)
setPools using pool-id.
TranslatorPools(sysrepo::S_Session session, const std::string &model)
Constructor.
isc::data::ElementPtr getPoolsKea(const std::string &xpath)
getPools for kea-dhcp[46]-server.
void setPools(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set (address) pools from JSON to YANG.
isc::data::ElementPtr getPoolsIetf(const std::string &xpath)
getPools for ietf-dhcpv6-server.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
Defines the logger used by the top-level component of kea-lfc.