Lines Matching refs:icd_details
443 TestICD& FrameworkEnvironment::add_icd(TestICDDetails icd_details) noexcept {
446 if (icd_details.discovery_type == ManifestDiscoveryType::env_var ||
447 icd_details.discovery_type == ManifestDiscoveryType::add_env_var) {
450 if (icd_details.discovery_type == ManifestDiscoveryType::windows_app_package) {
453 if (icd_details.discovery_type == ManifestDiscoveryType::macos_bundle) {
456 if (icd_details.discovery_type == ManifestDiscoveryType::unsecured_generic) {
459 if (icd_details.discovery_type == ManifestDiscoveryType::null_dir ||
460 icd_details.discovery_type == ManifestDiscoveryType::none) {
463 if (!icd_details.is_fake) {
464 fs::path new_driver_name = fs::path(icd_details.icd_manifest.lib_path).stem() + "_" + std::to_string(cur_icd_index) +
465 fs::path(icd_details.icd_manifest.lib_path).extension();
467 auto new_driver_location = folder->copy_file(icd_details.icd_manifest.lib_path, new_driver_name.str());
470 if (icd_details.library_path_type == LibraryPathType::default_search_paths) {
472 } else if (icd_details.library_path_type == LibraryPathType::relative) {
478 if (icd_details.library_path_type == LibraryPathType::default_search_paths) {
485 if (icd_details.library_path_type == LibraryPathType::relative) {
486 icd_details.icd_manifest.lib_path = fs::path(".") / new_driver_name;
487 } else if (icd_details.library_path_type == LibraryPathType::default_search_paths) {
488 icd_details.icd_manifest.lib_path = new_driver_name.str();
490 icd_details.icd_manifest.lib_path = new_driver_location.str();
493 if (icd_details.discovery_type != ManifestDiscoveryType::none) {
494 std::string full_json_name = icd_details.json_name;
495 if (!icd_details.disable_icd_inc) {
499 icds.back().manifest_path = folder->write_manifest(full_json_name, icd_details.icd_manifest.get_manifest_str());
501 switch (icd_details.discovery_type) {
511 if (icd_details.is_dir) {
519 if (icd_details.is_dir) {