Kea  1.5.0
translator_config.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_CONFIG_H
8 #define ISC_TRANSLATOR_CONFIG_H 1
9 
10 #include <yang/translator.h>
13 #include <yang/translator_class.h>
15 #include <yang/translator_logger.h>
16 #include <list>
17 
18 namespace isc {
19 namespace yang {
20 
25 
163 
295 
344 
386 
394  virtual public TranslatorDatabases,
395  virtual public TranslatorClasses,
396  virtual public TranslatorSharedNetworks,
397  virtual public TranslatorLoggers {
398 public:
399 
404 #ifndef HAVE_PRE_0_7_6_SYSREPO
405  TranslatorConfig(sysrepo::S_Session session, const std::string& model);
406 #else
407  TranslatorConfig(S_Session session, const std::string& model);
408 #endif
409 
411  virtual ~TranslatorConfig();
412 
419 
427 
428 protected:
437 
439  void delConfigIetf6();
440 
449 
455 
461 
466  isc::data::ElementPtr getServerKeaDhcpCommon(const std::string& xpath);
467 
473 
479 
481  void delConfigKea();
482 
487 
492 
497  void setServerKeaDhcpCommon(const std::string& xpath,
499 
504  isc::data::ElementPtr getHooksKea(const std::string& xpath);
505 
510  isc::data::ElementPtr getExpiredKea(const std::string& xpath);
511 
516  isc::data::ElementPtr getDdnsKea(const std::string& xpath);
517 
522  isc::data::ElementPtr getConfigControlKea(const std::string& xpath);
523 
528 
533 
538 
547  void getParam(isc::data::ElementPtr& storage, const std::string& xpath,
548  const std::string& name);
549 };
550 
551 }; // end of namespace isc::yang
552 }; // end of namespace isc
553 
554 #endif // ISC_TRANSLATOR_CONFIG_H
translator_control_socket.h
isc::yang::TranslatorConfig::getServerKeaDhcp4
isc::data::ElementPtr getServerKeaDhcp4()
getServer for kea-dhcp4-server:config.
Definition: translator_config.cc:313
isc::yang::TranslatorLoggers
A translator class for converting a logger list between YANG and JSON.
Definition: translator_logger.h:172
isc::yang::TranslatorConfig
DHCP configuration translation between YANG and JSON.
Definition: translator_config.h:397
isc::yang::TranslatorConfig::getServerKeaDhcp6
isc::data::ElementPtr getServerKeaDhcp6()
getServer for kea-dhcp6-server:config.
Definition: translator_config.cc:350
isc::yang::TranslatorConfig::setServerKeaDhcp6
void setServerKeaDhcp6(isc::data::ConstElementPtr elem)
setServer for kea-dhcp6-server:config.
Definition: translator_config.cc:787
isc::yang::TranslatorConfig::setConfigIetf6
void setConfigIetf6(isc::data::ConstElementPtr elem)
setConfig for ietf-dhcpv6-server.
Definition: translator_config.cc:446
isc::yang::TranslatorConfig::delConfigIetf6
void delConfigIetf6()
delConfig for ietf-dhcpv6-server.
Definition: translator_config.cc:441
isc::yang::TranslatorConfig::setServerKeaDhcp4
void setServerKeaDhcp4(isc::data::ConstElementPtr elem)
setServer for kea-dhcp4-server:config.
Definition: translator_config.cc:723
isc::yang::TranslatorConfig::setConfigKea4
void setConfigKea4(isc::data::ConstElementPtr elem)
setConfig for kea-dhcp[46]-server.
Definition: translator_config.cc:465
isc::yang::TranslatorSharedNetworks
A translator class for converting a shared network list between YANG and JSON.
Definition: translator_shared_network.h:183
isc::yang::TranslatorConfig::getConfigKea6
isc::data::ElementPtr getConfigKea6()
getConfig for kea-dhcp6-server.
Definition: translator_config.cc:100
isc::yang::TranslatorConfig::setServerKeaDhcpCommon
void setServerKeaDhcpCommon(const std::string &xpath, isc::data::ConstElementPtr elem)
setServer common part for kea-dhcp[46]-server:config.
Definition: translator_config.cc:489
isc::yang::TranslatorClasses
A translator class for converting a client class list between YANG and JSON.
Definition: translator_class.h:123
isc::yang::TranslatorConfig::~TranslatorConfig
virtual ~TranslatorConfig()
Destructor.
Definition: translator_config.cc:48
isc::yang::TranslatorConfig::setConfigKea6
void setConfigKea6(isc::data::ConstElementPtr elem)
setConfig for kea-dhcp6-server.
Definition: translator_config.cc:477
isc::yang::TranslatorConfig::TranslatorConfig
TranslatorConfig(sysrepo::S_Session session, const std::string &model)
Constructor.
Definition: translator_config.cc:23
translator_database.h
isc::yang::TranslatorControlSocket
Control socket translation between YANG and JSON.
Definition: translator_control_socket.h:70
isc::yang::TranslatorConfig::getConfigControlKea
isc::data::ElementPtr getConfigControlKea(const std::string &xpath)
Retrieves configuration control from sysrepo.
Definition: translator_config.cc:208
isc
Defines the logger used by the top-level component of kea-dhcp-ddns.
Definition: agent_parser.cc:144
isc::yang::TranslatorConfig::getDdnsKea
isc::data::ElementPtr getDdnsKea(const std::string &xpath)
Retrieves DDNS configuration from sysrepo.
Definition: translator_config.cc:175
isc::yang::TranslatorConfig::getConfig
isc::data::ElementPtr getConfig()
Get and translate the whole DHCP server configuration from YANG to JSON.
Definition: translator_config.cc:52
isc::yang::TranslatorConfig::getServerKeaDhcpCommon
isc::data::ElementPtr getServerKeaDhcpCommon(const std::string &xpath)
getServer common part for kea-dhcp[46]-server:config.
Definition: translator_config.cc:224
isc::yang::TranslatorConfig::getConfigIetf6
isc::data::ElementPtr getConfigIetf6()
getConfig for ietf-dhcpv6-server.
Definition: translator_config.cc:69
translator_class.h
isc::yang::TranslatorConfig::getHooksKea
isc::data::ElementPtr getHooksKea(const std::string &xpath)
Retrieves hooks configuration from sysrepo.
Definition: translator_config.cc:125
isc::yang::TranslatorConfig::setServerKeaLogging
void setServerKeaLogging(isc::data::ConstElementPtr elem)
set Logging part for kea-*:config.
Definition: translator_config.cc:866
isc::yang::TranslatorDatabases
A translator class for converting a database access list between YANG and JSON.
Definition: translator_database.h:161
isc::yang::TranslatorConfig::getParam
void getParam(isc::data::ElementPtr &storage, const std::string &xpath, const std::string &name)
Retrieves an item and stores in the specified storage.
Definition: translator_config.cc:116
translator_logger.h
translator_shared_network.h
isc::yang::TranslatorConfig::getExpiredKea
isc::data::ElementPtr getExpiredKea(const std::string &xpath)
Retrieves expired leases processing parameters from sysrepo.
Definition: translator_config.cc:157
isc::data::ElementPtr
boost::shared_ptr< Element > ElementPtr
Definition: data.h:20
isc::data::ConstElementPtr
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:23
isc::yang::TranslatorConfig::delConfigKea
void delConfigKea()
delConfig for kea-dhcp[46]-server.
Definition: translator_config.cc:460
translator.h
isc::yang::TranslatorConfig::getConfigKea4
isc::data::ElementPtr getConfigKea4()
getConfig for kea-dhcp4-server.
Definition: translator_config.cc:84
isc::yang::TranslatorConfig::setConfig
void setConfig(isc::data::ConstElementPtr elem)
Translate and sets the DHCP server configuration from JSON to YANG.
Definition: translator_config.cc:406