]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#641,!352] Added stub implementation of the servers management in MySQL.
authorMarcin Siodelski <marcin@isc.org>
Fri, 7 Jun 2019 13:00:00 +0000 (15:00 +0200)
committerMarcin Siodelski <marcin@isc.org>
Mon, 10 Jun 2019 12:39:17 +0000 (08:39 -0400)
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.h
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.h
src/lib/dhcpsrv/config_backend_dhcp4.h

index f7f69b0d772ad978ed055cc7d0b3a352ece6712c..166bdd92de5b962dbb4a42103b22fc69d98bf6fe 100644 (file)
@@ -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);
index 821d2be5ada9b7f7486dc47c4d54b3d2aadd70e3..64f5e52efecb1ceb3133147f05a674781999f19b 100644 (file)
@@ -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".
index 789ae7e06fd6c0d7abec1c409f29883e74c8b122..b0af981c84798177f99ab2628ba0c7fd58aa9b2a 100644 (file)
@@ -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);
index 6a922a4d5375f3192b8f3c1e00327495f3c70778..e395d6e122371c040c74248d09e76f088bc635c9 100644 (file)
@@ -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".
index 5a38867f2e1bc9e05acd4f0b4ff2f2e97bebb40d..6f575f8460bb14bbd4d3b0390227e83a0e01bc3b 100644 (file)
@@ -10,6 +10,8 @@
 #include <cc/stamped_value.h>
 #include <config_backend/base_config_backend.h>
 #include <database/audit_entry.h>
+#include <database/server.h>
+#include <database/server_collection.h>
 #include <database/server_selector.h>
 #include <dhcp/option.h>
 #include <dhcp/option_definition.h>