2018-09-14 09:37:47 +02:00
|
|
|
// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
|
|
|
|
//
|
|
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
|
|
|
#ifndef MYSQL_CONFIG_BACKEND_DHCP4_H
|
|
|
|
#define MYSQL_CONFIG_BACKEND_DHCP4_H
|
|
|
|
|
|
|
|
#include <database/database_connection.h>
|
|
|
|
#include <dhcpsrv/config_backend_dhcp4.h>
|
|
|
|
#include <boost/shared_ptr.hpp>
|
|
|
|
|
|
|
|
namespace isc {
|
|
|
|
namespace dhcp {
|
|
|
|
|
|
|
|
class MySqlConfigBackendDHCPv4Impl;
|
|
|
|
|
|
|
|
/// @brief Implementation of the MySql Configuration Backend for
|
|
|
|
/// Kea DHCPv4 server.
|
|
|
|
class MySqlConfigBackendDHCPv4 : public ConfigBackendDHCPv4 {
|
|
|
|
public:
|
|
|
|
|
|
|
|
/// @brief Constructor.
|
|
|
|
///
|
|
|
|
/// @param parameters A data structure relating keywords and values
|
|
|
|
/// concerned with the database.
|
|
|
|
explicit MySqlConfigBackendDHCPv4(const db::DatabaseConnection::ParameterMap& parameters);
|
|
|
|
|
|
|
|
/// @brief Retrieves a single subnet by subnet_prefix.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_prefix Prefix of the subnet to be retrieved.
|
|
|
|
/// @return Pointer to the retrieved subnet or NULL if not found.
|
|
|
|
virtual Subnet4Ptr
|
2018-10-04 17:48:22 +02:00
|
|
|
getSubnet4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& subnet_prefix) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves a single subnet by subnet identifier.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_id Identifier of a subnet to be retrieved.
|
|
|
|
/// @return Pointer to the retrieved subnet or NULL if not found.
|
|
|
|
virtual Subnet4Ptr
|
2018-10-04 17:48:22 +02:00
|
|
|
getSubnet4(const db::ServerSelector& server_selector, const SubnetID& subnet_id) const;
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Retrieves all subnets.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @return Collection of subnets or empty collection if no subnet found.
|
|
|
|
virtual Subnet4Collection
|
2018-10-04 17:48:22 +02:00
|
|
|
getAllSubnets4(const db::ServerSelector& server_selector) const;
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Retrieves subnets modified after specified time.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param modification_time Lower bound subnet modification time.
|
|
|
|
/// @return Collection of subnets or empty collection if no subnet found.
|
|
|
|
virtual Subnet4Collection
|
2018-10-04 17:48:22 +02:00
|
|
|
getModifiedSubnets4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const boost::posix_time::ptime& modification_time) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves shared network by name.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the shared network to be retrieved.
|
|
|
|
/// @return Pointer to the shared network or NULL if not found.
|
|
|
|
virtual SharedNetwork4Ptr
|
2018-10-04 17:48:22 +02:00
|
|
|
getSharedNetwork4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves all shared networks.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @return Collection of shared network or empty collection if
|
|
|
|
/// no shared network found.
|
|
|
|
virtual SharedNetwork4Collection
|
2018-10-04 17:48:22 +02:00
|
|
|
getAllSharedNetworks4(const db::ServerSelector& server_selector) const;
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Retrieves shared networks modified after specified time.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param modification_time Lower bound shared network modification time.
|
|
|
|
/// @return Collection of shared network or empty collection if
|
|
|
|
/// no shared network found.
|
|
|
|
virtual SharedNetwork4Collection
|
2018-10-04 17:48:22 +02:00
|
|
|
getModifiedSharedNetworks4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const boost::posix_time::ptime& modification_time) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves single option definition by code and space.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param code Code of the option to be retrieved.
|
|
|
|
/// @param space Option space of the option to be retrieved.
|
|
|
|
/// @return Pointer to the option definition or NULL if not found.
|
|
|
|
virtual OptionDefinitionPtr
|
2018-10-04 17:48:22 +02:00
|
|
|
getOptionDef4(const db::ServerSelector& server_selector, const uint16_t code,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& space) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves all option definitions.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @return Collection of option definitions or empty collection if
|
|
|
|
/// no option definition found.
|
|
|
|
virtual OptionDefContainer
|
2018-10-04 17:48:22 +02:00
|
|
|
getAllOptionDefs4(const db::ServerSelector& server_selector) const;
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Retrieves option definitions modified after specified time.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param modification_time Lower bound option definition modification
|
|
|
|
/// time.
|
|
|
|
/// @return Collection of option definitions or empty collection if
|
|
|
|
/// no option definition found.
|
|
|
|
virtual OptionDefContainer
|
2018-10-04 17:48:22 +02:00
|
|
|
getModifiedOptionDefs4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const boost::posix_time::ptime& modification_time) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves global string parameter value.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the global parameter to be retrieved.
|
|
|
|
/// @return Value of the global string parameter.
|
|
|
|
virtual util::OptionalValue<std::string>
|
2018-10-04 17:48:22 +02:00
|
|
|
getGlobalStringParameter4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves global number parameter.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the parameter to be retrieved.
|
|
|
|
virtual util::OptionalValue<int64_t>
|
2018-10-04 17:48:22 +02:00
|
|
|
getGlobalNumberParameter4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name) const;
|
|
|
|
|
|
|
|
/// @brief Retrieves all global parameters as strings.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
virtual std::map<std::string, std::string>
|
2018-10-04 17:48:22 +02:00
|
|
|
getAllGlobalParameters4(const db::ServerSelector& server_selector) const;
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Creates or updates a subnet.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet Subnet to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateSubnet4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const Subnet4Ptr& subnet);
|
|
|
|
|
|
|
|
/// @brief Creates or updates a shared network.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param shared_network Shared network to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateSharedNetwork4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const SharedNetwork4Ptr& shared_network);
|
|
|
|
|
|
|
|
/// @brief Creates or updates an option definition.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param option_def Option definition to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateOptionDef4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const OptionDefinitionPtr& option_def);
|
|
|
|
|
|
|
|
/// @brief Creates or updates global option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param option Option to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateOption4(const db::ServerSelector& server_selector,
|
2018-10-02 11:09:19 +02:00
|
|
|
const OptionDescriptorPtr& option);
|
|
|
|
|
|
|
|
/// @brief Creates or updates shared network level option.
|
|
|
|
///
|
|
|
|
/// @param selector Server selector.
|
|
|
|
/// @param shared_network_name Name of a shared network to which option
|
|
|
|
/// belongs.
|
|
|
|
/// @param option Option to be added or updated.
|
|
|
|
virtual void
|
|
|
|
createUpdateOption4(const db::ServerSelector& selector,
|
|
|
|
const std::string& shared_network_name,
|
|
|
|
const OptionDescriptorPtr& option);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Creates or updates subnet level option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_id Identifier of a subnet to which option belongs.
|
|
|
|
/// @param option Option to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateOption4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const SubnetID& subnet_id,
|
2018-10-02 11:09:19 +02:00
|
|
|
const OptionDescriptorPtr& option);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Creates or updates pool level option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param pool_start_address Lower bound address of the pool to which
|
|
|
|
/// the option belongs.
|
|
|
|
/// @param pool_end_address Upper bound address of the pool to which the
|
|
|
|
/// option belongs.
|
|
|
|
/// @param option Option to be added or updated.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateOption4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const asiolink::IOAddress& pool_start_address,
|
|
|
|
const asiolink::IOAddress& pool_end_address,
|
2018-10-02 11:09:19 +02:00
|
|
|
const OptionDescriptorPtr& option);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Creates or updates global string parameter.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the global parameter.
|
|
|
|
/// @param value Value of the global parameter.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateGlobalParameter4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name,
|
|
|
|
const std::string& value);
|
|
|
|
|
|
|
|
/// @brief Creates or updates global number parameter.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the global parameter.
|
|
|
|
/// @param value Value of the global parameter.
|
|
|
|
virtual void
|
2018-10-04 17:48:22 +02:00
|
|
|
createUpdateGlobalParameter4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name,
|
|
|
|
const int64_t value);
|
2018-09-27 12:37:50 +02:00
|
|
|
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @brief Deletes subnet by prefix.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_prefix Prefix of the subnet to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted subnets.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteSubnet4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& subnet_prefix);
|
|
|
|
|
|
|
|
/// @brief Deletes subnet by identifier.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_id Identifier of the subnet to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted subnets.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteSubnet4(const db::ServerSelector& server_selector, const SubnetID& subnet_id);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Deletes all subnets.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted subnets.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteAllSubnets4(const db::ServerSelector& server_selector);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Deletes shared network by name.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the shared network to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted shared networks.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteSharedNetwork4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name);
|
|
|
|
|
|
|
|
/// @brief Deletes all shared networks.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted shared networks.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteAllSharedNetworks4(const db::ServerSelector& server_selector);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Deletes option definition.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param code Code of the option to be deleted.
|
|
|
|
/// @param space Option space of the option to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted option definitions.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteOptionDef4(const db::ServerSelector& server_selector, const uint16_t code,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& space);
|
|
|
|
|
|
|
|
/// @brief Deletes all option definitions.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted option definitions.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteAllOptionDefs4(const db::ServerSelector& server_selector);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Deletes global option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param code Code of the option to be deleted.
|
|
|
|
/// @param space Option space of the option to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted options.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteOption4(const db::ServerSelector& server_selector, const uint16_t code,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& space);
|
|
|
|
|
2018-10-02 11:09:19 +02:00
|
|
|
/// @brief Deletes shared network level option.
|
|
|
|
///
|
|
|
|
/// @param selector Server selector.
|
|
|
|
/// @param shared_network_name Name of the shared network which deleted
|
|
|
|
/// option belongs to
|
|
|
|
/// @param code Code of the deleted option.
|
|
|
|
/// @param space Option space of the deleted option.
|
|
|
|
virtual void
|
|
|
|
deleteOption4(const db::ServerSelector& selector,
|
|
|
|
const std::string& shared_network_name,
|
|
|
|
const uint16_t code,
|
|
|
|
const std::string& space);
|
|
|
|
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @brief Deletes subnet level option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param subnet_id Identifier of the subnet to which deleted option
|
|
|
|
/// belongs.
|
|
|
|
/// @param code Code of the deleted option.
|
|
|
|
/// @param space Option space of the deleted option.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted options.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteOption4(const db::ServerSelector& server_selector, const SubnetID& subnet_id,
|
2018-09-14 09:37:47 +02:00
|
|
|
const uint16_t code, const std::string& space);
|
|
|
|
|
|
|
|
/// @brief Deletes pool level option.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param pool_start_address Lower bound address of the pool to which
|
|
|
|
/// deleted option belongs.
|
|
|
|
/// @param pool_end_address Upper bound address of the pool to which the
|
|
|
|
/// deleted option belongs.
|
|
|
|
/// @param code Code of the deleted option.
|
|
|
|
/// @param space Option space of the deleted option.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted options.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteOption4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const asiolink::IOAddress& pool_start_address,
|
|
|
|
const asiolink::IOAddress& pool_end_address,
|
|
|
|
const uint16_t code,
|
|
|
|
const std::string& space);
|
|
|
|
|
|
|
|
/// @brief Deletes global parameter.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-09-14 09:37:47 +02:00
|
|
|
/// @param name Name of the global parameter to be deleted.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted global parameters.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteGlobalParameter4(const db::ServerSelector& server_selector,
|
2018-09-14 09:37:47 +02:00
|
|
|
const std::string& name);
|
|
|
|
|
|
|
|
/// @brief Deletes all global parameters.
|
|
|
|
///
|
2018-10-04 17:48:22 +02:00
|
|
|
/// @param server_selector Server selector.
|
2018-10-04 20:20:17 +02:00
|
|
|
/// @return Number of deleted global parameters.
|
|
|
|
virtual uint64_t
|
2018-10-04 17:48:22 +02:00
|
|
|
deleteAllGlobalParameters4(const db::ServerSelector& server_selector);
|
2018-09-14 09:37:47 +02:00
|
|
|
|
|
|
|
/// @brief Returns backend type in the textual format.
|
|
|
|
///
|
|
|
|
/// @return "mysql".
|
|
|
|
virtual std::string getType() const;
|
|
|
|
|
|
|
|
/// @brief Returns backend host.
|
|
|
|
///
|
|
|
|
/// This is used by the @c BaseConfigBackendPool to select backend
|
|
|
|
/// when @c BackendSelector is specified.
|
|
|
|
///
|
|
|
|
/// @return host on which the database is located.
|
|
|
|
virtual std::string getHost() const;
|
|
|
|
|
|
|
|
/// @brief Returns backend port number.
|
|
|
|
///
|
|
|
|
/// This is used by the @c BaseConfigBackendPool to select backend
|
|
|
|
/// when @c BackendSelector is specified.
|
|
|
|
///
|
|
|
|
/// @return Port number on which database service is available.
|
|
|
|
virtual uint16_t getPort() const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
/// @brief Pointer to the implementation of the @c MySqlConfigBackendDHCPv4
|
|
|
|
/// class.
|
|
|
|
boost::shared_ptr<MySqlConfigBackendDHCPv4Impl> impl_;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/// @brief Pointer to the @c MySqlConfigBackendDHCPv4 class.
|
|
|
|
typedef boost::shared_ptr<MySqlConfigBackendDHCPv4> MySqlConfigBackendDHCPv4Ptr;
|
|
|
|
|
|
|
|
} // end of namespace isc::cb
|
|
|
|
} // end of namespace isc
|
|
|
|
|
|
|
|
#endif // MYSQL_CONFIG_BACKEND_DHCP4_H
|