]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#92,!13] Moved MySqlConnection class to libkea-mysql library.
authorMarcin Siodelski <marcin@isc.org>
Wed, 29 Aug 2018 13:40:02 +0000 (15:40 +0200)
committerMarcin Siodelski <marcin@isc.org>
Mon, 3 Sep 2018 07:31:33 +0000 (03:31 -0400)
20 files changed:
configure.ac
src/bin/d2/Makefile.am
src/bin/d2/tests/Makefile.am
src/bin/dhcp4/Makefile.am
src/bin/dhcp6/Makefile.am
src/bin/dhcp6/tests/Makefile.am
src/lib/Makefile.am
src/lib/database/Makefile.am
src/lib/dhcpsrv/Makefile.am
src/lib/dhcpsrv/mysql_host_data_source.h
src/lib/dhcpsrv/mysql_lease_mgr.cc
src/lib/dhcpsrv/mysql_lease_mgr.h
src/lib/dhcpsrv/tests/Makefile.am
src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
src/lib/dhcpsrv/testutils/mysql_schema.cc
src/lib/mysql/Makefile.am [new file with mode: 0644]
src/lib/mysql/mysql_connection.cc [moved from src/lib/dhcpsrv/mysql_connection.cc with 99% similarity]
src/lib/mysql/mysql_connection.h [moved from src/lib/dhcpsrv/mysql_connection.h with 99% similarity]
src/lib/process/Makefile.am

