| | |
| | | |
| | | HwIdentifier::HwIdentifier(const HwIdentifier& other) : m_data(other.m_data) {} |
| | | |
| | | void HwIdentifier::set_identification_strategy(LCC_API_IDENTIFICATION_STRATEGY strategy) { |
| | | void HwIdentifier::set_identification_strategy(LCC_API_HW_IDENTIFICATION_STRATEGY strategy) { |
| | | if (strategy == STRATEGY_NONE || strategy == STRATEGY_DEFAULT) { |
| | | throw logic_error("Only known strategies are permitted"); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | void HwIdentifier::set_virtual_environment(os::VIRTUALIZATION virt) { |
| | | // 110000 0x30 |
| | | m_data[0] = (m_data[0] & ~0x30) | virt << 4; |
| | | } |
| | | |
| | | void HwIdentifier::set_virtualization(os::VIRTUALIZATION_DETAIL virtualization_detail) { |
| | | m_data[0] = (m_data[0] & ~0x0F) | virtualization_detail; |
| | | } |
| | | |
| | | void HwIdentifier::set_cloud_provider(os::CLOUD_PROVIDER cloud_provider) { |
| | | m_data[0] = (m_data[0] & ~0x0F) | cloud_provider | 0x08; |
| | | } |
| | | |
| | | void HwIdentifier::set_data(const std::array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA>& data) { |
| | | m_data[1] = (m_data[1] & (~0x1f)) | (data[0] & 0x1f); |
| | | for (int i = 1; i < HW_IDENTIFIER_PROPRIETARY_DATA; i++) { |
| | |
| | | return result.substr(0, result.size() - 1); |
| | | } |
| | | |
| | | LCC_API_IDENTIFICATION_STRATEGY HwIdentifier::get_identification_strategy() const { |
| | | LCC_API_HW_IDENTIFICATION_STRATEGY HwIdentifier::get_identification_strategy() const { |
| | | uint8_t stratMov = m_data[1] >> 5; |
| | | return static_cast<LCC_API_IDENTIFICATION_STRATEGY>(stratMov); |
| | | return static_cast<LCC_API_HW_IDENTIFICATION_STRATEGY>(stratMov); |
| | | } |
| | | |
| | | bool HwIdentifier::data_match(const std::array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA>& data) const { |