Kea  1.9.9-git
translator_class.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_CLASS_H
8 #define ISC_TRANSLATOR_CLASS_H 1
9 
12 #include <list>
13 
14 namespace isc {
15 namespace yang {
16 
66 
73  virtual public TranslatorOptionDefList {
74 public:
75 
80 #ifndef HAVE_PRE_0_7_6_SYSREPO
81  TranslatorClass(sysrepo::S_Session session, const std::string& model);
82 #else
83  TranslatorClass(S_Session session, const std::string& model);
84 #endif
85 
87  virtual ~TranslatorClass();
88 
94  isc::data::ElementPtr getClass(const std::string& xpath);
95 
100  void setClass(const std::string& xpath, isc::data::ConstElementPtr elem);
101 
102 protected:
108  isc::data::ElementPtr getClassKea(const std::string& xpath);
109 
114  void setClassKea(const std::string& xpath,
116 };
117 
123 class TranslatorClasses : virtual public TranslatorClass {
124 public:
125 
130 #ifndef HAVE_PRE_0_7_6_SYSREPO
131  TranslatorClasses(sysrepo::S_Session session, const std::string& model);
132 #else
133  TranslatorClasses(S_Session session, const std::string& model);
134 #endif
135 
137  virtual ~TranslatorClasses();
138 
144  isc::data::ConstElementPtr getClasses(const std::string& xpath);
145 
150  void setClasses(const std::string& xpath,
152 
153 protected:
159  isc::data::ElementPtr getClassesKea(const std::string& xpath);
160 
166  void setClassesKea(const std::string& xpath,
168 };
169 
170 }; // end of namespace isc::yang
171 }; // end of namespace isc
172 
173 #endif // ISC_TRANSLATOR_CLASS_H
isc::data::ElementPtr getClassKea(const std::string &xpath)
getClass JSON for kea-dhcp[46].
Currently supports kea-dhcp[46]-server models.
boost::shared_ptr< Element > ElementPtr
Definition: data.h:20
TranslatorClass(sysrepo::S_Session session, const std::string &model)
Constructor.
virtual ~TranslatorClasses()
Destructor.
void setClasses(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set client classes from JSON to YANG.
Client class translation between YANG and JSON.
TranslatorClasses(sysrepo::S_Session session, const std::string &model)
Constructor.
A translator class for converting an option data list between YANG and JSON.
void setClassKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setClass for kea-dhcp[46].
virtual ~TranslatorClass()
Destructor.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
void setClassesKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setClasses for kea-dhcp[46].
isc::data::ConstElementPtr getClasses(const std::string &xpath)
Get and translate client classes from YANG to JSON.
Defines the logger used by the top-level component of kea-dhcp-ddns.
void setClass(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set client class from JSON to YANG.
isc::data::ElementPtr getClass(const std::string &xpath)
Get and translate a client class from YANG to JSON.
A translator class for converting a client class list between YANG and JSON.
isc::data::ElementPtr getClassesKea(const std::string &xpath)
getClasses JSON for kea-dhcp[46].