index bb8dc7f0f202163f249296a15ebcc9b81a43315a..d56a0d07892a53e3be96691842d3a632a6cbd9e4 100644 (file)
@@ -1572,6 +1572,7 @@ AC_CONFIG_FILES([Makefile
                  src/lib/log/tests/logger_lock_test.sh
                  src/lib/log/tests/severity_test.sh
                  src/lib/log/tests/tempdir.h
+                 src/lib/mysql/Makefile
                  src/lib/process/Makefile
                  src/lib/process/tests/Makefile
                  src/lib/process/testutils/Makefile
index 9b11c32e5f46ca007bc5d8624a129c01e675263d..bc0cf7425857bedd86a42e7edc2bdca1a55a0580 100644 (file)
@@ -97,6 +97,12 @@ kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
+
+if HAVE_MYSQL
+kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
+kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
index e0084477bd66dc1b9b45a02f76326b5dc4ae285f..4a4841b87725d504eaa345c79d489025215dcd37 100644 (file)
@@ -85,6 +85,12 @@ d2_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
+
+if HAVE_MYSQL
+d2_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
+d2_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 d2_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
index 5486dfe500652e198ee66be9769e4dfc4a74da97..069e9f737cfa0ff8cf6dcc8e765f14789b34a631 100644 (file)
@@ -84,6 +84,11 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+
+if HAVE_MYSQL
+kea_dhcp4_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
index ff14c320d86f23e1d5e4c3621ddf830203fd8dd9..0e4654f7acdb4478ab0ad3d40715ca3d5de44a52 100644 (file)
@@ -84,6 +84,11 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+
+if HAVE_MYSQL
+kea_dhcp6_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
index 6d587d5dd4d301af6de26f26af4daa786923f645..8597b9463ad5bffa3f523edf4f4c4d5aa2d55681 100644 (file)
@@ -135,6 +135,11 @@ dhcp6_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+
+if HAVE_MYSQL
+dhcp6_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 dhcp6_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
index 50ad1ec787f5ad4c3314b884feb4c109a13953d4..9f6a23755d942393bdbdf9e8ab9ba7f4664b56c1 100644 (file)
@@ -1,4 +1,10 @@
 # The following build order must be maintained.
-SUBDIRS = exceptions util log cryptolink dns asiolink cc database testutils \
-               hooks dhcp config stats asiodns dhcp_ddns eval dhcpsrv cfgrpt \
-               process http
+SUBDIRS = exceptions util log cryptolink dns asiolink cc database
+
+if HAVE_MYSQL
+SUBDIRS += mysql
+endif
+
+SUBDIRS += testutils hooks dhcp config stats asiodns dhcp_ddns eval \
+       dhcpsrv cfgrpt \
+       process http
index 0dbb04fcfb26f63b33897b3669ca97230ab3bfe8..76a083e13ba880d076f6cb4bb3ca6e9cda42219a 100644 (file)
@@ -20,7 +20,7 @@ BUILT_SOURCES = db_messages.h db_messages.cc
 EXTRA_DIST = db_messages.mes
 
 # Get rid of generated message files on a clean
-CLEANFILES = *.gcno *.gcda http_messages.h http_messages.cc s-messages
+CLEANFILES = *.gcno *.gcda db_messages.h db_messages.cc s-messages
 
 lib_LTLIBRARIES = libkea-database.la
 libkea_database_la_SOURCES  = database_connection.cc database_connection.h
index b520518bead2f48424a1ecaa7da71e0bf1eca55b..52346131ddb78172da6577e5227fecea6cac73cc 100644 (file)
@@ -138,7 +138,6 @@ libkea_dhcpsrv_la_SOURCES += sql_common.h
 
 if HAVE_MYSQL
 libkea_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h
-libkea_dhcpsrv_la_SOURCES += mysql_connection.cc mysql_connection.h
 libkea_dhcpsrv_la_SOURCES += mysql_host_data_source.cc mysql_host_data_source.h
 endif
 
@@ -215,6 +214,11 @@ libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/cc/libkea-cc.la
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/dns/libkea-dns++.la
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+
+if HAVE_MYSQL
+libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/database/libkea-database.la
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/log/libkea-log.la
 libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/util/threads/libkea-threads.la
@@ -317,7 +321,6 @@ endif
 
 if HAVE_MYSQL
 libkea_dhcpsrv_include_HEADERS += \
-       mysql_connection.h \
        mysql_host_data_source.h \
        mysql_lease_mgr.h
 endif
index 719aa04fe02ba30c4aa6b5524bef8b5738626293..9bae27107fd36f05c18a82cc8d2e2486436f134f 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <database/db_exceptions.h>
 #include <dhcpsrv/base_host_data_source.h>
-#include <dhcpsrv/mysql_connection.h>
+#include <mysql/mysql_connection.h>
 
 #include <stdint.h>
 
index 2ba750c89ecd82bee6fa4fbf7a7700025293ef9b..d39458d9b779b8d6e60db7ffda7ec1c21fda3f3e 100644 (file)
@@ -11,7 +11,7 @@
 #include <dhcp/hwaddr.h>
 #include <dhcpsrv/dhcpsrv_log.h>
 #include <dhcpsrv/mysql_lease_mgr.h>
-#include <dhcpsrv/mysql_connection.h>
+#include <mysql/mysql_connection.h>
 
 #include <boost/array.hpp>
 #include <boost/static_assert.hpp>
index ba732f565246b468dbefcc65734240b7c4156b43..a11009c8749c89748e76d82732614e898a20b5f4 100644 (file)
@@ -10,7 +10,7 @@
 #include <dhcp/hwaddr.h>
 #include <dhcpsrv/dhcpsrv_exceptions.h>
 #include <dhcpsrv/lease_mgr.h>
-#include <dhcpsrv/mysql_connection.h>
+#include <mysql/mysql_connection.h>
 
 #include <boost/scoped_ptr.hpp>
 #include <boost/utility.hpp>
@@ -803,7 +803,7 @@ private:
     boost::scoped_ptr<MySqlLease6Exchange> exchange6_; ///< Exchange object
 
     /// @brief MySQL connection
-    MySqlConnection conn_;
+    db::MySqlConnection conn_;
 };
 
 }  // namespace dhcp
index 7326be8ce58d7fca509bb3082d0dbd181b10789a..6f4347bada9c075c389e17f3706afcdaf8798369 100644 (file)
@@ -170,6 +170,11 @@ libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+
+if HAVE_MYSQL
+libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
index 356b776216f31049030cb370b79fbc7ac1e59508..898d32add3da2389ebc6fdcc464523d20e6f5650 100644 (file)
 #include <dhcpsrv/tests/test_utils.h>
 #include <exceptions/exceptions.h>
 #include <dhcpsrv/host.h>
-#include <dhcpsrv/mysql_connection.h>
 #include <dhcpsrv/mysql_host_data_source.h>
 #include <dhcpsrv/testutils/generic_host_data_source_unittest.h>
 #include <dhcpsrv/testutils/mysql_schema.h>
 #include <dhcpsrv/testutils/host_data_source_utils.h>
 #include <dhcpsrv/host_mgr.h>
 #include <dhcpsrv/host_data_source_factory.h>
+#include <mysql/mysql_connection.h>
 
 #include <gtest/gtest.h>
 
index c5f1c4c361c4a00cfa777f1b2d9f2c008a08eb07..e2ce91b2a6e6740246ff7f2669924c3632c77fcf 100644 (file)
@@ -8,12 +8,12 @@
 
 #include <asiolink/io_address.h>
 #include <dhcpsrv/lease_mgr_factory.h>
