Exemple #1
0
        //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;
        }
Exemple #2
0
        //-------------------------------------------------
        //  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
        }
Exemple #3
0
        //-------------------------------------------------
        //  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));
        }