Kea 2.2.0
isc::yang::TranslatorOptionDefList Class Reference

Currently supports kea-dhcp[46]-server models. More...

#include <translator_option_def.h>

+ Inheritance diagram for isc::yang::TranslatorOptionDefList:

Public Member Functions

 TranslatorOptionDefList (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorOptionDefList ()
 Destructor. More...
 
isc::data::ConstElementPtr getOptionDefList (const std::string &xpath)
 Get and translate option definition list from YANG to JSON. More...
 
void setOptionDefList (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set option definition list from JSON to YANG. More...
 
- Public Member Functions inherited from isc::yang::TranslatorOptionDef
 TranslatorOptionDef (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorOptionDef ()
 Destructor. More...
 
isc::data::ElementPtr getOptionDef (const std::string &xpath)
 Get and translate an option definition from YANG to JSON. More...
 
void setOptionDef (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set option definition 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::ConstElementPtr getOptionDefListKea (const std::string &xpath)
 getOptionDefList implementation specific to kea-dhcp[46]-server models. More...
 
void setOptionDefListKea (const std::string &xpath, isc::data::ConstElementPtr elem)
 setOptionDefList implementation specific to kea-dhcp[46]-server models. More...
 
- Protected Member Functions inherited from isc::yang::TranslatorOptionDef
isc::data::ElementPtr getOptionDefKea (const std::string &xpath)
 getOptionDef implementation specific to kea-dhcp[46]-server models. More...
 
void setOptionDefKea (const std::string &xpath, isc::data::ConstElementPtr elem)
 setOptionDef implementation specific to kea-dhcp[46]-server models. 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

Currently supports kea-dhcp[46]-server models.

Todo:
: Support for ietf-dhcpv6-server model.

Definition at line 128 of file translator_option_def.h.

Constructor & Destructor Documentation

◆ TranslatorOptionDefList()

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

Constructor.

Parameters
sessionSysrepo session.
modelModel name.

Definition at line 135 of file translator_option_def.cc.

◆ ~TranslatorOptionDefList()

isc::yang::TranslatorOptionDefList::~TranslatorOptionDefList ( )
virtual

Destructor.

Definition at line 141 of file translator_option_def.cc.

Member Function Documentation

◆ getOptionDefList()

ConstElementPtr isc::yang::TranslatorOptionDefList::getOptionDefList ( const std::string &  xpath)

Get and translate option definition list from YANG to JSON.

Parameters
xpathThe xpath of the option definition list.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 145 of file translator_option_def.cc.

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

Referenced by isc::yang::TranslatorClass::getClassKea(), and isc::yang::TranslatorConfig::getServerKeaDhcpCommon().

+ Here is the call graph for this function:

◆ getOptionDefListKea()

ConstElementPtr isc::yang::TranslatorOptionDefList::getOptionDefListKea ( const std::string &  xpath)
protected

getOptionDefList implementation specific to kea-dhcp[46]-server models.

Parameters
xpathThe xpath of the option definition list.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 161 of file translator_option_def.cc.

References isc::yang::TranslatorOptionDef::getOptionDef().

Referenced by getOptionDefList().

+ Here is the call graph for this function:

◆ setOptionDefList()

void isc::yang::TranslatorOptionDefList::setOptionDefList ( const std::string &  xpath,
isc::data::ConstElementPtr  elem 
)

Translate and set option definition list from JSON to YANG.

Parameters
xpathThe xpath of the option definition list.
elemThe JSON element.

Definition at line 167 of file translator_option_def.cc.

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

Referenced by isc::yang::TranslatorClass::setClassKea(), and isc::yang::TranslatorConfig::setServerKeaDhcpCommon().

+ Here is the call graph for this function:

◆ setOptionDefListKea()

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

setOptionDefList implementation specific to kea-dhcp[46]-server models.

Parameters
xpathThe xpath of the option definition list.
elemThe JSON element.
Exceptions
BadValueon option definition without code or space.

Definition at line 186 of file translator_option_def.cc.

References isc_throw, and isc::yang::TranslatorOptionDef::setOptionDef().

Referenced by setOptionDefList().

+ Here is the call graph for this function:

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