Commit 502a4daa authored by Marcin Siodelski's avatar Marcin Siodelski

[#93,!35] Config Backend API returns number of deleted entries.

parent 591f8511
......@@ -407,26 +407,27 @@ public:
///
/// @param server_selector Server selector.
/// @param subnet_id Identifier of the subnet to be deleted.
void deleteSubnet4(const ServerSelector& /* server_selector */,
/// @return Number of deleted subnets.
uint64_t deleteSubnet4(const ServerSelector& /* server_selector */,
const SubnetID& subnet_id) {
MySqlBindingCollection in_bindings;
in_bindings.push_back(MySqlBinding::createInteger<uint32_t>(subnet_id));
// Run DELETE.
conn_.updateDeleteQuery(DELETE_SUBNET4_ID, in_bindings);
return (conn_.updateDeleteQuery(DELETE_SUBNET4_ID, in_bindings));
}
/// @brief Deletes pools belonging to a subnet from the database.
///
/// @param subnet Pointer to the subnet for which pools should be
/// deleted.
void deletePools4(const Subnet4Ptr& subnet) {
uint64_t deletePools4(const Subnet4Ptr& subnet) {
MySqlBindingCollection in_bindings = {
MySqlBinding::createInteger<uint32_t>(subnet->getID())
};
// Run DELETE.
conn_.updateDeleteQuery(DELETE_POOLS4_SUBNET_ID, in_bindings);
return (conn_.updateDeleteQuery(DELETE_POOLS4_SUBNET_ID, in_bindings));
}
/// @brief Sends query to the database to retrieve multiple shared
......@@ -728,8 +729,9 @@ public:
///
/// @param server_selector Server selector.
/// @param code Option code.
/// @param name Option name.
void deleteOptionDef4(const ServerSelector& /* server_selector */,
/// @param name Option name.
/// @return Number of deleted option definitions.
uint64_t deleteOptionDef4(const ServerSelector& /* server_selector */,
const uint16_t code,
const std::string& space) {
MySqlBindingCollection in_bindings = {
......@@ -738,7 +740,7 @@ public:
};
// Run DELETE.
conn_.updateDeleteQuery(DELETE_OPTION_DEF4_CODE_NAME, in_bindings);
return (conn_.updateDeleteQuery(DELETE_OPTION_DEF4_CODE_NAME, in_bindings));
}
};
......@@ -1311,76 +1313,81 @@ MySqlConfigBackendDHCPv4::createUpdateGlobalParameter4(const ServerSelector& /*
const int64_t /* value */) {
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteSubnet4(const ServerSelector& /* server_selector */,
const std::string& subnet_prefix) {
impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX,
subnet_prefix);
return(impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_PREFIX,
subnet_prefix));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteSubnet4(const ServerSelector& server_selector,
const SubnetID& subnet_id) {
impl_->deleteSubnet4(server_selector, subnet_id);
return (impl_->deleteSubnet4(server_selector, subnet_id));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteAllSubnets4(const ServerSelector& /* server_selector */) {
impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4);
return (impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_SUBNETS4));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteSharedNetwork4(const ServerSelector& /* server_selector */,
const std::string& name) {
impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME,
name);
return (impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_NAME,
name));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteAllSharedNetworks4(const ServerSelector& /* server_selector */) {
impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4);
return (impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_SHARED_NETWORKS4));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteOptionDef4(const ServerSelector& server_selector,
const uint16_t code,
const std::string& space) {
impl_->deleteOptionDef4(server_selector, code, space);
return (impl_->deleteOptionDef4(server_selector, code, space));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteAllOptionDefs4(const ServerSelector& /* server_selector */) {
impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_OPTION_DEFS4);
return (impl_->deleteFromTable(MySqlConfigBackendDHCPv4Impl::DELETE_ALL_OPTION_DEFS4));
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector */,
const uint16_t /* code */,
const std::string& /* space */) {
return (0);
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector */,
const SubnetID& /* subnet_id */,
const uint16_t /* code */,
const std::string& /* space */) {
return (0);
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteOption4(const ServerSelector& /* server_selector */,
const asiolink::IOAddress& /* pool_start_address */,
const asiolink::IOAddress& /* pool_end_address */,
const uint16_t /* code */,
const std::string& /* space */) {
return (0);
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteGlobalParameter4(const ServerSelector& /* server_selector */,
const std::string& /* name */) {
return (0);
}
void
uint64_t
MySqlConfigBackendDHCPv4::deleteAllGlobalParameters4(const ServerSelector& /* server_selector */) {
return (0);
}
std::string
......
......@@ -219,7 +219,8 @@ public:
///
/// @param server_selector Server selector.
/// @param subnet_prefix Prefix of the subnet to be deleted.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteSubnet4(const db::ServerSelector& server_selector,
const std::string& subnet_prefix);
......@@ -227,27 +228,31 @@ public:
///
/// @param server_selector Server selector.
/// @param subnet_id Identifier of the subnet to be deleted.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteSubnet4(const db::ServerSelector& server_selector, const SubnetID& subnet_id);
/// @brief Deletes all subnets.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteAllSubnets4(const db::ServerSelector& server_selector);
/// @brief Deletes shared network by name.
///
/// @param server_selector Server selector.
/// @param name Name of the shared network to be deleted.
virtual void
/// @return Number of deleted shared networks.
virtual uint64_t
deleteSharedNetwork4(const db::ServerSelector& server_selector,
const std::string& name);
/// @brief Deletes all shared networks.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted shared networks.
virtual uint64_t
deleteAllSharedNetworks4(const db::ServerSelector& server_selector);
/// @brief Deletes option definition.
......@@ -255,14 +260,16 @@ public:
/// @param server_selector Server selector.
/// @param code Code of the option to be deleted.
/// @param space Option space of the option to be deleted.
virtual void
/// @return Number of deleted option definitions.
virtual uint64_t
deleteOptionDef4(const db::ServerSelector& server_selector, const uint16_t code,
const std::string& space);
/// @brief Deletes all option definitions.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted option definitions.
virtual uint64_t
deleteAllOptionDefs4(const db::ServerSelector& server_selector);
/// @brief Deletes global option.
......@@ -270,7 +277,8 @@ public:
/// @param server_selector Server selector.
/// @param code Code of the option to be deleted.
/// @param space Option space of the option to be deleted.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector, const uint16_t code,
const std::string& space);
......@@ -281,7 +289,8 @@ public:
/// belongs.
/// @param code Code of the deleted option.
/// @param space Option space of the deleted option.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector, const SubnetID& subnet_id,
const uint16_t code, const std::string& space);
......@@ -294,7 +303,8 @@ public:
/// deleted option belongs.
/// @param code Code of the deleted option.
/// @param space Option space of the deleted option.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector,
const asiolink::IOAddress& pool_start_address,
const asiolink::IOAddress& pool_end_address,
......@@ -305,14 +315,16 @@ public:
///
/// @param server_selector Server selector.
/// @param name Name of the global parameter to be deleted.
virtual void
/// @return Number of deleted global parameters.
virtual uint64_t
deleteGlobalParameter4(const db::ServerSelector& server_selector,
const std::string& name);
/// @brief Deletes all global parameters.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted global parameters.
virtual uint64_t
deleteAllGlobalParameters4(const db::ServerSelector& server_selector);
/// @brief Returns backend type in the textual format.
......
......@@ -59,18 +59,18 @@ MySqlConfigBackendImpl::~MySqlConfigBackendImpl() {
}
}
void
uint64_t
MySqlConfigBackendImpl::deleteFromTable(const int index) {
MySqlBindingCollection in_bindings;
conn_.updateDeleteQuery(index, in_bindings);
return (conn_.updateDeleteQuery(index, in_bindings));
}
void
uint64_t
MySqlConfigBackendImpl::deleteFromTable(const int index, const std::string& key) {
MySqlBindingCollection in_bindings = {
MySqlBinding::createString(key)
};
conn_.updateDeleteQuery(index, in_bindings);
return (conn_.updateDeleteQuery(index, in_bindings));
}
void
......
......@@ -36,15 +36,17 @@ public:
/// @brief Sends query to delete rows from a table.
///
/// @param index Index of the statement to be executed.
void deleteFromTable(const int index);
/// @return Number of deleted rows.
uint64_t deleteFromTable(const int index);
/// @brief Sends query to delete rows from a table.
///
/// @param index Index of the statement to be executed.
/// @param key String value to be used as input binding to the delete
/// statement
void deleteFromTable(const int index,
const std::string& key);
/// @return number of deleted rows.
uint64_t deleteFromTable(const int index,
const std::string& key);
/// @brief Sends query to the database to retrieve multiple option
/// definitions.
......
......@@ -389,7 +389,7 @@ protected:
/// void createUpdateSubnet6(const Subnet6Ptr& subnet,
/// const BackendSelector& backend_selector,
/// const ServerSelector& server_selector) {
/// createUpdateDeleteProperty<const Subnet6Ptr&>
/// createUpdateDeleteProperty<void, const Subnet6Ptr&>
/// (&ConfigBackendDHCPv6::createUpdateSubnet6, backend_selector,
/// server_selector, subnet, selector);
/// }
......@@ -406,6 +406,7 @@ protected:
/// backend is selected, an exception is thrown. If no backend is selected
/// an exception is thrown either.
///
/// @tparam ReturnValue Returned value, typically void or uint64_t.
/// @tparam FnPtrArgs Parameter pack holding argument types of the backend
/// method to be invoked.
/// @tparam Args Parameter pack holding types of the arguments provided
......@@ -421,12 +422,13 @@ protected:
/// was found.
/// @throw db::AmbiguousDatabase if multiple databases matching the selector
/// were found.
template<typename... FnPtrArgs, typename... Args>
void createUpdateDeleteProperty(void (ConfigBackendType::*MethodPointer)
(const db::ServerSelector&, FnPtrArgs...),
const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
Args... input) {
/// @return Number of affected properties, if the value is non void.
template<typename ReturnValue, typename... FnPtrArgs, typename... Args>
ReturnValue createUpdateDeleteProperty(ReturnValue (ConfigBackendType::*MethodPointer)
(const db::ServerSelector&, FnPtrArgs...),
const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
Args... input) {
auto backends = selectBackends(backend_selector);
if (backends.empty()) {
isc_throw(db::NoSuchDatabase, "no database found for selector: "
......@@ -437,7 +439,7 @@ protected:
"selector: " << backend_selector.toText());
}
(*(*(backends.begin())).*MethodPointer)(server_selector, input...);
return ((*(*(backends.begin())).*MethodPointer)(server_selector, input...));
}
/// @brief Selects existing backends matching the selector.
......
......@@ -314,7 +314,7 @@ public:
const BackendSelector& backend_selector,
const ServerSelector& server_selector =
ServerSelector::ALL()) {
createUpdateDeleteProperty<const std::pair<std::string, int>&>
createUpdateDeleteProperty<void, const std::pair<std::string, int>&>
(&TestConfigBackend::createProperty, backend_selector, server_selector,
new_property);
}
......
......@@ -220,7 +220,8 @@ public:
///
/// @param server_selector Server selector.
/// @param subnet_prefix Prefix of the subnet to be deleted.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteSubnet4(const db::ServerSelector& server_selector,
const std::string& subnet_prefix) = 0;
......@@ -228,27 +229,31 @@ public:
///
/// @param server_selector Server selector.
/// @param subnet_id Identifier of the subnet to be deleted.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteSubnet4(const db::ServerSelector& server_selector, const SubnetID& subnet_id) = 0;
/// @brief Deletes all subnets.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted subnets.
virtual uint64_t
deleteAllSubnets4(const db::ServerSelector& server_selector) = 0;
/// @brief Deletes shared network by name.
///
/// @param server_selector Server selector.
/// @param name Name of the shared network to be deleted.
virtual void
/// @return Number of deleted shared networks..
virtual uint64_t
deleteSharedNetwork4(const db::ServerSelector& server_selector,
const std::string& name) = 0;
/// @brief Deletes all shared networks.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted shared networks.
virtual uint64_t
deleteAllSharedNetworks4(const db::ServerSelector& server_selector) = 0;
/// @brief Deletes option definition.
......@@ -256,14 +261,16 @@ public:
/// @param server_selector Server selector.
/// @param code Code of the option to be deleted.
/// @param space Option space of the option to be deleted.
virtual void
/// @return Number of deleted option definitions.
virtual uint64_t
deleteOptionDef4(const db::ServerSelector& server_selector, const uint16_t code,
const std::string& space) = 0;
/// @brief Deletes all option definitions.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted option definitions.
virtual uint64_t
deleteAllOptionDefs4(const db::ServerSelector& server_selector) = 0;
/// @brief Deletes global option.
......@@ -271,7 +278,8 @@ public:
/// @param server_selector Server selector.
/// @param code Code of the option to be deleted.
/// @param space Option space of the option to be deleted.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector, const uint16_t code,
const std::string& space) = 0;
......@@ -282,7 +290,8 @@ public:
/// belongs.
/// @param code Code of the deleted option.
/// @param space Option space of the deleted option.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector, const SubnetID& subnet_id,
const uint16_t code, const std::string& space) = 0;
......@@ -295,7 +304,8 @@ public:
/// deleted option belongs.
/// @param code Code of the deleted option.
/// @param space Option space of the deleted option.
virtual void
/// @return Number of deleted options.
virtual uint64_t
deleteOption4(const db::ServerSelector& server_selector,
const asiolink::IOAddress& pool_start_address,
const asiolink::IOAddress& pool_end_address,
......@@ -306,14 +316,16 @@ public:
///
/// @param server_selector Server selector.
/// @param name Name of the global parameter to be deleted.
virtual void
/// @return Number of deleted global parameters.
virtual uint64_t
deleteGlobalParameter4(const db::ServerSelector& server_selector,
const std::string& name) = 0;
/// @brief Deletes all global parameters.
///
/// @param server_selector Server selector.
virtual void
/// @return Number of deleted global parameters.
virtual uint64_t
deleteAllGlobalParameters4(const db::ServerSelector& server_selector) = 0;
};
......
......@@ -159,7 +159,7 @@ void
ConfigBackendPoolDHCPv4::createUpdateSubnet4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const Subnet4Ptr& subnet) {
createUpdateDeleteProperty<const Subnet4Ptr&>
createUpdateDeleteProperty<void, const Subnet4Ptr&>
(&ConfigBackendDHCPv4::createUpdateSubnet4, backend_selector,
server_selector, subnet);
}
......@@ -168,7 +168,7 @@ void
ConfigBackendPoolDHCPv4::createUpdateSharedNetwork4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const SharedNetwork4Ptr& shared_network) {
createUpdateDeleteProperty<const SharedNetwork4Ptr&>
createUpdateDeleteProperty<void, const SharedNetwork4Ptr&>
(&ConfigBackendDHCPv4::createUpdateSharedNetwork4, backend_selector,
server_selector, shared_network);
}
......@@ -177,7 +177,7 @@ void
ConfigBackendPoolDHCPv4::createUpdateOptionDef4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const OptionDefinitionPtr& option_def) {
createUpdateDeleteProperty<const OptionDefinitionPtr&>
createUpdateDeleteProperty<void, const OptionDefinitionPtr&>
(&ConfigBackendDHCPv4::createUpdateOptionDef4, backend_selector,
server_selector, option_def);
}
......@@ -186,7 +186,7 @@ void
ConfigBackendPoolDHCPv4::createUpdateOption4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const OptionPtr& option) {
createUpdateDeleteProperty<const OptionPtr&>
createUpdateDeleteProperty<void, const OptionPtr&>
(&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
server_selector, option);
}
......@@ -196,7 +196,7 @@ ConfigBackendPoolDHCPv4::createUpdateOption4(const db::BackendSelector& backend_
const db::ServerSelector& server_selector,
const SubnetID& subnet_id,
const OptionPtr& option) {
createUpdateDeleteProperty<const SubnetID&, const OptionPtr&>
createUpdateDeleteProperty<void, const SubnetID&, const OptionPtr&>
(&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
server_selector, subnet_id, option);
}
......@@ -207,7 +207,7 @@ ConfigBackendPoolDHCPv4::createUpdateOption4(const db::BackendSelector& backend_
const IOAddress& pool_start_address,
const IOAddress& pool_end_address,
const OptionPtr& option) {
createUpdateDeleteProperty<const IOAddress&, const IOAddress&, const OptionPtr&>
createUpdateDeleteProperty<void, const IOAddress&, const IOAddress&, const OptionPtr&>
(&ConfigBackendDHCPv4::createUpdateOption4, backend_selector,
server_selector, pool_start_address, pool_end_address, option);
}
......@@ -217,7 +217,7 @@ ConfigBackendPoolDHCPv4::createUpdateGlobalParameter4(const db::BackendSelector&
const db::ServerSelector& server_selector,
const std::string& name,
const std::string& value) {
createUpdateDeleteProperty<const std::string&, const std::string&>
createUpdateDeleteProperty<void, const std::string&, const std::string&>
(&ConfigBackendDHCPv4::createUpdateGlobalParameter4, backend_selector,
server_selector, name, value);
}
......@@ -227,118 +227,118 @@ ConfigBackendPoolDHCPv4::createUpdateGlobalParameter4(const db::BackendSelector&
const db::ServerSelector& server_selector,
const std::string& name,
const int64_t value) {
createUpdateDeleteProperty<const std::string&, int64_t>
createUpdateDeleteProperty<void, const std::string&, int64_t>
(&ConfigBackendDHCPv4::createUpdateGlobalParameter4, backend_selector,
server_selector, name, value);
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteSubnet4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const std::string& subnet_prefix) {
createUpdateDeleteProperty<const std::string&>
(&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
subnet_prefix);
return (createUpdateDeleteProperty<uint64_t, const std::string&>
(&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
subnet_prefix));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteSubnet4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const SubnetID& subnet_id) {
createUpdateDeleteProperty<const SubnetID&>
(&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
subnet_id);
return (createUpdateDeleteProperty<uint64_t, const SubnetID&>
(&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
subnet_id));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteAllSubnets4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector) {
createUpdateDeleteProperty<>
(&ConfigBackendDHCPv4::deleteAllSubnets4, backend_selector, server_selector);
return (createUpdateDeleteProperty<uint64_t>
(&ConfigBackendDHCPv4::deleteAllSubnets4, backend_selector, server_selector));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteSharedNetwork4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const std::string& name) {
createUpdateDeleteProperty<const std::string&>
(&ConfigBackendDHCPv4::deleteSharedNetwork4, backend_selector,
server_selector, name);
return (createUpdateDeleteProperty<uint64_t, const std::string&>
(&ConfigBackendDHCPv4::deleteSharedNetwork4, backend_selector,
server_selector, name));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteAllSharedNetworks4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector) {
createUpdateDeleteProperty<>
(&ConfigBackendDHCPv4::deleteAllSharedNetworks4, backend_selector, server_selector);
return (createUpdateDeleteProperty<uint64_t>
(&ConfigBackendDHCPv4::deleteAllSharedNetworks4, backend_selector, server_selector));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteOptionDef4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const uint16_t code,
const std::string& space) {
createUpdateDeleteProperty<uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOptionDef4, backend_selector,
server_selector, code, space);
return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOptionDef4, backend_selector,
server_selector, code, space));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteAllOptionDefs4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector) {
createUpdateDeleteProperty<>
(&ConfigBackendDHCPv4::deleteAllOptionDefs4, backend_selector, server_selector);
return (createUpdateDeleteProperty<uint64_t>
(&ConfigBackendDHCPv4::deleteAllOptionDefs4, backend_selector, server_selector));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteOption4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const uint16_t code,
const std::string& space) {
createUpdateDeleteProperty<uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
code, space);
return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
code, space));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteOption4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,
const SubnetID& subnet_id,
const uint16_t code,
const std::string& space) {
createUpdateDeleteProperty<const SubnetID&, uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
subnet_id, code, space);
return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t, const std::string&>
(&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
subnet_id, code, space));
}
void
uint64_t
ConfigBackendPoolDHCPv4::deleteOption4(const db::BackendSelector& backend_selector,
const db::ServerSelector& server_selector,