//std::vector<rom_entry> m_romdata; // construction/destruction //------------------------------------------------- // software_part - constructor //------------------------------------------------- software_part(software_info info, string name, string interface_name) { m_next = null; m_info = info; m_name = name; m_interface = interface_name; }
//------------------------------------------------- // audit_software //------------------------------------------------- public summary audit_software(software_list_device swlist, software_info swinfo, string validation = AUDIT_VALIDATE_FULL) { // start fresh m_record_list.clear(); // store validation for later m_validation = validation; int found = 0; int required = 0; throw new emu_unimplemented(); #if false // now iterate over software parts std::vector <std::string> searchpath; auto const do_audit = [this, &swlist, &swinfo, &searchpath] (rom_entry const *region, rom_entry const *rom)->audit_record const * { if (ROMREGION_ISROMDATA(region)) { if (searchpath.empty()) { searchpath = rom_load_manager::get_software_searchpath(swlist, swinfo); } return(&audit_one_rom(searchpath, rom)); } else if (ROMREGION_ISDISKDATA(region)) { return(&audit_one_disk(rom, swlist, swinfo)); } else { return(nullptr); } }; for (const software_part&part : swinfo.parts()) { audit_regions(do_audit, part.romdata().data(), found, required); } if (found == 0 && required > 0) { m_record_list.clear(); return(summary.NOTFOUND); } // return a summary return(summarize(swlist.list_name().c_str())); #endif }
//------------------------------------------------- // audit_software //------------------------------------------------- public summary audit_software(string list_name, software_info swinfo, string validation = AUDIT_VALIDATE_FULL) { // start fresh m_record_list.clear(); // store validation for later m_validation = validation; string combinedpath = swinfo.shortname() + ";" + list_name + osdcore_global.PATH_SEPARATOR + swinfo.shortname(); string locationtag = list_name + "%" + swinfo.shortname() + "%"; if (swinfo.parentname() != null) { locationtag += swinfo.parentname(); combinedpath += ";" + swinfo.parentname() + ";" + list_name + osdcore_global.PATH_SEPARATOR + swinfo.parentname(); } m_searchpath = combinedpath; int found = 0; int required = 0; throw new emu_unimplemented(); #if false // now iterate over software parts foreach (software_part part in swinfo.parts()) { audit_regions(part.romdata().data(), locationtag.c_str(), found, required); } #endif if (found == 0 && required > 0) { m_record_list.clear(); return(summary.NOTFOUND); } // return a summary string unused = ""; return(summarize(list_name, ref unused)); }