diff --git a/container/src/root/macro/common/server.hh b/container/src/root/macro/common/server.hh new file mode 100644 index 0000000..daf78b8 --- /dev/null +++ b/container/src/root/macro/common/server.hh @@ -0,0 +1,54 @@ +// docker-finance | modern accounting for the power-user +// +// Copyright (C) 2021-2024 Aaron Fiore (Founder, Evergreen Crypto LLC) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//! \file +//! \author Aaron Fiore (Founder, Evergreen Crypto LLC) +//! \note File intended to be loaded into ROOT.cern framework / Cling interpreter +//! \since docker-finance 1.0.0 + +#ifndef CONTAINER_SRC_ROOT_MACRO_COMMON_SERVER_HH_ +#define CONTAINER_SRC_ROOT_MACRO_COMMON_SERVER_HH_ + +#include + +#include + +//! \namespace docker_finance +//! \since docker-finance 1.0.0 +namespace docker_finance +{ +//! \namespace docker_finance::macro +//! \brief ROOT macros +//! \since docker-finance 1.0.0 +namespace macro +{ +//! \namespace docker_finance::macro::internal +//! \brief ROOT macros for internal use only +//! \since docker-finance 1.0.0 +namespace internal +{ +//! \brief HTTP Server instance +//! \note In namespace scope because of ROOT's static functions requirement +//! \since docker-finance 1.0.0 +auto g_HTTPServer = std::make_unique<::THttpServer>("http:8080"); +} // namespace internal +} // namespace macro +} // namespace docker_finance + +#endif // CONTAINER_SRC_ROOT_MACRO_COMMON_SERVER_HH_ + +// # vim: sw=2 sts=2 si ai et diff --git a/container/src/root/macro/web/server.C b/container/src/root/macro/web/server.C index 828222d..7381e16 100644 --- a/container/src/root/macro/web/server.C +++ b/container/src/root/macro/web/server.C @@ -23,10 +23,7 @@ #ifndef CONTAINER_SRC_ROOT_MACRO_WEB_SERVER_C_ #define CONTAINER_SRC_ROOT_MACRO_WEB_SERVER_C_ -#include - -#include - +#include "../common/server.hh" #include "../common/utility.hh" //! \namespace docker_finance @@ -38,17 +35,6 @@ namespace docker_finance //! \since docker-finance 1.0.0 namespace macro { -//! \namespace docker_finance::macro::internal -//! \brief ROOT macros for internal use only -//! \since docker-finance 1.0.0 -namespace internal -{ -//! \brief HTTP Server instance -//! \note In namespace scope because of ROOT's static functions requirement -//! \since docker-finance 1.0.0 -auto g_HTTPServer = std::make_unique<::THttpServer>("http:8080"); -} // namespace internal - //! \brief Web server managing class //! \ingroup cpp_macro //! \since docker-finance 1.0.0 @@ -69,12 +55,12 @@ class Web final //! \details Registers internal macros static void register_commands() { - ::docker_finance::macro::internal::Command::load({"web/internal/crypto.C"}); + internal::Command::load({"web/internal/crypto.C"}); internal::g_HTTPServer->RegisterCommand( "/rng_sample", "::docker_finance::macro::internal::Crypto::rng_sample(\"%arg1%\")"); - ::docker_finance::macro::internal::Command::load({"web/internal/meta.C"}); + internal::Command::load({"web/internal/meta.C"}); internal::g_HTTPServer->RegisterCommand( "/meta_sample", "::docker_finance::macro::internal::Meta::meta_sample(\"%arg1%\")");