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_;
716 #endif // DHCPSRV_CONFIG_H const isc::data::ConstElementPtr getControlSocketInfo() const
Returns information about control socket.
Defines the D2ClientConfig class.
D2ClientConfigPtr getD2ClientConfig()
Returns pointer to the D2 client configuration.
boost::shared_ptr< CfgSharedNetworks6 > CfgSharedNetworks6Ptr
Pointer to the configuration of IPv6 shared networks.
uint32_t getSequence() const
Returns configuration sequence number.
const CfgMACSource & getMACSources() const
Returns const reference to an array that stores MAC/hardware address sources.
boost::shared_ptr< CfgOption > CfgOptionPtr
Non-const pointer.
ConstCfgRSOOPtr getCfgRSOO() const
Returns pointer to the const object representing set of RSOO-enabled options.
SrvConfig()
Default constructor.
ConstCfgDbAccessPtr getCfgDbAccess() const
Returns const pointer to the object holding configuration of the lease and host database connection p...
boost::shared_ptr< const CfgOptionDef > ConstCfgOptionDefPtr
Const pointer.
static const uint32_t CFGSEL_IFACE4
Number of enabled ifaces.
boost::shared_ptr< const CfgOption > ConstCfgOptionPtr
Const pointer.
static const uint32_t CFGSEL_CFG_CTL
Config control info.
isc::data::ConstElementPtr getConfiguredGlobals() const
Returns pointer to configured global parameters.
CfgConsistencyPtr getConsistency()
Returns const pointer to object holding sanity checks flags.
Base class for all configurations.
void removeStatistics()
Removes statistics.
boost::shared_ptr< SrvConfig > SrvConfigPtr
Non-const pointer to the SrvConfig.
void setServerTag(const std::string &server_tag)
Sets the server's logical name.
boost::shared_ptr< const CfgRSOO > ConstCfgRSOOPtr
Pointer to the const object.
boost::shared_ptr< const CfgHosts > ConstCfgHostsPtr
Const pointer.
void setControlSocketInfo(const isc::data::ConstElementPtr &control_socket)
Sets information about the control socket.
boost::shared_ptr< Element > ElementPtr
boost::shared_ptr< CfgIface > CfgIfacePtr
A pointer to the CfgIface .
ConstCfgHostsPtr getCfgHosts() const
Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subne...
Wrapper class that holds hooks libraries configuration.
CfgSubnets6Ptr getCfgSubnets6()
Returns pointer to non-const object holding subnets configuration for DHCPv6.
boost::shared_ptr< CfgOptionDef > CfgOptionDefPtr
Non-const pointer.
bool nequals(const SrvConfig &other) const
Compares two objects for inequality.
bool operator!=(const SrvConfig &other) const
boost::shared_ptr< CfgConsistency > CfgConsistencyPtr
Type used to for pointing to CfgConsistency structure.
void updateStatistics()
Updates statistics.
const isc::data::ConstElementPtr getDHCPQueueControl() const
Returns DHCP queue control information.
boost::shared_ptr< const CfgDUID > ConstCfgDUIDPtr
Pointer to the const object.
uint32_t getDeclinePeriod() const
Returns probation-period.
boost::shared_ptr< CfgSubnets4 > CfgSubnets4Ptr
Non-const pointer.
void setDHCPQueueControl(const isc::data::ConstElementPtr dhcp_queue_control)
Sets information about the dhcp queue control.
boost::shared_ptr< const CfgSubnets4 > ConstCfgSubnets4Ptr
Const pointer.
boost::shared_ptr< CfgExpiration > CfgExpirationPtr
Pointer to the Non-const object.
CfgOptionDefPtr getCfgOptionDef()
Return pointer to non-const object representing user-defined option definitions.
boost::shared_ptr< const CfgDbAccess > ConstCfgDbAccessPtr
A pointer to the const CfgDbAccess.
std::string getConfigSummary(const uint32_t selection) const
Returns summary of the configuration in the textual format.
void setEchoClientId(const bool echo)
Sets whether server should send back client-id in DHCPv4.
bool getEchoClientId() const
Returns whether server should send back client-id in DHCPv4.
boost::shared_ptr< CfgSharedNetworks4 > CfgSharedNetworks4Ptr
Pointer to the configuration of IPv4 shared networks.
boost::shared_ptr< const SrvConfig > ConstSrvConfigPtr
Const pointer to the SrvConfig.
CfgSharedNetworks6Ptr getCfgSharedNetworks6() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv6.
ConstCfgSubnets6Ptr getCfgSubnets6() const
Returns pointer to const object holding subnets configuration for DHCPv6.
Wrapper class that holds MAC/hardware address sources.
ConstCfgExpirationPtr getCfgExpiration() const
Returns pointer to the const object holding configuration pertaining to processing expired leases.
boost::shared_ptr< CfgDbAccess > CfgDbAccessPtr
A pointer to the CfgDbAccess.
void setDeclinePeriod(const uint32_t decline_timer)
Sets decline probation-period.
const ConstCfgOptionPtr getCfgOption() const
Returns pointer to the const object holding options.
boost::shared_ptr< const CfgSubnets6 > ConstCfgSubnets6Ptr
Const pointer.
const isc::hooks::HooksConfig & getHooksConfig() const
Returns const reference to configured hooks libraries.
boost::shared_ptr< ClientClassDictionary > ClientClassDictionaryPtr
Defines a pointer to a ClientClassDictionary.
void addConfiguredGlobal(const std::string &name, isc::data::ConstElementPtr value)
Adds a parameter to the collection configured globals.
boost::shared_ptr< const CfgExpiration > ConstCfgExpirationPtr
Pointer to the const object.
ConstCfgSubnets4Ptr getCfgSubnets4() const
Returns pointer to const object holding subnets configuration for DHCPv4.
boost::shared_ptr< const Element > ConstElementPtr
boost::shared_ptr< CfgRSOO > CfgRSOOPtr
Pointer to the Non-const object.
CfgDbAccessPtr getCfgDbAccess()
Returns pointer to the object holding configuration of the lease and host database connection paramet...
boost::shared_ptr< CfgSubnets6 > CfgSubnets6Ptr
Non-const pointer.
CfgExpirationPtr getCfgExpiration()
Returns pointer to the object holding configuration pertaining to processing expired leases.
CfgHostOperationsPtr getCfgHostOperations4()
Returns pointer to the object holding general configuration for host reservations in DHCPv4.
const D2ClientConfigPtr getD2ClientConfig() const
Returns pointer to const D2 client configuration.
CfgIfacePtr getCfgIface()
Returns non-const pointer to interface configuration.
ConstCfgHostOperationsPtr getCfgHostOperations6() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv6.
static const uint32_t CFGSEL_SUBNET
Number of all subnets.
Specifies current DHCP configuration.
static const uint32_t CFGSEL_ALL6
IPv6 related config.
CfgRSOOPtr getCfgRSOO()
Returns pointer to the non-const object representing set of RSOO-enabled options.
Defines the logger used by the top-level component of kea-dhcp-ddns.
bool equals(const SrvConfig &other) const
Compares two objects for equality.
CfgMACSource & getMACSources()
Returns non-const reference to an array that stores MAC/hardware address sources.
static const uint32_t CFGSEL_SUBNET4
Number of IPv4 subnets.
CfgDUIDPtr getCfgDUID()
Returns pointer to the object holding configuration of the server identifier.
ConstCfgOptionDefPtr getCfgOptionDef() const
Returns pointer to the const object representing user-defined option definitions.
static const uint32_t CFGSEL_ALL
Whole config.
void setClientClassDictionary(const ClientClassDictionaryPtr &dictionary)
Sets the client class dictionary.
bool sequenceEquals(const SrvConfig &other)
Compares configuration sequence with other sequence.
void extractConfiguredGlobals(isc::data::ConstElementPtr config)
Saves scalar elements from the global scope of a configuration.
isc::hooks::HooksConfig & getHooksConfig()
Returns non-const reference to configured hooks libraries.
static const uint32_t CFGSEL_DDNS
DDNS enabled/disabled.
boost::shared_ptr< const CfgIface > ConstCfgIfacePtr
A pointer to the const CfgIface.
ClientClassDictionaryPtr getClientClassDictionary()
Returns pointer to the dictionary of global client class definitions.
boost::shared_ptr< const CfgHostOperations > ConstCfgHostOperationsPtr
Pointer to the const object.
CfgHostsPtr getCfgHosts()
Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 s...
CfgSubnets4Ptr getCfgSubnets4()
Returns pointer to non-const object holding subnets configuration for DHCPv4.
static const uint32_t CFGSEL_GLOBALS
Configured globals.
ConstCfgIfacePtr getCfgIface() const
Returns const pointer to interface configuration.
void copy(SrvConfig &new_config) const
Copies the current configuration to a new configuration.
CfgOptionPtr getCfgOption()
Returns pointer to the non-const object holding options.
CfgHostOperationsPtr getCfgHostOperations6()
Returns pointer to the object holding general configuration for host reservations in DHCPv6.
ConstCfgHostOperationsPtr getCfgHostOperations4() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv4.
static const uint32_t CFGSEL_SUBNET6
Number of IPv6 subnets.
boost::shared_ptr< CfgDUID > CfgDUIDPtr
Pointer to the Non-const object.
bool operator==(const SrvConfig &other) const
Equality operator.
CfgSharedNetworks4Ptr getCfgSharedNetworks4() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv4;.
boost::shared_ptr< D2ClientConfig > D2ClientConfigPtr
Defines a pointer for D2ClientConfig instances.
uint16_t getDhcp4o6Port()
Returns DHCP4o6 IPC port.
void setDhcp4o6Port(uint16_t port)
Sets DHCP4o6 IPC port.
Defines classes for storing client class definitions.
void setD2ClientConfig(const D2ClientConfigPtr &d2_client_config)
Sets the D2 client configuration.
ConstCfgDUIDPtr getCfgDUID() const
Returns const pointer to the object holding configuration of the server identifier.
static const uint32_t CFGSEL_NONE
Nothing selected.
boost::shared_ptr< CfgHostOperations > CfgHostOperationsPtr
Pointer to the Non-const object.
std::string getServerTag() const
Returns the server's logical name.
virtual isc::data::ElementPtr toElement() const
Unparse a configuration object.
static const uint32_t CFGSEL_ALL4
IPv4 related config.
const ClientClassDictionaryPtr getClientClassDictionary() const
Returns pointer to const dictionary of global client class definitions.
static const uint32_t CFGSEL_IFACE6
Number of v6 ifaces.
boost::shared_ptr< CfgHosts > CfgHostsPtr
Non-const pointer.