diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index 7087d59cc341927a61e681205174ba3b8287d66f..a073f096c223ac563232aa3bff0cb84f538d636c 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -11,6 +11,10 @@ aux_source_directory(utils utils_files) aux_source_directory(db db_files) aux_source_directory(wrapper wrapper_files) +set(license_check_files + ${CMAKE_CURRENT_SOURCE_DIR}/license/License.cpp + ) + set(service_files thrift/gen-cpp/VecService.cpp thrift/gen-cpp/VectorService_constants.cpp @@ -49,6 +53,7 @@ add_executable(vecwise_server ${server_files} ${utils_files} ${service_files} + ${license_check_files} ${VECWISE_THIRD_PARTY_BUILD}/include/easylogging++.cc ) @@ -69,3 +74,8 @@ set(server_libs ) target_link_libraries(vecwise_server ${server_libs}) + +set(license_generator_src + ${CMAKE_CURRENT_SOURCE_DIR}/license/LicenseGenerator.cpp) + +add_executable(license_generator ${license_generator_src}) diff --git a/cpp/src/license/License.cpp b/cpp/src/license/License.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cad684bc102b05bb20cac05678133ec437876b4f --- /dev/null +++ b/cpp/src/license/License.cpp @@ -0,0 +1,14 @@ +#include "License.h" + +namespace zilliz { +namespace vecwise { +namespace server { + +ServerError +LicenseValidate(const std::string& path) { + return SERVER_SUCCESS; +} + +} +} +} \ No newline at end of file diff --git a/cpp/src/license/License.h b/cpp/src/license/License.h new file mode 100644 index 0000000000000000000000000000000000000000..cf4888b07b03e7d884418c78214000b2c4442a24 --- /dev/null +++ b/cpp/src/license/License.h @@ -0,0 +1,16 @@ +#pragma once + +#include "utils/Error.h" + +namespace zilliz { +namespace vecwise { +namespace server { + +ServerError +LicenseValidate(const std::string& path); + +} +} +} + + diff --git a/cpp/src/license/LicenseGenerator.cpp b/cpp/src/license/LicenseGenerator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f82e948c30cdd7365872e6200514b03e75452b26 --- /dev/null +++ b/cpp/src/license/LicenseGenerator.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + std::cout << "This is license generator" << std::endl; + return 0; +} \ No newline at end of file diff --git a/cpp/src/server/Server.cpp b/cpp/src/server/Server.cpp index 82e1fec698b76b68caf7366ceb92a76e27e70659..930c29fac9968bc83dd530787034cb5d34eb50cb 100644 --- a/cpp/src/server/Server.cpp +++ b/cpp/src/server/Server.cpp @@ -9,7 +9,7 @@ #include "utils/Log.h" #include "utils/SignalUtil.h" #include "utils/TimeRecorder.h" - +#include "license/License.h" #include #include @@ -133,6 +133,12 @@ Server::Daemonize() { int Server::Start() { + std::string license_file_path = "/tmp/vecwise.license"; + if(LicenseValidate(license_file_path) != SERVER_SUCCESS) { + SERVER_LOG_ERROR << "License check failed"; + return 1; + } + if (daemonized_) { Daemonize(); }