From 2ec257284f5bffce5277c35458d3893430c2d843 Mon Sep 17 00:00:00 2001
From: XMRig <support@xmrig.com>
Date: Mon, 12 Aug 2019 16:52:16 +0700
Subject: [PATCH] Common API code moved to base/api.

---
 CMakeLists.txt                                | 19 +------------------
 src/App.cpp                                   |  1 -
 src/{ => base}/api/Api.cpp                    |  8 ++++----
 src/{ => base}/api/Api.h                      |  0
 src/{ => base}/api/Httpd.cpp                  |  4 ++--
 src/{ => base}/api/Httpd.h                    |  0
 src/{ => base}/api/interfaces/IApiListener.h  |  0
 src/{ => base}/api/interfaces/IApiRequest.h   |  0
 src/{ => base}/api/requests/ApiRequest.cpp    |  2 +-
 src/{ => base}/api/requests/ApiRequest.h      |  2 +-
 .../api/requests/HttpApiRequest.cpp           |  2 +-
 src/{ => base}/api/requests/HttpApiRequest.h  |  2 +-
 src/base/base.cmake                           | 10 ++++++++++
 src/base/kernel/Base.cpp                      | 17 ++++++++---------
 src/base/kernel/Base.h                        |  2 +-
 src/core/Miner.cpp                            |  4 ++--
 src/core/Miner.h                              |  2 +-
 src/net/Network.cpp                           |  5 ++---
 src/net/Network.h                             |  2 +-
 19 files changed, 36 insertions(+), 46 deletions(-)
 rename src/{ => base}/api/Api.cpp (97%)
 rename src/{ => base}/api/Api.h (100%)
 rename src/{ => base}/api/Httpd.cpp (98%)
 rename src/{ => base}/api/Httpd.h (100%)
 rename src/{ => base}/api/interfaces/IApiListener.h (100%)
 rename src/{ => base}/api/interfaces/IApiRequest.h (100%)
 rename src/{ => base}/api/requests/ApiRequest.cpp (97%)
 rename src/{ => base}/api/requests/ApiRequest.h (98%)
 rename src/{ => base}/api/requests/HttpApiRequest.cpp (98%)
 rename src/{ => base}/api/requests/HttpApiRequest.h (98%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7600d556e..152883198 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,7 +32,6 @@ set(HEADERS
     "${HEADERS_BASE}"
     "${HEADERS_BASE_HTTP}"
     "${HEADERS_BACKEND}"
-    src/api/interfaces/IApiListener.h
     src/App.h
     src/core/config/Config_default.h
     src/core/config/Config_platform.h
@@ -232,22 +231,6 @@ if (WITH_EMBEDDED_CONFIG)
     add_definitions(/DXMRIG_FEATURE_EMBEDDED_CONFIG)
 endif()
 
-if (WITH_HTTP)
-    set(HTTP_SOURCES
-        src/api/Api.cpp
-        src/api/Api.h
-        src/api/Httpd.cpp
-        src/api/Httpd.h
-        src/api/interfaces/IApiRequest.h
-        src/api/requests/ApiRequest.cpp
-        src/api/requests/ApiRequest.h
-        src/api/requests/HttpApiRequest.cpp
-        src/api/requests/HttpApiRequest.h
-        )
-else()
-    set(HTTP_SOURCES "")
-endif()
-
 include_directories(src)
 include_directories(src/3rdparty)
 include_directories(${UV_INCLUDE_DIR})
@@ -260,5 +243,5 @@ if (WITH_DEBUG_LOG)
     add_definitions(/DAPP_DEBUG)
 endif()
 
-add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${HTTP_SOURCES} ${TLS_SOURCES} ${XMRIG_ASM_SOURCES} ${CN_GPU_SOURCES})
+add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${TLS_SOURCES} ${XMRIG_ASM_SOURCES} ${CN_GPU_SOURCES})
 target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${EXTRA_LIBS} ${CPUID_LIB})
diff --git a/src/App.cpp b/src/App.cpp
index ccbaad4fc..de45a499c 100644
--- a/src/App.cpp
+++ b/src/App.cpp
@@ -28,7 +28,6 @@
 #include <uv.h>
 
 
-#include "api/Api.h"
 #include "App.h"
 #include "backend/cpu/Cpu.h"
 #include "base/io/Console.h"
diff --git a/src/api/Api.cpp b/src/base/api/Api.cpp
similarity index 97%
rename from src/api/Api.cpp
rename to src/base/api/Api.cpp
index 4c8e73230..f358ac4b4 100644
--- a/src/api/Api.cpp
+++ b/src/base/api/Api.cpp
@@ -32,9 +32,9 @@
 
 
 #include "3rdparty/http-parser/http_parser.h"
-#include "api/Api.h"
-#include "api/interfaces/IApiListener.h"
-#include "api/requests/HttpApiRequest.h"
+#include "base/api/Api.h"
+#include "base/api/interfaces/IApiListener.h"
+#include "base/api/requests/HttpApiRequest.h"
 #include "base/kernel/Base.h"
 #include "base/tools/Buffer.h"
 #include "base/tools/Chrono.h"
