Kea 1.5.0
translator_class.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_CLASS_H
8#define ISC_TRANSLATOR_CLASS_H 1
9
12#include <list>
13
14namespace isc {
15namespace yang {
16
66
73 virtual public TranslatorOptionDefList {
74public:
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
102protected:
108 isc::data::ElementPtr getClassKea(const std::string& xpath);
109
114 void setClassKea(const std::string& xpath,
116};
117
123class TranslatorClasses : virtual public TranslatorClass {
124public:
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
153protected:
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
Client class translation between YANG and JSON.
isc::data::ElementPtr getClass(const std::string &xpath)
Get and translate a client class from YANG to JSON.
virtual ~TranslatorClass()
Destructor.
void setClassKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setClass for kea-dhcp[46].
void setClass(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set client class from JSON to YANG.
isc::data::ElementPtr getClassKea(const std::string &xpath)
getClass JSON for kea-dhcp[46].
A translator class for converting a client class list between YANG and JSON.
void setClassesKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setClasses for kea-dhcp[46].
isc::data::ElementPtr getClassesKea(const std::string &xpath)
getClasses JSON for kea-dhcp[46].
isc::data::ConstElementPtr getClasses(const std::string &xpath)
Get and translate client classes from YANG to JSON.
void setClasses(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set client classes from JSON to YANG.
virtual ~TranslatorClasses()
Destructor.
A translator class for converting an option data list between YANG and JSON.
Currently supports kea-dhcp[46]-server models.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
boost::shared_ptr< Element > ElementPtr
Definition: data.h:22
Defines the logger used by the top-level component of kea-dhcp-ddns.