#include <d2/d2_log.h>
#include <d2/d2_cfg_mgr.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <exceptions/exceptions.h>
#include <asiolink/io_error.h>
#include <cc/data.h>
#include <d2/d2_asio.h>
#include <d2/d_cfg_mgr.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <dns/tsig.h>
#include <exceptions/exceptions.h>
#include <d2/d2_log.h>
#include <dhcp/libdhcp++.h>
#include <d2/d_cfg_mgr.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <util/encode/hex.h>
#include <util/strutil.h>
#include <cc/data.h>
#include <exceptions/exceptions.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <stdint.h>
#include <string>
#include <config/ccsession.h>
#include <config/module_spec.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <d2/d_cfg_mgr.h>
#include <d_test_stubs.h>
#include <dhcpsrv/cfg_option.h>
#include <dhcpsrv/cfgmgr.h>
#include <dhcp4/json_config_parser.h>
-#include <dhcpsrv/dbaccess_parser.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <dhcpsrv/option_space_container.h>
+#include <dhcpsrv/parsers/dbaccess_parser.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <util/encode/hex.h>
#include <util/strutil.h>
// PERFORMANCE OF THIS SOFTWARE.
#include <cc/data.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <exceptions/exceptions.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <stdint.h>
#include <string>
#include <dhcp/iface_mgr.h>
#include <dhcpsrv/cfg_option.h>
#include <dhcpsrv/cfgmgr.h>
-#include <dhcpsrv/dbaccess_parser.h>
-#include <dhcpsrv/dhcp_config_parser.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <dhcpsrv/pool.h>
#include <dhcpsrv/subnet.h>
#include <dhcpsrv/triplet.h>
+#include <dhcpsrv/parsers/dbaccess_parser.h>
+#include <dhcpsrv/parsers/dhcp_config_parser.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <log/logger_support.h>
#include <util/encode/hex.h>
#include <util/strutil.h>
/// DHCPv4 and DHCPv6. They should be merged. See ticket #2355.
#include <cc/data.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <exceptions/exceptions.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <string>
#include <config.h>
#include <asiolink/asiolink.h>
-#include <dhcpsrv/dhcp_config_parser.h>
#include <dhcpsrv/cfgmgr.h>
+#include <dhcpsrv/parsers/dhcp_config_parser.h>
#include <dhcp6/json_config_parser.h>
#include <dhcp6/ctrl_dhcp6_srv.h>
#include <dhcp6/dhcp6_log.h>
+AUTOMAKE_OPTIONS = subdir-objects
+
SUBDIRS = . testutils tests
dhcp_data_dir = @localstatedir@/@PACKAGE@
AM_CXXFLAGS = $(KEA_CXXFLAGS)
+# The files in the subfolder must be explicitly specified here so
+# as they are copied to the distribution. The other option would
+# be to specify a whole 'parsers' folder here but that would also
+# copy all other files, e.g. gitignore, .git etc.
+# Whenever new file is added to the parsers folder, it must be
+# added here.
+EXTRA_DIST =
+EXTRA_DIST += dbaccess_parser.cc dbaccess_parser.h
+EXTRA_DIST += dhcp_parsers.cc dhcp_parsers.h
+EXTRA_DIST += host_reservation_parser.cc host_reservation_parser.h
+
# Define rule to build logging source files from message file
dhcpsrv_messages.h dhcpsrv_messages.cc: s-messages
libkea_dhcpsrv_la_SOURCES += d2_client_cfg.cc d2_client_cfg.h
libkea_dhcpsrv_la_SOURCES += d2_client_mgr.cc d2_client_mgr.h
libkea_dhcpsrv_la_SOURCES += daemon.cc daemon.h
-libkea_dhcpsrv_la_SOURCES += dbaccess_parser.cc dbaccess_parser.h
libkea_dhcpsrv_la_SOURCES += dhcpsrv_log.cc dhcpsrv_log.h
-libkea_dhcpsrv_la_SOURCES += dhcp_config_parser.h
-libkea_dhcpsrv_la_SOURCES += dhcp_parsers.cc dhcp_parsers.h
libkea_dhcpsrv_la_SOURCES += host.cc host.h
libkea_dhcpsrv_la_SOURCES += host_container.h
-libkea_dhcpsrv_la_SOURCES += host_reservation_parser.cc host_reservation_parser.h
libkea_dhcpsrv_la_SOURCES += key_from_key.h
libkea_dhcpsrv_la_SOURCES += lease.cc lease.h
libkea_dhcpsrv_la_SOURCES += lease_mgr.cc lease_mgr.h
libkea_dhcpsrv_la_SOURCES += triplet.h
libkea_dhcpsrv_la_SOURCES += utils.h
+# Configuration parsers
+libkea_dhcpsrv_la_SOURCES += parsers/dhcp_config_parser.h
+libkea_dhcpsrv_la_SOURCES += parsers/dbaccess_parser.cc
+libkea_dhcpsrv_la_SOURCES += parsers/dbaccess_parser.h
+libkea_dhcpsrv_la_SOURCES += parsers/dhcp_parsers.cc
+libkea_dhcpsrv_la_SOURCES += parsers/dhcp_parsers.h
+libkea_dhcpsrv_la_SOURCES += parsers/host_reservation_parser.cc
+libkea_dhcpsrv_la_SOURCES += parsers/host_reservation_parser.h
+
nodist_libkea_dhcpsrv_la_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc
libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
endif
# The message file should be in the distribution
-EXTRA_DIST = dhcpsrv_messages.mes
+EXTRA_DIST += dhcpsrv_messages.mes
# Distribute MySQL schema creation script and backend documentation
EXTRA_DIST += dhcpdb_create.mysql dhcpdb_create.pgsql database_backends.dox libdhcpsrv.dox
// PERFORMANCE OF THIS SOFTWARE.
#include <dhcp/option.h>
-#include <dhcpsrv/dbaccess_parser.h>
#include <dhcpsrv/dhcpsrv_log.h>
#include <dhcpsrv/lease_mgr_factory.h>
+#include <dhcpsrv/parsers/dbaccess_parser.h>
#include <boost/foreach.hpp>
#define DBACCESS_PARSER_H
#include <cc/data.h>
-#include <dhcpsrv/dhcp_config_parser.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_config_parser.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <exceptions/exceptions.h>
#include <string>
#include <dhcp/libdhcp++.h>
#include <dhcpsrv/cfgmgr.h>
#include <dhcpsrv/cfg_option.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <hooks/hooks_manager.h>
#include <util/encode/hex.h>
#include <util/strutil.h>
#include <cc/data.h>
#include <dhcp/option_definition.h>
#include <dhcpsrv/d2_client_cfg.h>
-#include <dhcpsrv/dhcp_config_parser.h>
#include <dhcpsrv/cfg_iface.h>
#include <dhcpsrv/cfg_option.h>
#include <dhcpsrv/option_space_container.h>
#include <dhcpsrv/subnet.h>
+#include <dhcpsrv/parsers/dhcp_config_parser.h>
#include <exceptions/exceptions.h>
#include <boost/shared_ptr.hpp>
#include <asiolink/io_address.h>
#include <dhcpsrv/cfgmgr.h>
-#include <dhcpsrv/host_reservation_parser.h>
+#include <dhcpsrv/parsers/host_reservation_parser.h>
#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
#include <string>
#define HOST_RESERVATION_PARSER_H
#include <cc/data.h>
-#include <dhcpsrv/dhcp_config_parser.h>
#include <dhcpsrv/host.h>
+#include <dhcpsrv/parsers/dhcp_config_parser.h>
namespace isc {
namespace dhcp {
#include <dhcp/dhcp6.h>
#include <dhcp/tests/iface_mgr_test_config.h>
#include <dhcpsrv/cfgmgr.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <dhcpsrv/subnet_id.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <gtest/gtest.h>
#include <config.h>
#include <config/ccsession.h>
-#include <dhcpsrv/dbaccess_parser.h>
-#include <dhcpsrv/dhcp_parsers.h>
#include <dhcpsrv/lease_mgr_factory.h>
+#include <dhcpsrv/parsers/dbaccess_parser.h>
#include <log/logger_support.h>
#include <gtest/gtest.h>
#include <dhcp/tests/iface_mgr_test_config.h>
#include <dhcpsrv/cfgmgr.h>
#include <dhcpsrv/subnet.h>
-#include <dhcpsrv/dhcp_parsers.h>
+#include <dhcpsrv/parsers/dhcp_parsers.h>
#include <dhcpsrv/tests/test_libraries.h>
#include <dhcpsrv/testutils/config_result_check.h>
#include <exceptions/exceptions.h>
#include <dhcp/hwaddr.h>
#include <dhcpsrv/cfgmgr.h>
#include <dhcpsrv/host.h>
-#include <dhcpsrv/host_reservation_parser.h>
+#include <dhcpsrv/parsers/host_reservation_parser.h>
#include <dhcpsrv/testutils/config_result_check.h>
#include <gtest/gtest.h>
#include <iterator>