@@ -45,7 +45,7 @@
 
 
 #ifdef XMRIG_FEATURE_HTTP
-#   include "api/Httpd.h"
+#   include "base/api/Httpd.h"
 #endif
 
 
diff --git a/src/api/Api.h b/src/base/api/Api.h
similarity index 100%
rename from src/api/Api.h
rename to src/base/api/Api.h
diff --git a/src/api/Httpd.cpp b/src/base/api/Httpd.cpp
similarity index 98%
rename from src/api/Httpd.cpp
rename to src/base/api/Httpd.cpp
index 57a112e94..e61e66f1c 100644
--- a/src/api/Httpd.cpp
+++ b/src/base/api/Httpd.cpp
@@ -24,8 +24,8 @@
 
 
 #include "3rdparty/http-parser/http_parser.h"
-#include "api/Api.h"
-#include "api/Httpd.h"
+#include "base/api/Api.h"
+#include "base/api/Httpd.h"
 #include "base/io/log/Log.h"
 #include "base/net/http/HttpApiResponse.h"
 #include "base/net/http/HttpData.h"
diff --git a/src/api/Httpd.h b/src/base/api/Httpd.h
similarity index 100%
rename from src/api/Httpd.h
rename to src/base/api/Httpd.h
diff --git a/src/api/interfaces/IApiListener.h b/src/base/api/interfaces/IApiListener.h
similarity index 100%
rename from src/api/interfaces/IApiListener.h
rename to src/base/api/interfaces/IApiListener.h
diff --git a/src/api/interfaces/IApiRequest.h b/src/base/api/interfaces/IApiRequest.h
similarity index 100%
rename from src/api/interfaces/IApiRequest.h
rename to src/base/api/interfaces/IApiRequest.h
diff --git a/src/api/requests/ApiRequest.cpp b/src/base/api/requests/ApiRequest.cpp
similarity index 97%
rename from src/api/requests/ApiRequest.cpp
rename to src/base/api/requests/ApiRequest.cpp
index 3812e4198..da73adee4 100644
--- a/src/api/requests/ApiRequest.cpp
+++ b/src/base/api/requests/ApiRequest.cpp
@@ -23,7 +23,7 @@
  */
 
 
-#include "api/requests/ApiRequest.h"
+#include "base/api/requests/ApiRequest.h"
 
 
 xmrig::ApiRequest::ApiRequest(Source source, bool restricted) :
diff --git a/src/api/requests/ApiRequest.h b/src/base/api/requests/ApiRequest.h
similarity index 98%
rename from src/api/requests/ApiRequest.h
rename to src/base/api/requests/ApiRequest.h
index 05716e29d..1fd721f19 100644
--- a/src/api/requests/ApiRequest.h
+++ b/src/base/api/requests/ApiRequest.h
@@ -27,7 +27,7 @@
 #define XMRIG_APIREQUEST_H
 
 
