Kea 2.0.3
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
125public:
126
131 TranslatorPool(sysrepo::S_Session session, const std::string& model);
132
134 virtual ~TranslatorPool();
135
141 isc::data::ElementPtr getPool(const std::string& xpath);
142
147 void setPool(const std::string& xpath, isc::data::ConstElementPtr elem);
148
155 static void getAddresses(const std::string& prefix,
156 std::string& start_address,
157 std::string& end_address);
158
159protected:
165 isc::data::ElementPtr getPoolIetf6(const std::string& xpath);
166
173 void setPoolIetf6(const std::string& xpath,
175
181 isc::data::ElementPtr getPoolKea(const std::string& xpath);
182
188 void setPoolKea(const std::string& xpath, isc::data::ConstElementPtr elem);
189};
190
194class TranslatorPools : virtual public TranslatorPool {
195public:
196
201 TranslatorPools(sysrepo::S_Session session, const std::string& model);
202
204 virtual ~TranslatorPools();
205
210 isc::data::ElementPtr getPools(const std::string& xpath);
211
216 void setPools(const std::string& xpath, isc::data::ConstElementPtr elem);
217
218protected:
222 isc::data::ElementPtr getPoolsIetf(const std::string& xpath);
223
227 isc::data::ElementPtr getPoolsKea(const std::string& xpath);
228
233 void setPoolsById(const std::string& xpath,
235
241 void setPoolsByAddresses(const std::string& xpath,
243};
244
245} // namespace yang
246} // namespace isc
247
248#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.