Kea  1.9.9-git
isc::yang::TranslatorDatabases Class Reference

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

#include <translator_database.h>

+ Inheritance diagram for isc::yang::TranslatorDatabases:

Public Member Functions

 TranslatorDatabases (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorDatabases ()
 Destructor. More...
 
isc::data::ConstElementPtr getDatabases (const std::string &xpath)
 Get and translate database accesses from YANG to JSON. More...
 
void setDatabases (const std::string &xpath, isc::data::ConstElementPtr elem)
 Translate and set database accesses from JSON to YANG. More...
 
- Public Member Functions inherited from isc::yang::TranslatorDatabase
 TranslatorDatabase (sysrepo::S_Session session, const std::string &model)
 Constructor. More...
 
virtual ~TranslatorDatabase ()
 Destructor. More...
 
isc::data::ElementPtr getDatabase (const std::string &xpath)
 Get and translate a database access from YANG to JSON. More...
 
void setDatabase (const std::string &xpath, isc::data::ConstElementPtr elem, bool skip=false)
 Translate and set database access 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 delItem (const std::string &xpath)
 Delete basic value from YANG. 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...
 
sysrepo::S_Iter_Value getIter (const std::string &xpath)
 List iterator methods keeping the session private. More...
 
std::string getNext (sysrepo::S_Iter_Value iter)
 Get xpath of the next YANG list item. 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 getDatabasesKea (const std::string &xpath)
 getDatabases JSON for kea-dhcp[46]-server models. More...
 
void setDatabasesKea (const std::string &xpath, isc::data::ConstElementPtr elem)
 setDatabases for kea-dhcp[46]-server models. More...
 
- Protected Member Functions inherited from isc::yang::TranslatorDatabase
isc::data::ElementPtr getDatabaseKea (const std::string &xpath)
 getDatabase JSON for kea-dhcp[46]-server models. More...
 
void setDatabaseKea (const std::string &xpath, isc::data::ConstElementPtr elem, bool skip)
 setDatabase for kea-dhcp[46]-server models. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::yang::TranslatorBasic
static isc::data::ElementPtr value (sysrepo::S_Val s_val)
 Translate basic value from YANG to JSON. More...
 
static sysrepo::S_Val value (isc::data::ConstElementPtr elem, sr_type_t type)
 Translate basic value from JSON to YANG. 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 database access list between YANG and JSON.

Supports kea-dhcp[46]-server, does not exist in ietf-dhcpv6-server.

Definition at line 167 of file translator_database.h.

Constructor & Destructor Documentation

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

Constructor.

Parameters
sessionSysrepo session.
modelModel name.

Definition at line 255 of file translator_database.cc.

isc::yang::TranslatorDatabases::~TranslatorDatabases ( )
virtual

Destructor.

Definition at line 261 of file translator_database.cc.

Member Function Documentation

ConstElementPtr isc::yang::TranslatorDatabases::getDatabases ( const std::string &  xpath)

Get and translate database accesses from YANG to JSON.

Parameters
xpathThe xpath of databases including the list name.
Returns
JSON representation of databases.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 265 of file translator_database.cc.

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

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

+ Here is the call graph for this function:

ElementPtr isc::yang::TranslatorDatabases::getDatabasesKea ( const std::string &  xpath)
protected

getDatabases JSON for kea-dhcp[46]-server models.

Parameters
xpathThe xpath of databases including the list name.
Returns
JSON representation of databases.
Exceptions
SysrepoErrorwhen sysrepo raises an error.

Definition at line 281 of file translator_database.cc.

References isc::yang::TranslatorDatabase::getDatabase(), isc::yang::TranslatorBasic::getIter(), isc::yang::TranslatorBasic::getNext(), and isc_throw.

Referenced by getDatabases().

+ Here is the call graph for this function:

void isc::yang::TranslatorDatabases::setDatabases ( const std::string &  xpath,
isc::data::ConstElementPtr  elem 
)

Translate and set database accesses from JSON to YANG.

Null elem argument removes the database list.

Parameters
xpathThe xpath of databases including the list name.
elemThe JSON element.

Definition at line 303 of file translator_database.cc.

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

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

+ Here is the call graph for this function:

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

setDatabases for kea-dhcp[46]-server models.

Parameters
xpathThe xpath of databases including the list name.
elemThe JSON element.
Exceptions
BadValueon database without type,

Definition at line 321 of file translator_database.cc.

References isc::yang::TranslatorBasic::delItem(), isc_throw, and isc::yang::TranslatorDatabase::setDatabase().

Referenced by setDatabases().

+ Here is the call graph for this function:


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