-#include "api/interfaces/IApiRequest.h"
+#include "base/api/interfaces/IApiRequest.h"
 
 
 namespace xmrig {
diff --git a/src/api/requests/HttpApiRequest.cpp b/src/base/api/requests/HttpApiRequest.cpp
similarity index 98%
rename from src/api/requests/HttpApiRequest.cpp
rename to src/base/api/requests/HttpApiRequest.cpp
index b4dc18107..c3c2dac46 100644
--- a/src/api/requests/HttpApiRequest.cpp
+++ b/src/base/api/requests/HttpApiRequest.cpp
@@ -23,7 +23,7 @@
  */
 
 
-#include "api/requests/HttpApiRequest.h"
+#include "base/api/requests/HttpApiRequest.h"
 #include "base/net/http/HttpData.h"
 #include "rapidjson/error/en.h"
 
diff --git a/src/api/requests/HttpApiRequest.h b/src/base/api/requests/HttpApiRequest.h
similarity index 98%
rename from src/api/requests/HttpApiRequest.h
rename to src/base/api/requests/HttpApiRequest.h
index f34d4be5d..dc3eb0377 100644
--- a/src/api/requests/HttpApiRequest.h
+++ b/src/base/api/requests/HttpApiRequest.h
@@ -27,7 +27,7 @@
 #define XMRIG_HTTPAPIREQUEST_H
 
 
-#include "api/requests/ApiRequest.h"
+#include "base/api/requests/ApiRequest.h"
 #include "base/net/http/HttpApiResponse.h"
 #include "base/tools/String.h"
 
diff --git a/src/base/base.cmake b/src/base/base.cmake
index ef4da1310..bc022c70c 100644
--- a/src/base/base.cmake
+++ b/src/base/base.cmake
@@ -1,4 +1,5 @@
 set(HEADERS_BASE
+    src/base/api/interfaces/IApiListener.h
     src/base/io/Console.h
     src/base/io/json/Json.h
     src/base/io/json/JsonChain.h
@@ -114,6 +115,11 @@ endif()
 if (WITH_HTTP)
     set(HEADERS_BASE_HTTP
         src/3rdparty/http-parser/http_parser.h
+        src/base/api/Api.h
+        src/base/api/Httpd.h
+        src/base/api/interfaces/IApiRequest.h
+        src/base/api/requests/ApiRequest.h
+        src/base/api/requests/HttpApiRequest.h
         src/base/kernel/interfaces/IHttpListener.h
         src/base/kernel/interfaces/IJsonReader.h
         src/base/kernel/interfaces/ITcpServerListener.h
@@ -129,6 +135,10 @@ if (WITH_HTTP)
 
     set(SOURCES_BASE_HTTP
         src/3rdparty/http-parser/http_parser.c
+        src/base/api/Api.cpp
+        src/base/api/Httpd.cpp
+        src/base/api/requests/ApiRequest.cpp
+        src/base/api/requests/HttpApiRequest.cpp
         src/base/net/http/HttpApiResponse.cpp
         src/base/net/http/HttpClient.cpp
         src/base/net/http/HttpContext.cpp
diff --git a/src/base/kernel/Base.cpp b/src/base/kernel/Base.cpp
index 03feef89f..152f6bccd 100644
--- a/src/base/kernel/Base.cpp
+++ b/src/base/kernel/Base.cpp
@@ -47,15 +47,8 @@
 
 
 #ifdef XMRIG_FEATURE_API
-#   include "api/Api.h"
-#   include "api/interfaces/IApiRequest.h"
-#endif
-
-
-#ifdef XMRIG_FEATURE_EMBEDDED_CONFIG
-#   include "core/config/Config_default.h"
-#endif
-
+#   include "base/api/Api.h"
+#   include "base/api/interfaces/IApiRequest.h"
 
 namespace xmrig {
 
@@ -63,6 +56,12 @@ static const char *kConfigPathV1 = "/1/config";
 static const char *kConfigPathV2 = "/2/config";
 
 } // namespace xmrig
+#endif
+
+
+#ifdef XMRIG_FEATURE_EMBEDDED_CONFIG
+#   include "core/config/Config_default.h"
+#endif
 
 
 class xmrig::BasePrivate
diff --git a/src/base/kernel/Base.h b/src/base/kernel/Base.h
index 6a33a802a..8eb688664 100644
--- a/src/base/kernel/Base.h
+++ b/src/base/kernel/Base.h
@@ -26,7 +26,7 @@
 #define XMRIG_BASE_H
 
 
-#include "api/interfaces/IApiListener.h"
+#include "base/api/interfaces/IApiListener.h"
 #include "base/kernel/interfaces/IConfigListener.h"
 #include "base/kernel/interfaces/IWatcherListener.h"
 #include "rapidjson/fwd.h"
diff --git a/src/core/Miner.cpp b/src/core/Miner.cpp
index 4406ce529..801b27c75 100644
--- a/src/core/Miner.cpp
+++ b/src/core/Miner.cpp
@@ -45,8 +45,8 @@
 
 
 #ifdef XMRIG_FEATURE_API
-#   include "api/Api.h"
-#   include "api/interfaces/IApiRequest.h"
+#   include "base/api/Api.h"
+#   include "base/api/interfaces/IApiRequest.h"
 #endif
 
 
diff --git a/src/core/Miner.h b/src/core/Miner.h
index 035c02058..6fc75cd09 100644
--- a/src/core/Miner.h
+++ b/src/core/Miner.h
@@ -29,7 +29,7 @@
 #include <vector>
 
 
-#include "api/interfaces/IApiListener.h"
+#include "base/api/interfaces/IApiListener.h"
 #include "base/kernel/interfaces/IBaseListener.h"
 #include "base/kernel/interfaces/ITimerListener.h"
 #include "crypto/common/Algorithm.h"
diff --git a/src/net/Network.cpp b/src/net/Network.cpp
index 547a86387..3ab8bec05 100644
--- a/src/net/Network.cpp
+++ b/src/net/Network.cpp
@@ -34,7 +34,6 @@
 #include <time.h>
 
 
-#include "api/Api.h"
 #include "base/io/log/Log.h"
 #include "base/net/stratum/Client.h"
 #include "base/net/stratum/SubmitResult.h"
@@ -51,8 +50,8 @@
 
 
 #ifdef XMRIG_FEATURE_API
-#   include "api/Api.h"
-#   include "api/interfaces/IApiRequest.h"
+#   include "base/api/Api.h"
+#   include "base/api/interfaces/IApiRequest.h"
 #endif
 
 
diff --git a/src/net/Network.h b/src/net/Network.h
index ddf6d6f39..716ce6105 100644
--- a/src/net/Network.h
+++ b/src/net/Network.h
@@ -30,7 +30,7 @@
 #include <vector>
 
 
-#include "api/interfaces/IApiListener.h"
+#include "base/api/interfaces/IApiListener.h"
 #include "base/kernel/interfaces/IBaseListener.h"
 #include "base/kernel/interfaces/IStrategyListener.h"
 #include "base/kernel/interfaces/ITimerListener.h"