diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d22929..5372d39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,8 +133,6 @@ set(XEUS_ZMQ_HEADERS ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xdebugger_base.hpp ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xeus-zmq.hpp ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xmiddleware.hpp - ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xserver_control_main.hpp - ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xserver_shell_main.hpp ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xserver_zmq.hpp ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xserver_zmq_split.hpp ${XEUS_ZMQ_INCLUDE_DIR}/xeus-zmq/xshell_default_runner.hpp @@ -177,7 +175,9 @@ set(XEUS_ZMQ_SOURCES ${XEUS_ZMQ_SOURCE_DIR}/server/xpublisher.cpp ${XEUS_ZMQ_SOURCE_DIR}/server/xpublisher.hpp ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_control_main.cpp + ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_control_main.hpp ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_shell_main.cpp + ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_shell_main.hpp ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_zmq_default.cpp ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_zmq_default.hpp ${XEUS_ZMQ_SOURCE_DIR}/server/xserver_zmq_impl.cpp diff --git a/include/xeus-zmq/xserver_zmq_split.hpp b/include/xeus-zmq/xserver_zmq_split.hpp index 00b76cb..73b6aae 100644 --- a/include/xeus-zmq/xserver_zmq_split.hpp +++ b/include/xeus-zmq/xserver_zmq_split.hpp @@ -97,14 +97,33 @@ namespace xeus }; XEUS_ZMQ_API - std::unique_ptr make_xserver_control_main(xcontext& context, - const xconfiguration& config, - nl::json::error_handler_t eh = nl::json::error_handler_t::strict); + std::unique_ptr + make_xserver_control_main(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh = nl::json::error_handler_t::strict); + + XEUS_ZMQ_API + std::unique_ptr + make_xserver_control(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh, + std::unique_ptr control, + std::unique_ptr shell); + + + XEUS_ZMQ_API + std::unique_ptr + make_xserver_shell_main(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh = nl::json::error_handler_t::strict); XEUS_ZMQ_API - std::unique_ptr make_xserver_shell_main(xcontext& context, - const xconfiguration& config, - nl::json::error_handler_t eh = nl::json::error_handler_t::strict); + std::unique_ptr + make_xserver_shell(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh, + std::unique_ptr control, + std::unique_ptr shell); } #endif diff --git a/src/server/xserver_control_main.cpp b/src/server/xserver_control_main.cpp index 5f7fa82..7154683 100644 --- a/src/server/xserver_control_main.cpp +++ b/src/server/xserver_control_main.cpp @@ -9,7 +9,7 @@ #include "xeus-zmq/xcontrol_default_runner.hpp" #include "xeus-zmq/xshell_default_runner.hpp" -#include "xeus-zmq/xserver_control_main.hpp" +#include "xserver_control_main.hpp" namespace xeus { @@ -39,11 +39,12 @@ namespace xeus xserver_zmq_split::run_control(); } - std::unique_ptr make_xserver_control_main(xcontext& context, - const xconfiguration& config, - nl::json::error_handler_t eh) + std::unique_ptr + make_xserver_control_main(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh) { - return std::make_unique + return make_xserver_control ( context, config, @@ -52,5 +53,23 @@ namespace xeus std::make_unique() ); } + + + std::unique_ptr + make_xserver_control(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh, + std::unique_ptr control, + std::unique_ptr shell) + { + return std::make_unique + ( + context, + config, + eh, + std::move(control), + std::move(shell) + ); + } } diff --git a/include/xeus-zmq/xserver_control_main.hpp b/src/server/xserver_control_main.hpp similarity index 95% rename from include/xeus-zmq/xserver_control_main.hpp rename to src/server/xserver_control_main.hpp index f1ca4c6..72c0785 100644 --- a/include/xeus-zmq/xserver_control_main.hpp +++ b/src/server/xserver_control_main.hpp @@ -13,8 +13,8 @@ #include "xeus/xeus_context.hpp" #include "xeus/xkernel_configuration.hpp" -#include "xeus-zmq.hpp" -#include "xserver_zmq_split.hpp" +#include "xeus-zmq/xeus-zmq.hpp" +#include "xeus-zmq/xserver_zmq_split.hpp" namespace xeus { diff --git a/src/server/xserver_shell_main.cpp b/src/server/xserver_shell_main.cpp index 9cfd0e7..5412314 100644 --- a/src/server/xserver_shell_main.cpp +++ b/src/server/xserver_shell_main.cpp @@ -9,7 +9,7 @@ #include "xeus-zmq/xcontrol_default_runner.hpp" #include "xeus-zmq/xshell_default_runner.hpp" -#include "xeus-zmq/xserver_shell_main.hpp" +#include "xserver_shell_main.hpp" namespace xeus { @@ -38,11 +38,12 @@ namespace xeus xserver_zmq_split::run_shell(); } - std::unique_ptr make_xserver_shell_main(xcontext& context, - const xconfiguration& config, - nl::json::error_handler_t eh) + std::unique_ptr + make_xserver_shell_main(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh) { - return std::make_unique + return make_xserver_shell ( context, config, @@ -51,5 +52,22 @@ namespace xeus std::make_unique() ); } + + std::unique_ptr + make_xserver_shell(xcontext& context, + const xconfiguration& config, + nl::json::error_handler_t eh, + std::unique_ptr control, + std::unique_ptr shell) + { + return std::make_unique + ( + context, + config, + eh, + std::move(control), + std::move(shell) + ); + } } diff --git a/include/xeus-zmq/xserver_shell_main.hpp b/src/server/xserver_shell_main.hpp similarity index 95% rename from include/xeus-zmq/xserver_shell_main.hpp rename to src/server/xserver_shell_main.hpp index 9353638..4912dde 100644 --- a/include/xeus-zmq/xserver_shell_main.hpp +++ b/src/server/xserver_shell_main.hpp @@ -13,8 +13,8 @@ #include "xeus/xeus_context.hpp" #include "xeus/xkernel_configuration.hpp" -#include "xeus-zmq.hpp" -#include "xserver_zmq_split.hpp" +#include "xeus-zmq/xeus-zmq.hpp" +#include "xeus-zmq/xserver_zmq_split.hpp" namespace xeus {