From c8f8e0c1f0a3687539a92169735845814e18c187 Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 31 10月 2020 10:15:16 +0800
Subject: [PATCH] read dmi information segfault on windows

---
 src/library/hw_identifier/default_strategy.cpp |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/library/hw_identifier/default_strategy.cpp b/src/library/hw_identifier/default_strategy.cpp
index b4ab755..5c924f1 100644
--- a/src/library/hw_identifier/default_strategy.cpp
+++ b/src/library/hw_identifier/default_strategy.cpp
@@ -14,16 +14,16 @@
 namespace hw_identifier {
 
 static vector<LCC_API_HW_IDENTIFICATION_STRATEGY> available_strategies() {
-	os::ExecutionEnvironment exec;
-	os::VIRTUALIZATION virtualization = exec.getVirtualization();
+	const os::ExecutionEnvironment exec;
+	LCC_API_VIRTUALIZATION_SUMMARY virtualization = exec.virtualization();
 	vector<LCC_API_HW_IDENTIFICATION_STRATEGY> strategy_to_try;
-	if (virtualization == os::CONTAINER) {
+	if (virtualization == LCC_API_VIRTUALIZATION_SUMMARY::CONTAINER) {
 		if (exec.is_docker()) {
 			strategy_to_try = LCC_DOCKER_STRATEGIES;
 		} else {
 			strategy_to_try = LCC_LXC_STRATEGIES;
 		}
-	} else if (virtualization == os::VM) {
+	} else if (virtualization == LCC_API_VIRTUALIZATION_SUMMARY::VM) {
 		if (exec.is_cloud()) {
 			strategy_to_try = LCC_CLOUD_STRATEGIES;
 		} else {
@@ -67,9 +67,12 @@
 	}
 	return identifiers;
 }
-
+/**
+* default strategy should never be used to validate an identifier. The strategy that was used in the first place to generate it
+* should handle it. DefaultStrategy is just a switch.
+*/
 LCC_EVENT_TYPE DefaultStrategy::validate_identifier(const HwIdentifier& identifier) const {
-	// default strategy should always realize itself as a concrete strategy
+	// 
 	return IDENTIFIERS_MISMATCH;
 }
 

--
Gitblit v1.9.1