MCPcopy Create free account
hub / github.com/Neverous/efibooteditor / fromEFIBootLoadOption

Method fromEFIBootLoadOption

src/bootentry.cpp:2599–2623  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2597}
2598
2599auto BootEntry::fromEFIBootLoadOption(
2600 const EFIBoot::Load_option &load_option) -> BootEntry
2601{
2602 BootEntry value{};
2603 value.description = QString::fromStdU16String(load_option.description);
2604
2605 value.optional_data_format = OptionalDataFormat::Base64;
2606 if(toUnicode(value.optional_data, load_option.optional_data, "UTF-8") && !value.optional_data.contains(QChar(0)))
2607 value.optional_data_format = OptionalDataFormat::Utf8;
2608
2609 if(value.optional_data_format == OptionalDataFormat::Base64 && load_option.optional_data.size() % sizeof(char16_t) == 0 && toUnicode(value.optional_data, load_option.optional_data, "UTF-16") && !value.optional_data.contains(QChar(0)))
2610 value.optional_data_format = OptionalDataFormat::Utf16;
2611
2612 if(value.optional_data_format == OptionalDataFormat::Base64)
2613 value.optional_data = QByteArray::fromRawData(reinterpret_cast<const char *>(load_option.optional_data.data()), static_cast<int>(load_option.optional_data.size() * sizeof(decltype(load_option.optional_data)::value_type))).toBase64();
2614
2615 value.attributes = load_option.attributes;
2616
2617 for(const auto &file_path: load_option.device_path)
2618 value.device_path.push_back(std::visit([](const auto &path) -> FilePath::ANY
2619 { return path; },
2620 file_path));
2621
2622 return value;
2623}
2624
2625auto BootEntry::fromError(const QString &error) -> BootEntry
2626{

Callers

nothing calls this directly

Calls 2

toUnicodeFunction · 0.85
dataMethod · 0.45

Tested by

no test coverage detected