From e047dbe884f5288943d5ba2f8843a078d647d7ef Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 25 4月 2020 21:01:33 +0800
Subject: [PATCH] first docker & vm detection

---
 src/library/hw_identifier/hw_identifier_facade.cpp |   25 +++++--------------------
 1 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/src/library/hw_identifier/hw_identifier_facade.cpp b/src/library/hw_identifier/hw_identifier_facade.cpp
index 07808f6..a64ba58 100644
--- a/src/library/hw_identifier/hw_identifier_facade.cpp
+++ b/src/library/hw_identifier/hw_identifier_facade.cpp
@@ -12,8 +12,6 @@
 
 #include "../base/base.h"
 #include "../base/logger.h"
-#include "../os/cpu_info.hpp"
-#include "../os/execution_environment.hpp"
 #include "identification_strategy.hpp"
 #include "hw_identifier.hpp"
 
@@ -24,7 +22,7 @@
 
 LCC_EVENT_TYPE HwIdentifierFacade::validate_pc_signature(const std::string& str_code) {
 	HwIdentifier pc_id(str_code);
-	LCC_API_IDENTIFICATION_STRATEGY id_strategy = pc_id.get_identification_strategy();
+	LCC_API_HW_IDENTIFICATION_STRATEGY id_strategy = pc_id.get_identification_strategy();
 	LCC_EVENT_TYPE result = IDENTIFIERS_MISMATCH;
 	try {
 		unique_ptr<IdentificationStrategy> strategy = IdentificationStrategy::get_strategy(id_strategy);
@@ -35,9 +33,9 @@
 	return result;
 }
 
-std::string HwIdentifierFacade::generate_user_pc_signature(LCC_API_IDENTIFICATION_STRATEGY strategy) {
+std::string HwIdentifierFacade::generate_user_pc_signature(LCC_API_HW_IDENTIFICATION_STRATEGY strategy) {
 	bool use_env_var = false;
-	vector<LCC_API_IDENTIFICATION_STRATEGY> strategies_to_try;
+	vector<LCC_API_HW_IDENTIFICATION_STRATEGY> strategies_to_try;
 	if (strategy == STRATEGY_DEFAULT) {
 		char* env_var_value = getenv(LCC_IDENTIFICATION_STRATEGY_ENV_VAR);
 		if (env_var_value != nullptr && env_var_value[0] != '\0') {
@@ -45,7 +43,7 @@
 			if (strategy_int < 0 || strategy_int > 3) {
 				LOG_WARN("unknown " LCC_IDENTIFICATION_STRATEGY_ENV_VAR " %s", env_var_value);
 			} else {
-				strategy = (LCC_API_IDENTIFICATION_STRATEGY)strategy_int;
+				strategy = (LCC_API_HW_IDENTIFICATION_STRATEGY)strategy_int;
 				use_env_var = true;
 			}
 		}
@@ -53,22 +51,9 @@
 
 	unique_ptr<IdentificationStrategy> strategy_ptr = IdentificationStrategy::get_strategy(strategy);
 	HwIdentifier pc_id;
-	FUNCTION_RETURN result = strategy_ptr->identify_pc(pc_id);
+	FUNCTION_RETURN result = strategy_ptr->generate_pc_id(pc_id);
 	if (result != FUNC_RET_OK) {
 		throw logic_error("strategy " + to_string(strategy_ptr->identification_strategy()) + " failed");
-	}
-	os::ExecutionEnvironment exec;
-	os::VIRTUALIZATION virtualization = exec.getVirtualization();
-	pc_id.set_virtual_environment(virtualization);
-	pc_id.set_use_environment_var(use_env_var);
-	if (virtualization != os::NONE) {
-		bool isCloud = exec.is_cloud();
-		if (isCloud) {
-			pc_id.set_cloud_provider(exec.getCloudProvider());
-		} else {
-			os::CpuInfo cpu;
-			pc_id.set_virtualization(cpu.virtualization_details());
-		}
 	}
 	return pc_id.print();
 }

--
Gitblit v1.9.1