From 8e1bdfdca2ad2157fd74cedc1a6768a1b1c0849d Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周日, 09 2月 2020 04:48:55 +0800
Subject: [PATCH] identifiers next work

---
 src/library/pc_identifier/identification_strategy.hpp |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/library/pc_identifier/identification_strategy.hpp b/src/library/pc_identifier/identification_strategy.hpp
index 852de7b..8eef0c8 100644
--- a/src/library/pc_identifier/identification_strategy.hpp
+++ b/src/library/pc_identifier/identification_strategy.hpp
@@ -9,20 +9,30 @@
 #define SRC_LIBRARY_PC_IDENTIFIER_IDENTIFICATION_STRATEGY_HPP_
 
 #include <licensecc/datatypes.h>
+#include <licensecc_properties.h>
 #include <vector>
+#include <bits/unique_ptr.h>
+#include "../base/base.h"
 #include "pc_identifier.hpp"
 namespace license {
+namespace pc_identifier {
 
 class IdentificationStrategy {
+protected:
+	LCC_EVENT_TYPE validate_identifier(const PcIdentifier& identifier,
+									   const std::vector<std::array<uint8_t, 8>>& available_ids) const;
+
 public:
 	IdentificationStrategy(){};
 	virtual ~IdentificationStrategy(){};
-	virtual IDENTIFICATION_STRATEGY identification_strategy() const = 0;
-	virtual void identify_pc(PcIdentifier &identifier) const = 0;
+	virtual LCC_API_IDENTIFICATION_STRATEGY identification_strategy() const = 0;
+	virtual FUNCTION_RETURN identify_pc(PcIdentifier& identifier) const = 0;
 	virtual std::vector<PcIdentifier> alternative_ids() const = 0;
-	virtual EVENT_TYPE validate_identifier(const PcIdentifier &identifier) const = 0;
+	virtual LCC_EVENT_TYPE validate_identifier(const PcIdentifier& identifier) const = 0;
+	static std::unique_ptr<IdentificationStrategy> get_strategy(LCC_API_IDENTIFICATION_STRATEGY strategy);
 };
 
+}  // namespace pc_identifier
 } /* namespace license */
 
 #endif /* SRC_LIBRARY_PC_IDENTIFIER_IDENTIFICATION_STRATEGY_HPP_ */

--
Gitblit v1.9.1