-#include <dhcpsrv/mysql_connection.h>
 #include <dhcpsrv/mysql_lease_mgr.h>
 #include <dhcpsrv/tests/test_utils.h>
 #include <dhcpsrv/tests/generic_lease_mgr_unittest.h>
 #include <dhcpsrv/testutils/mysql_schema.h>
 #include <exceptions/exceptions.h>
+#include <mysql/mysql_connection.h>
 
 #include <gtest/gtest.h>
 
index 6b1225bfb7746f3bad3fde68b528602fb58eec51..c079218135e266f21d7956f6393a4267bb92ec2c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2016 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-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
@@ -7,8 +7,8 @@
 #include <config.h>
 #include <string>
 #include <mysql.h>
-#include <dhcpsrv/mysql_connection.h>
 #include <dhcpsrv/testutils/mysql_schema.h>
+#include <mysql/mysql_connection.h>
 
 #include <fstream>
 #include <iostream>
diff --git a/src/lib/mysql/Makefile.am b/src/lib/mysql/Makefile.am
new file mode 100644 (file)
index 0000000..d1af246
--- /dev/null
@@ -0,0 +1,29 @@
+SUBDIRS = .
+
+AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib
+AM_CPPFLAGS += $(BOOST_INCLUDES) $(MYSQL_CPPFLAGS)
+
+AM_CXXFLAGS = $(KEA_CXXFLAGS)
+
+CLEANFILES = *.gcno *.gcda
+
+lib_LTLIBRARIES = libkea-mysql.la
+libkea_mysql_la_SOURCES  = mysql_connection.cc mysql_connection.h
+
+libkea_mysql_la_LIBADD  = $(top_builddir)/src/lib/database/libkea-database.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la
+libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
+libkea_mysql_la_LIBADD += $(LOG4CPLUS_LIBS) $(BOOST_LIBS)
+
+libkea_mysql_la_LDFLAGS = -no-undefined -version-info 0:0:0
+
+libkea_mysql_la_LDFLAGS += $(MYSQL_LIBS)
+
+# Specify the headers for copying into the installation directory tree.
+libkea_mysql_includedir = $(pkgincludedir)/database
+libkea_mysql_include_HEADERS = \
+       mysql_connection.h
similarity index 99%
rename from src/lib/dhcpsrv/mysql_connection.cc
rename to src/lib/mysql/mysql_connection.cc
index 6f9785ed3e49f408c9f25420a5d65a85f2876c6e..350506563f2e7fd07e44690a081d5dcd7a3b8494 100644 (file)
@@ -8,8 +8,8 @@
 #include <config.h>
 
 #include <database/db_log.h>
-#include <dhcpsrv/mysql_connection.h>
 #include <exceptions/exceptions.h>
+#include <mysql/mysql_connection.h>
 
 #include <boost/lexical_cast.hpp>
 
 #include <limits>
 
 using namespace isc;
-using namespace isc::db;
-using namespace isc::dhcp;
 using namespace std;
 
 namespace isc {
-namespace dhcp {
+namespace db {
 
 const my_bool MLM_FALSE = 0;
 const my_bool MLM_TRUE = 1;
@@ -400,5 +398,5 @@ MySqlConnection::rollback() {
 }
 
 
-} // namespace isc::dhcp
+} // namespace isc::db
 } // namespace isc
similarity index 99%
rename from src/lib/dhcpsrv/mysql_connection.h
rename to src/lib/mysql/mysql_connection.h
index ca29521386cd237a3980752424ea9019ed217a8a..e77a9d1e84b39c91016c133b9a68eb81f9e453c6 100644 (file)
@@ -18,7 +18,7 @@
 #include <stdint.h>
 
 namespace isc {
-namespace dhcp {
+namespace db {
 
 /// @name MySQL constants.
 ///
@@ -436,7 +436,7 @@ public:
     MySqlHolder mysql_;
 };
 
-}; // end of isc::dhcp namespace
+}; // end of isc::db namespace
 }; // end of isc namespace
 
 #endif // MYSQL_CONNECTION_H
index 74edeaaf70b7637305c469be9b44055b25340d67..0a0efda63206c3b6e08ca5886f8123ae58b5147d 100644 (file)
@@ -55,6 +55,12 @@ libkea_process_la_LIBADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
+
+if HAVE_MYSQL
+libkea_process_la_LIBADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la
+endif
+
+libkea_process_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 libkea_process_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la