Kea 3.1.1
translator_control_socket.h
Go to the documentation of this file.
1// Copyright (C) 2018-2025 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_CONTROL_SOCKET_H
8#define ISC_TRANSLATOR_CONTROL_SOCKET_H 1
9
10#include <yang/translator.h>
11
12namespace isc {
13namespace yang {
14
60
68/// - kea-ctrl-agent
69class TranslatorControlSocket : virtual public Translator {
70public:
75 TranslatorControlSocket(sysrepo::Session session,
76 const std::string& model);
77
79 virtual ~TranslatorControlSocket() = default;
80
88 isc::data::ElementPtr getControlSockets(libyang::DataNode const& data_node);
89
97 isc::data::ElementPtr getControlSocket(libyang::DataNode const& data_node);
98
112
117 void setControlSockets(const std::string& xpath,
119
124 void setControlSocket(const std::string& xpath,
126
127protected:
133 isc::data::ElementPtr getControlSocketsKea(libyang::DataNode const& data_node);
134
140 isc::data::ElementPtr getControlSocketKea(libyang::DataNode const& data_node);
141
147 isc::data::ElementPtr getControlSocketAuthenticationClients(libyang::DataNode const& data_node);
148
154 isc::data::ElementPtr getControlSocketAuthenticationClient(libyang::DataNode const& data_node);
155
161 isc::data::ElementPtr getControlSocketHttpHeaders(libyang::DataNode const& data_node);
162
168 isc::data::ElementPtr getControlSocketHttpHeader(libyang::DataNode const& data_node);
169
179 void setControlSocketsKea(const std::string& xpath,
181
192 void setControlSocketKea(const std::string& xpath, isc::data::ConstElementPtr elem, bool has_mandatory_key);
193
203 void setControlSocketAuthenticationClients(const std::string& xpath,
205
215 void
217
227 void setControlSocketHttpHeaders(const std::string& xpath, isc::data::ConstElementPtr elem);
228
238 void setControlSocketHttpHeader(const std::string& xpath, isc::data::ConstElementPtr elem);
239}; // TranslatorControlSocket
240
241} // namespace yang
242} // namespace isc
243
244#endif // ISC_TRANSLATOR_CONTROL_SOCKET_H
void setControlSocket(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set control socket from JSON to YANG.
TranslatorControlSocket(sysrepo::Session session, const std::string &model)
Constructor.
virtual ~TranslatorControlSocket()=default
Destructor.
void setControlSockets(const std::string &xpath, isc::data::ConstElementPtr elem)
Translate and set control sockets from JSON to YANG.
isc::data::ElementPtr getControlSocketAuthenticationClients(libyang::DataNode const &data_node)
getControlSocketsAuthenticationClients JSON for kea models.
isc::data::ElementPtr getControlSocket(libyang::DataNode const &data_node)
Translate a control socket from YANG to JSON.
isc::data::ElementPtr getControlSocketAuthenticationClient(libyang::DataNode const &data_node)
getControlSocketsAuthenticationClients JSON for kea models.
isc::data::ElementPtr getControlSocketKea(libyang::DataNode const &data_node)
getControlSocket JSON for kea models.
isc::data::ElementPtr getControlSockets(libyang::DataNode const &data_node)
Translate a control socket from YANG to JSON.
isc::data::ElementPtr getControlSocketFromAbsoluteXpath(std::string const &xpath)
Translate a control socket from YANG to JSON.
isc::data::ElementPtr getControlSocketsKea(libyang::DataNode const &data_node)
getControlSocket JSON for kea models.
void setControlSocketHttpHeader(const std::string &xpath, isc::data::ConstElementPtr elem)
setControlSocketHttpHeader for kea models.
void setControlSocketAuthenticationClients(const std::string &xpath, isc::data::ConstElementPtr elem)
setControlSocketAuthenticationClients for kea models.
void setControlSocketKea(const std::string &xpath, isc::data::ConstElementPtr elem, bool has_mandatory_key)
setControlSocket for kea models.
isc::data::ElementPtr getControlSocketHttpHeader(libyang::DataNode const &data_node)
getControlSocketsAuthenticationClients JSON for kea models.
isc::data::ElementPtr getControlSocketHttpHeaders(libyang::DataNode const &data_node)
getControlSocketsAuthenticationClients JSON for kea models.
void setControlSocketsKea(const std::string &xpath, isc::data::ConstElementPtr elem)
setControlSocket for kea models.
void setControlSocketAuthenticationClient(const std::string &xpath, isc::data::ConstElementPtr elem)
setControlSocketAuthenticationClient for kea models.
void setControlSocketHttpHeaders(const std::string &xpath, isc::data::ConstElementPtr elem)
setControlSocketHttpHeaders for kea models.
Translator(sysrepo::Session session, const std::string &model)
Constructor.
Definition translator.cc:27
boost::shared_ptr< const Element > ConstElementPtr
Definition data.h:29
boost::shared_ptr< Element > ElementPtr
Definition data.h:28
Defines the logger used by the top-level component of kea-lfc.