From: Marcin Siodelski Date: Fri, 7 Jun 2019 13:00:00 +0000 (+0200) Subject: [#641,!352] Added stub implementation of the servers management in MySQL. X-Git-Tag: Kea-1.6.0-beta2~316 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7870284b2aed8366186e1e3267a663d2a738f190;p=thirdparty%2Fkea.git [#641,!352] Added stub implementation of the servers management in MySQL. --- diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc index f7f69b0d77..166bdd92de 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc @@ -2490,6 +2490,18 @@ MySqlConfigBackendDHCPv4::getRecentAuditEntries(const db::ServerSelector& server return (audit_entries); } +ServerCollection +MySqlConfigBackendDHCPv4::getAllServers4() const { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::getAllServers4" + " is not implemented"); +} + +ServerPtr +MySqlConfigBackendDHCPv4::getServer4(const data::ServerTag& /* server_tag */) const { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::getServer4" + " is not implemented"); +} + void MySqlConfigBackendDHCPv4::createUpdateSubnet4(const ServerSelector& server_selector, const Subnet4Ptr& subnet) { @@ -2558,6 +2570,12 @@ MySqlConfigBackendDHCPv4::createUpdateGlobalParameter4(const ServerSelector& ser impl_->createUpdateGlobalParameter4(server_selector, value); } +void +MySqlConfigBackendDHCPv4::createUpdateServer4(const ServerPtr& /* server */) { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::createUpdateServer4" + " is not implemented"); +} + uint64_t MySqlConfigBackendDHCPv4::deleteSubnet4(const ServerSelector& server_selector, const std::string& subnet_prefix) { @@ -2733,6 +2751,18 @@ MySqlConfigBackendDHCPv4::deleteAllGlobalParameters4(const ServerSelector& serve return (result); } +uint64_t +MySqlConfigBackendDHCPv4::deleteServer4(const std::string& /* server_tag */) { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::deleteServer4" + " is not implemented"); +} + +uint64_t +MySqlConfigBackendDHCPv4::deleteAllServers4() { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::deleteAllServers4" + " is not implemented"); +} + std::string MySqlConfigBackendDHCPv4::getType() const { LOG_DEBUG(mysql_cb_logger, DBGLVL_TRACE_BASIC, MYSQL_CB_GET_TYPE4); diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.h b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.h index 821d2be5ad..64f5e52efe 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.h +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.h @@ -194,6 +194,20 @@ public: getRecentAuditEntries(const db::ServerSelector& server_selector, const boost::posix_time::ptime& modification_time) const; + /// @brief Retrieves all servers. + /// + /// @return Collection of servers from the backend. + virtual db::ServerCollection + getAllServers4() const; + + /// @brief Retrieves a server. + /// + /// @param server_tag Tag of the server to be retrieved. + /// @return Pointer to the server instance or null pointer if no server + /// with the particular tag was found. + virtual db::ServerPtr + getServer4(const data::ServerTag& server_tag) const; + /// @brief Creates or updates a subnet. /// /// @param server_selector Server selector. @@ -278,6 +292,12 @@ public: createUpdateGlobalParameter4(const db::ServerSelector& server_selector, const data::StampedValuePtr& value); + /// @brief Creates or updates a server. + /// + /// @param server Instance of the server to be stored. + virtual void + createUpdateServer4(const db::ServerPtr& server); + /// @brief Deletes subnet by prefix. /// /// @param server_selector Server selector. @@ -425,6 +445,20 @@ public: virtual uint64_t deleteAllGlobalParameters4(const db::ServerSelector& server_selector); + /// @brief Deletes a server from the backend. + /// + /// @param server_tag Tag of the server to be deleted. + /// @return Number of deleted servers. + virtual uint64_t + deleteServer4(const std::string& server_tag); + + /// @brief Deletes all servers from the backend except the logical + /// server 'all'. + /// + /// @return Number of deleted servers. + virtual uint64_t + deleteAllServers4(); + /// @brief Returns backend type in the textual format. /// /// @return "mysql". diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc index 789ae7e06f..b0af981c84 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc @@ -2827,6 +2827,18 @@ MySqlConfigBackendDHCPv6::getRecentAuditEntries(const db::ServerSelector& server return (audit_entries); } +ServerCollection +MySqlConfigBackendDHCPv6::getAllServers6() const { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv6::getAllServers6" + " is not implemented"); +} + +ServerPtr +MySqlConfigBackendDHCPv6::getServer6(const data::ServerTag& /* server_tag */) const { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv6::getServer6" + " is not implemented"); +} + void MySqlConfigBackendDHCPv6::createUpdateSubnet6(const ServerSelector& server_selector, const Subnet6Ptr& subnet) { @@ -2906,6 +2918,12 @@ MySqlConfigBackendDHCPv6::createUpdateGlobalParameter6(const ServerSelector& ser impl_->createUpdateGlobalParameter6(server_selector, value); } +void +MySqlConfigBackendDHCPv6::createUpdateServer6(const ServerPtr& /* server */) { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv6::createUpdateServer6" + " is not implemented"); +} + uint64_t MySqlConfigBackendDHCPv6::deleteSubnet6(const ServerSelector& server_selector, const std::string& subnet_prefix) { @@ -3096,6 +3114,18 @@ MySqlConfigBackendDHCPv6::deleteAllGlobalParameters6(const ServerSelector& serve return (result); } +uint64_t +MySqlConfigBackendDHCPv6::deleteServer6(const std::string& /* server_tag */) { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv4::deleteServer6" + " is not implemented"); +} + +uint64_t +MySqlConfigBackendDHCPv6::deleteAllServers6() { + isc_throw(NotImplemented, "MySqlConfigBackendDHCPv6::deleteAllServers6" + " is not implemented"); +} + std::string MySqlConfigBackendDHCPv6::getType() const { LOG_DEBUG(mysql_cb_logger, DBGLVL_TRACE_BASIC, MYSQL_CB_GET_TYPE6); diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.h b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.h index 6a922a4d53..e395d6e122 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.h +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.h @@ -194,6 +194,20 @@ public: getRecentAuditEntries(const db::ServerSelector& server_selector, const boost::posix_time::ptime& modification_time) const; + /// @brief Retrieves all servers. + /// + /// @return Collection of servers from the backend. + virtual db::ServerCollection + getAllServers6() const; + + /// @brief Retrieves a server. + /// + /// @param server_tag Tag of the server to be retrieved. + /// @return Pointer to the server instance or null pointer if no server + /// with the particular tag was found. + virtual db::ServerPtr + getServer6(const data::ServerTag& server_tag) const; + /// @brief Creates or updates a subnet. /// /// @param server_selector Server selector. @@ -293,6 +307,12 @@ public: createUpdateGlobalParameter6(const db::ServerSelector& server_selector, const data::StampedValuePtr& value); + /// @brief Creates or updates a server. + /// + /// @param server Instance of the server to be stored. + virtual void + createUpdateServer6(const db::ServerPtr& server); + /// @brief Deletes subnet by prefix. /// /// @param server_selector Server selector. @@ -458,6 +478,20 @@ public: virtual uint64_t deleteAllGlobalParameters6(const db::ServerSelector& server_selector); + /// @brief Deletes a server from the backend. + /// + /// @param server_tag Tag of the server to be deleted. + /// @return Number of deleted servers. + virtual uint64_t + deleteServer6(const std::string& server_tag); + + /// @brief Deletes all servers from the backend except the logical + /// server 'all'. + /// + /// @return Number of deleted servers. + virtual uint64_t + deleteAllServers6(); + /// @brief Returns backend type in the textual format. /// /// @return "mysql". diff --git a/src/lib/dhcpsrv/config_backend_dhcp4.h b/src/lib/dhcpsrv/config_backend_dhcp4.h index 5a38867f2e..6f575f8460 100644 --- a/src/lib/dhcpsrv/config_backend_dhcp4.h +++ b/src/lib/dhcpsrv/config_backend_dhcp4.h @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include #include #include