7#ifndef DHCPSRV_CONFIG_H
8#define DHCPSRV_CONFIG_H
31#include <boost/shared_ptr.hpp>
150 return (cfg_option_def_);
161 return (cfg_option_def_);
171 return (cfg_option_);
181 return (cfg_option_);
189 return (cfg_subnets4_);
198 return (cfg_shared_networks4_);
207 return (cfg_shared_networks6_);
215 return (cfg_subnets4_);
223 return (cfg_subnets6_);
231 return (cfg_subnets6_);
271 return (cfg_expiration_);
277 return (cfg_expiration_);
295 return (cfg_db_access_);
301 return (cfg_db_access_);
307 return (cfg_host_operations4_);
313 return (cfg_host_operations4_);
319 return (cfg_host_operations6_);
325 return (cfg_host_operations6_);
330 return (cfg_consist_);
340 return (cfg_mac_source_);
348 return (cfg_mac_source_);
354 return (control_socket_);
360 control_socket_ = control_socket;
366 return (dhcp_queue_control_);
372 dhcp_queue_control_ = dhcp_queue_control;
378 return (class_dictionary_);
384 return (class_dictionary_);
390 class_dictionary_ = dictionary;
397 return (hooks_config_);
404 return (hooks_config_);
498 decline_timer_ = decline_timer;
506 return (decline_timer_);
516 echo_v4_client_id_ = echo;
522 return (echo_v4_client_id_);
532 dhcp4o6_port_ = port;
540 return (dhcp4o6_port_);
545 return (d2_client_config_);
550 return (d2_client_config_);
556 d2_client_config_ = d2_client_config;
571 configured_globals_->set(name, value);
579 server_tag_ = server_tag;
586 return (server_tag_);
679 uint32_t decline_timer_;
682 bool echo_v4_client_id_;
688 uint16_t dhcp4o6_port_;
700 std::string server_tag_;
Wrapper class that holds MAC/hardware address sources.
Specifies current DHCP configuration.
ClientClassDictionaryPtr getClientClassDictionary()
Returns pointer to the dictionary of global client class definitions.
static const uint32_t CFGSEL_SUBNET4
Number of IPv4 subnets.
ConstCfgOptionDefPtr getCfgOptionDef() const
Returns pointer to the const object representing user-defined option definitions.
const ConstCfgOptionPtr getCfgOption() const
Returns pointer to the const object holding options.
void setDhcp4o6Port(uint16_t port)
Sets DHCP4o6 IPC port.
void addConfiguredGlobal(const std::string &name, isc::data::ConstElementPtr value)
Adds a parameter to the collection configured globals.
isc::data::ConstElementPtr getConfiguredGlobals() const
Returns pointer to configured global parameters.
const ClientClassDictionaryPtr getClientClassDictionary() const
Returns pointer to const dictionary of global client class definitions.
const D2ClientConfigPtr getD2ClientConfig() const
Returns pointer to const D2 client configuration.
void setClientClassDictionary(const ClientClassDictionaryPtr &dictionary)
Sets the client class dictionary.
ConstCfgSubnets6Ptr getCfgSubnets6() const
Returns pointer to const object holding subnets configuration for DHCPv6.
void extractConfiguredGlobals(isc::data::ConstElementPtr config)
Saves scalar elements from the global scope of a configuration.
static const uint32_t CFGSEL_ALL
Whole config.
ConstCfgDUIDPtr getCfgDUID() const
Returns const pointer to the object holding configuration of the server identifier.
bool nequals(const SrvConfig &other) const
Compares two objects for inequality.
bool operator!=(const SrvConfig &other) const
CfgSharedNetworks6Ptr getCfgSharedNetworks6() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv6.
static const uint32_t CFGSEL_ALL6
IPv6 related config.
void setD2ClientConfig(const D2ClientConfigPtr &d2_client_config)
Sets the D2 client configuration.
static const uint32_t CFGSEL_NONE
Nothing selected.
static const uint32_t CFGSEL_IFACE4
Number of enabled ifaces.
CfgDUIDPtr getCfgDUID()
Returns pointer to the object holding configuration of the server identifier.
bool sequenceEquals(const SrvConfig &other)
Compares configuration sequence with other sequence.
static const uint32_t CFGSEL_GLOBALS
Configured globals.
CfgConsistencyPtr getConsistency()
Returns const pointer to object holding sanity checks flags.
std::string getServerTag() const
Returns the server's logical name.
CfgSubnets4Ptr getCfgSubnets4()
Returns pointer to non-const object holding subnets configuration for DHCPv4.
CfgSubnets6Ptr getCfgSubnets6()
Returns pointer to non-const object holding subnets configuration for DHCPv6.
CfgOptionDefPtr getCfgOptionDef()
Return pointer to non-const object representing user-defined option definitions.
void setServerTag(const std::string &server_tag)
Sets the server's logical name.
D2ClientConfigPtr getD2ClientConfig()
Returns pointer to the D2 client configuration.
bool operator==(const SrvConfig &other) const
Equality operator.
CfgRSOOPtr getCfgRSOO()
Returns pointer to the non-const object representing set of RSOO-enabled options.
CfgHostOperationsPtr getCfgHostOperations6()
Returns pointer to the object holding general configuration for host reservations in DHCPv6.
ConstCfgHostOperationsPtr getCfgHostOperations6() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv6.
bool getEchoClientId() const
Returns whether server should send back client-id in DHCPv4.
void setDHCPQueueControl(const isc::data::ConstElementPtr dhcp_queue_control)
Sets information about the dhcp queue control.
ConstCfgIfacePtr getCfgIface() const
Returns const pointer to interface configuration.
ConstCfgExpirationPtr getCfgExpiration() const
Returns pointer to the const object holding configuration pertaining to processing expired leases.
std::string getConfigSummary(const uint32_t selection) const
Returns summary of the configuration in the textual format.
const isc::data::ConstElementPtr getDHCPQueueControl() const
Returns DHCP queue control information.
const isc::hooks::HooksConfig & getHooksConfig() const
Returns const reference to configured hooks libraries.
bool equals(const SrvConfig &other) const
Compares two objects for equality.
uint32_t getSequence() const
Returns configuration sequence number.
CfgIfacePtr getCfgIface()
Returns non-const pointer to interface configuration.
static const uint32_t CFGSEL_DDNS
DDNS enabled/disabled.
void setDeclinePeriod(const uint32_t decline_timer)
Sets decline probation-period.
uint32_t getDeclinePeriod() const
Returns probation-period.
void removeStatistics()
Removes statistics.
ConstCfgHostsPtr getCfgHosts() const
Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subne...
CfgExpirationPtr getCfgExpiration()
Returns pointer to the object holding configuration pertaining to processing expired leases.
const CfgMACSource & getMACSources() const
Returns const reference to an array that stores MAC/hardware address sources.
CfgOptionPtr getCfgOption()
Returns pointer to the non-const object holding options.
virtual isc::data::ElementPtr toElement() const
Unparse a configuration object.
ConstCfgRSOOPtr getCfgRSOO() const
Returns pointer to the const object representing set of RSOO-enabled options.
static const uint32_t CFGSEL_SUBNET6
Number of IPv6 subnets.
isc::hooks::HooksConfig & getHooksConfig()
Returns non-const reference to configured hooks libraries.
void updateStatistics()
Updates statistics.
ConstCfgDbAccessPtr getCfgDbAccess() const
Returns const pointer to the object holding configuration of the lease and host database connection p...
static const uint32_t CFGSEL_SUBNET
Number of all subnets.
static const uint32_t CFGSEL_ALL4
IPv4 related config.
CfgDbAccessPtr getCfgDbAccess()
Returns pointer to the object holding configuration of the lease and host database connection paramet...
void setEchoClientId(const bool echo)
Sets whether server should send back client-id in DHCPv4.
void copy(SrvConfig &new_config) const
Copies the current configuration to a new configuration.
CfgSharedNetworks4Ptr getCfgSharedNetworks4() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv4;.
CfgHostsPtr getCfgHosts()
Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 s...
void setControlSocketInfo(const isc::data::ConstElementPtr &control_socket)
Sets information about the control socket.
static const uint32_t CFGSEL_IFACE6
Number of v6 ifaces.
uint16_t getDhcp4o6Port()
Returns DHCP4o6 IPC port.
ConstCfgSubnets4Ptr getCfgSubnets4() const
Returns pointer to const object holding subnets configuration for DHCPv4.
static const uint32_t CFGSEL_CFG_CTL
Config control info.
const isc::data::ConstElementPtr getControlSocketInfo() const
Returns information about control socket.
SrvConfig()
Default constructor.
ConstCfgHostOperationsPtr getCfgHostOperations4() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv4.
CfgHostOperationsPtr getCfgHostOperations4()
Returns pointer to the object holding general configuration for host reservations in DHCPv4.
CfgMACSource & getMACSources()
Returns non-const reference to an array that stores MAC/hardware address sources.
Wrapper class that holds hooks libraries configuration.
Base class for all configurations.
Defines classes for storing client class definitions.
Defines the D2ClientConfig class.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< Element > ElementPtr
boost::shared_ptr< const CfgOptionDef > ConstCfgOptionDefPtr
Const pointer.
boost::shared_ptr< CfgDUID > CfgDUIDPtr
Pointer to the Non-const object.
boost::shared_ptr< CfgHostOperations > CfgHostOperationsPtr
Pointer to the Non-const object.
boost::shared_ptr< const CfgDUID > ConstCfgDUIDPtr
Pointer to the const object.
boost::shared_ptr< const CfgHosts > ConstCfgHostsPtr
Const pointer.
boost::shared_ptr< D2ClientConfig > D2ClientConfigPtr
Defines a pointer for D2ClientConfig instances.
boost::shared_ptr< const SrvConfig > ConstSrvConfigPtr
Const pointer to the SrvConfig.
boost::shared_ptr< CfgOption > CfgOptionPtr
Non-const pointer.
boost::shared_ptr< CfgOptionDef > CfgOptionDefPtr
Non-const pointer.
boost::shared_ptr< CfgDbAccess > CfgDbAccessPtr
A pointer to the CfgDbAccess.
boost::shared_ptr< const CfgExpiration > ConstCfgExpirationPtr
Pointer to the const object.
boost::shared_ptr< const CfgIface > ConstCfgIfacePtr
A pointer to the const CfgIface.
boost::shared_ptr< const CfgDbAccess > ConstCfgDbAccessPtr
A pointer to the const CfgDbAccess.
boost::shared_ptr< const CfgRSOO > ConstCfgRSOOPtr
Pointer to the const object.
boost::shared_ptr< const CfgHostOperations > ConstCfgHostOperationsPtr
Pointer to the const object.
boost::shared_ptr< CfgIface > CfgIfacePtr
A pointer to the CfgIface .
boost::shared_ptr< SrvConfig > SrvConfigPtr
Non-const pointer to the SrvConfig.
boost::shared_ptr< CfgSubnets6 > CfgSubnets6Ptr
Non-const pointer.
boost::shared_ptr< CfgExpiration > CfgExpirationPtr
Pointer to the Non-const object.
boost::shared_ptr< ClientClassDictionary > ClientClassDictionaryPtr
Defines a pointer to a ClientClassDictionary.
boost::shared_ptr< CfgSharedNetworks6 > CfgSharedNetworks6Ptr
Pointer to the configuration of IPv6 shared networks.
boost::shared_ptr< CfgHosts > CfgHostsPtr
Non-const pointer.
boost::shared_ptr< CfgSubnets4 > CfgSubnets4Ptr
Non-const pointer.
boost::shared_ptr< const CfgSubnets4 > ConstCfgSubnets4Ptr
Const pointer.
boost::shared_ptr< const CfgSubnets6 > ConstCfgSubnets6Ptr
Const pointer.
boost::shared_ptr< CfgConsistency > CfgConsistencyPtr
Type used to for pointing to CfgConsistency structure.
boost::shared_ptr< CfgSharedNetworks4 > CfgSharedNetworks4Ptr
Pointer to the configuration of IPv4 shared networks.
boost::shared_ptr< CfgRSOO > CfgRSOOPtr
Pointer to the Non-const object.
boost::shared_ptr< const CfgOption > ConstCfgOptionPtr
Const pointer.
Defines the logger used by the top-level component of kea-dhcp-ddns.