| | |
| | | using namespace std; |
| | | |
| | | LCC_EVENT_TYPE HwIdentifierFacade::validate_pc_signature(const std::string& str_code) { |
| | | HwIdentifier pc_id(str_code); |
| | | LCC_API_HW_IDENTIFICATION_STRATEGY id_strategy = pc_id.get_identification_strategy(); |
| | | LCC_EVENT_TYPE result = IDENTIFIERS_MISMATCH; |
| | | try { |
| | | HwIdentifier pc_id(str_code); |
| | | LCC_API_HW_IDENTIFICATION_STRATEGY id_strategy = pc_id.get_identification_strategy(); |
| | | unique_ptr<IdentificationStrategy> strategy = IdentificationStrategy::get_strategy(id_strategy); |
| | | result = strategy->validate_identifier(pc_id); |
| | | } catch (logic_error& e) { |
| | | LOG_ERROR("Error validating identifier %s: %s", str_code.c_str(), e.what()); |
| | | ((void)(e)); |
| | | } |
| | | return result; |
| | | } |
| | |
| | | unique_ptr<IdentificationStrategy> strategy_ptr = IdentificationStrategy::get_strategy(strategy); |
| | | HwIdentifier pc_id; |
| | | FUNCTION_RETURN result = strategy_ptr->generate_pc_id(pc_id); |
| | | pc_id.set_use_environment_var(use_env_var); |
| | | if (result != FUNC_RET_OK) { |
| | | throw logic_error("strategy " + to_string(strategy_ptr->identification_strategy()) + " failed"); |
| | | } |