Kea  1.5.0
translator_host.h
Go to the documentation of this file.
1 // Copyright (C) 2018 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_HOST_H
8 #define ISC_TRANSLATOR_HOST_H 1
9 
11 #include <list>
12 
13 namespace isc {
14 namespace yang {
15 
103 
112 class TranslatorHost : virtual public TranslatorOptionDataList {
113 public:
114 
119 #ifndef HAVE_PRE_0_7_6_SYSREPO
120  TranslatorHost(sysrepo::S_Session session, const std::string& model);
121 #else
122  TranslatorHost(S_Session session, const std::string& model);
123 #endif
124 
126  virtual ~TranslatorHost();
127 
133  isc::data::ElementPtr getHost(const std::string& xpath);
134 
139  void setHost(const std::string& xpath, isc::data::ConstElementPtr elem);
140 
141 protected:
146  isc::data::ElementPtr getHostKea(const std::string& xpath);
147 
152  void setHostKea(const std::string& xpath, isc::data::ConstElementPtr elem);
153 };
154 
163 class TranslatorHosts : virtual public TranslatorHost {
164 public:
165 
170 #ifndef HAVE_PRE_0_7_6_SYSREPO
171  TranslatorHosts(sysrepo::S_Session session, const std::string& model);
172 #else
173  TranslatorHosts(S_Session session, const std::string& model);
174 #endif
175 
177  virtual ~TranslatorHosts();
178 
183  isc::data::ElementPtr getHosts(const std::string& xpath);
184 
189  void setHosts(const std::string& xpath, isc::data::ConstElementPtr elem);
190 
191 protected:
197  void setHostsKea(const std::string& xpath,
199 };
200 
201 }; // end of namespace isc::yang
202 }; // end of namespace isc
203 
204 #endif // ISC_TRANSLATOR_HOST_H
isc::yang::TranslatorOptionDataList
A translator class for converting an option data list between YANG and JSON.
Definition: translator_option_data.h:126
isc::yang::TranslatorHost::getHostKea
isc::data::ElementPtr getHostKea(const std::string &xpath)
getHost for kea-dhcp[46]-server models.
Definition: translator_host.cc:49
isc::yang::TranslatorHost
Translation between YANG and JSON for a single host reservation.
Definition: translator_host.h:112
isc::yang::TranslatorHost::~TranslatorHost
virtual ~TranslatorHost()
Destructor.
Definition: translator_host.cc:29
isc::yang::TranslatorHosts::~TranslatorHosts
virtual ~TranslatorHosts()
Destructor.
Definition: translator_host.cc:191
isc
Defines the logger used by the top-level component of kea-dhcp-ddns.
Definition: agent_parser.cc:144
isc::yang::TranslatorHosts
A translator class for converting host reservations list between YANG and JSON.
Definition: translator_host.h:163
isc::yang::TranslatorHost::getHost
isc::data::ElementPtr getHost(const std::string &xpath)
Get and translate a host reservation from YANG to JSON.
Definition: translator_host.cc:33
isc::yang::TranslatorHost::setHostKea
void setHostKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setHost for kea-dhcp[46]-server models.
Definition: translator_host.cc:124
isc::yang::TranslatorHost::TranslatorHost
TranslatorHost(sysrepo::S_Session session, const std::string &model)
Constructor.
Definition: translator_host.cc:23
translator_option_data.h
isc::yang::TranslatorHosts::setHosts
void setHosts(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set (address) host reservations from JSON to YANG.
Definition: translator_host.cc:219
isc::yang::TranslatorHosts::getHosts
isc::data::ElementPtr getHosts(const std::string &xpath)
Get and translate host reservations from YANG to JSON.
Definition: translator_host.cc:195
isc::yang::TranslatorHosts::setHostsKea
void setHostsKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setHosts for kea-dhcp[46].
Definition: translator_host.cc:236
isc::yang::TranslatorHosts::TranslatorHosts
TranslatorHosts(sysrepo::S_Session session, const std::string &model)
Constructor.
Definition: translator_host.cc:184
isc::data::ElementPtr
boost::shared_ptr< Element > ElementPtr
Definition: data.h:20
isc::data::ConstElementPtr
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
isc::yang::TranslatorHost::setHost
void setHost(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set host reservation from JSON to YANG.
Definition: translator_host.cc:107