|  | Kea 3.0.0
    | 
Base class for implementing mechanisms to control the use of the Configuration Backends by DHCPv4 and DHCPv6 servers. More...
#include <cb_ctl_dhcp.h>
| Public Member Functions | |
| CBControlDHCP () | |
| Constructor. | |
| Public Member Functions inherited from isc::process::CBControlBase< ConfigBackendMgrType > | |
| CBControlBase () | |
| Constructor. | |
| virtual | ~CBControlBase () | 
| Virtual destructor. | |
| bool | databaseConfigConnect (const ConfigPtr &srv_cfg) | 
| (Re)connects to the specified configuration backends. | |
| void | databaseConfigDisconnect () | 
| Disconnects from the configuration backends. | |
| virtual void | databaseConfigFetch (const ConfigPtr &srv_cfg, const FetchMode &fetch_mode=FetchMode::FETCH_ALL) | 
| Fetches the entire or partial configuration from the database. | |
| void | reset () | 
| Resets the state of this object. | |
| Static Public Member Functions | |
| static bool | translateName (std::string const &name, std::string ¶m_name, std::string &sub_param_name) | 
| It translates the top level map parameters from flat naming format (e.g. | |
| Protected Member Functions | |
| void | translateAndAddGlobalsToConfig (SrvConfigPtr external_cfg, data::StampedValueCollection &cb_globals) const | 
| It translates the top level map parameters from flat naming format (e.g. | |
| Protected Member Functions inherited from isc::process::CBControlBase< ConfigBackendMgrType > | |
| virtual void | databaseConfigApply (const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &lb_modification_time, const db::AuditEntryCollection &audit_entries)=0 | 
| Server specific method to fetch and apply back end configuration into the local configuration. | |
| db::AuditEntryCollection | fetchConfigElement (const db::AuditEntryCollection &audit_entries, const std::string &object_type) const | 
| Returns audit entries for new or updated configuration elements of specific type to be fetched from the database. | |
| ConfigBackendMgrType & | getMgr () const | 
| Returns the instance of the Config Backend Manager used by this object. | |
| void | updateLastAuditRevisionTimeId (const db::AuditEntryCollection &audit_entries) | 
| Updates timestamp of the most recent audit entry fetched from the database. | |
| Additional Inherited Members | |
| Public Types inherited from isc::process::CBControlBase< ConfigBackendMgrType > | |
| enum class | FetchMode { FETCH_ALL , FETCH_UPDATE } | 
| Fetch mode used in invocations to databaseConfigFetch.  More... | |
| Static Protected Member Functions inherited from isc::process::CBControlBase< ConfigBackendMgrType > | |
| static boost::posix_time::ptime | getInitialAuditRevisionTime () | 
| Convenience method returning initial timestamp to set the last_audit_revision_time_to. | |
| Protected Attributes inherited from isc::process::CBControlBase< ConfigBackendMgrType > | |
| uint64_t | last_audit_revision_id_ | 
| Stores the most recent audit revision identifier. | |
| boost::posix_time::ptime | last_audit_revision_time_ | 
| Stores the most recent audit revision timestamp. | |
Base class for implementing mechanisms to control the use of the Configuration Backends by DHCPv4 and DHCPv6 servers.
It includes common methods used by the DHCPv4 and DHCPv6 specific derivations.
| ConfigBackendMgrType | Type of the Config Backend Manager used by the server implementing this class. For example, for the DHCPv4 server it will be ConfigBackendDHCPv4Mgr. | 
Definition at line 27 of file cb_ctl_dhcp.h.
| 
 | inline | 
Constructor.
Definition at line 31 of file cb_ctl_dhcp.h.
References isc::process::CBControlBase< ConfigBackendMgrType >::CBControlBase().
| 
 | inlineprotected | 
It translates the top level map parameters from flat naming format (e.g.
param-name.sub-param-name) to proper ElementMap objects and adds all globals fetched from config backend(s) to a SrvConfig instance
Iterates over the given collection of global parameters and adds them to the given configuration's list of configured globals.
| external_cfg | SrvConfig instance to update | 
| cb_globals | collection of global parameters supplied by configuration backend | 
Definition at line 72 of file cb_ctl_dhcp.h.
References isc::data::Element::createMap(), and translateName().
| 
 | inlinestatic | 
It translates the top level map parameters from flat naming format (e.g.
param-name.sub-param-name) to the respective param-name and sub-param-name. If the name does not contain '.', the param-name will contain the initial name.
| name | The name in flat format (e.g. map-name.element-name). | |
| [out] | param_name | The resulting top level param name. | 
| [out] | sub_param_name | The resulting sub param name inside the map. | 
Definition at line 46 of file cb_ctl_dhcp.h.
Referenced by translateAndAddGlobalsToConfig().