Kea 2.2.0
isc::yang::TranslatorLoggers Class Reference

A translator class for converting a logger list between YANG and JSON. More...

#include <translator_logger.h>

+ Inheritance diagram for isc::yang::TranslatorLoggers:

Public Member Functions

 TranslatorLoggers (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorLoggers ()
 Destructor. More...
 
isc::data::ConstElementPtr getLoggers (const std::string &xpath)
 Get and translate loggeres from YANG to JSON. More...
 
void setLoggers (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set loggeres from JSON to YANG. More...
 
- Public Member Functions inherited from isc::yang::TranslatorLogger
 TranslatorLogger (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorLogger ()
 Destructor. More...
 
isc::data::ElementPtr getLogger (const std::string &xpath)
 Get and translate a logger from YANG to JSON. More...
 
void setLogger (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set logger from JSON to YANG. More...
 
- Public Member Functions inherited from isc::yang::TranslatorBasic
 TranslatorBasic (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorBasic ()
 Destructor. More...
 
void checkAndGetLeaf (isc::data::ElementPtr &storage, const std::string &xpath, const std::string &name)
 Retrieves an item and stores it in the specified storage. More...
 
void checkAndSetLeaf (isc::data::ConstElementPtr const &from, std::string const &xpath, std::string const &name, sr_type_t const type)
 Get an element from given ElementPtr node and set it in sysrepo at given xpath. More...
 
void delItem (const std::string &xpath)
 Delete basic value from YANG. More...
 
template<typename functor_t >
void forAll (std::string const &xpath, functor_t f)
 Run a function for a node and all its children. More...
 
isc::data::ElementPtr getItem (const std::string &xpath)
 Get and translate basic value from YANG to JSON. More...
 
isc::data::ElementPtr getItems (const std::string &xpath)
 Get and translate a list of basic values from YANG to JSON. More...
 
template<typename T >
isc::data::ElementPtr getList (std::string const &xpath, T &t, isc::data::ElementPtr(T::*f)(std::string const &xpath))
 Retrieve a list as ElementPtr from sysrepo from a certain xpath. More...
 
sysrepo::S_Vals getValuesFromItems (std::string const &xpath)
 Get the values of all siblings at a certain xpath. More...
 
void setItem (const std::string &xpath, isc::data::ConstElementPtr elem, sr_type_t type)
 Translate and set basic value from JSON to YANG. More...
 

Protected Member Functions

isc::data::ElementPtr getLoggersKea (const std::string &xpath)
 getLoggers JSON for loggers. More...
 
void setLoggersKea (const std::string &xpath, isc::data::ConstElementPtr elem)
 setLoggers for loggers. More...
 
- Protected Member Functions inherited from isc::yang::TranslatorLogger
isc::data::ElementPtr getLoggerKea (const std::string &xpath)
 getLogger JSON for loggers. More...
 
isc::data::ElementPtr getOutputOption (const std::string &xpath)
 Get and translate an output option from YANG to JSON. More...
 
isc::data::ElementPtr getOutputOptions (const std::string &xpath)
 Get and translate output options from YANG to JSON. More...
 
void setLoggerKea (const std::string &xpath, isc::data::ConstElementPtr elem)
 setLogger for loggers. More...
 
void setOutputOption (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set an output option from JSON to YANG. More...
 
void setOutputOptions (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set output options from JSON to YANG. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::yang::TranslatorBasic
static sysrepo::S_Val value (isc::data::ConstElementPtr elem, sr_type_t type)
 Translate basic value from JSON to YANG. More...
 
static isc::data::ElementPtr value (sysrepo::S_Val s_val)
 Translate basic value from YANG to JSON. More...
 
- Protected Attributes inherited from isc::yang::TranslatorBasic
std::string model_
 The model. More...
 
sysrepo::S_Session session_
 The sysrepo session. More...
 

Detailed Description

A translator class for converting a logger list between YANG and JSON.

Currently supports all kea servers and agents. Specific to Kea.

Definition at line 168 of file translator_logger.h.

Constructor & Destructor Documentation

◆ TranslatorLoggers()

isc::yang::TranslatorLoggers::TranslatorLoggers ( sysrepo::S_Session  session,
const std::string &  model 
)

Constructor.

Parameters
sessionSysrepo session.
modelModel name.

Definition at line 195 of file translator_logger.cc.

◆ ~TranslatorLoggers()

isc::yang::TranslatorLoggers::~TranslatorLoggers ( )
virtual

Destructor.

Definition at line 200 of file translator_logger.cc.

Member Function Documentation

◆ getLoggers()

ConstElementPtr isc::yang::TranslatorLoggers::getLoggers ( const std::string &  xpath)

Get and translate loggeres from YANG to JSON.

Parameters
xpathThe xpath of loggers.
Returns
JSON representation of loggers.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 204 of file translator_logger.cc.

References getLoggersKea(), isc_throw, isc::yang::TranslatorBasic::model_, and isc::Exception::what().

Referenced by isc::yang::TranslatorConfig::getServerKeaDhcpCommon().

+ Here is the call graph for this function:

◆ getLoggersKea()

ElementPtr isc::yang::TranslatorLoggers::getLoggersKea ( const std::string &  xpath)
protected

getLoggers JSON for loggers.

Parameters
xpathThe xpath of loggers.
Returns
JSON representation of loggers.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 222 of file translator_logger.cc.

References isc::yang::TranslatorLogger::getLogger().

Referenced by getLoggers().

+ Here is the call graph for this function:

◆ setLoggers()

void isc::yang::TranslatorLoggers::setLoggers ( const std::string &  xpath,
isc::data::ConstElementPtr  elem 
)

Translate and set loggeres from JSON to YANG.

Parameters
xpathThe xpath of loggers.
elemThe JSON element.

Definition at line 228 of file translator_logger.cc.

References isc_throw, isc::yang::TranslatorBasic::model_, setLoggersKea(), and isc::Exception::what().

Referenced by isc::yang::TranslatorConfig::setServerKeaDhcpCommon().

+ Here is the call graph for this function:

◆ setLoggersKea()

void isc::yang::TranslatorLoggers::setLoggersKea ( const std::string &  xpath,
isc::data::ConstElementPtr  elem 
)
protected

setLoggers for loggers.

Parameters
xpathThe xpath of loggers.
elemThe JSON element.
Exceptions
BadValueon a logger without name.

Definition at line 247 of file translator_logger.cc.

References isc_throw, isc::asiodns::logger, and isc::yang::TranslatorLogger::setLogger().

Referenced by setLoggers().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: