diff options
Diffstat (limited to 'src/frontend/mame/audit.h')
-rw-r--r-- | src/frontend/mame/audit.h | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/frontend/mame/audit.h b/src/frontend/mame/audit.h index 42296d9260b..511b4c98845 100644 --- a/src/frontend/mame/audit.h +++ b/src/frontend/mame/audit.h @@ -7,12 +7,11 @@ ROM, disk, and sample auditing functions. ***************************************************************************/ - -#pragma once - #ifndef MAME_FRONTEND_AUDIT_H #define MAME_FRONTEND_AUDIT_H +#pragma once + #include "hash.h" #include <iosfwd> @@ -38,6 +37,7 @@ // forward declarations class driver_enumerator; +class software_list_device; @@ -137,15 +137,15 @@ public: private: // internal state - media_type m_type; // type of item that was audited - audit_status m_status; // status of audit on this item - audit_substatus m_substatus; // finer-detail status - const char * m_name; // name of item - uint64_t m_explength; // expected length of item - uint64_t m_length; // actual length of item - util::hash_collection m_exphashes; // expected hash data - util::hash_collection m_hashes; // actual hash information - device_t * m_shared_device; // device that shares the rom + media_type m_type; // type of item that was audited + audit_status m_status; // status of audit on this item + audit_substatus m_substatus; // finer-detail status + const char * m_name; // name of item + uint64_t m_explength; // expected length of item + uint64_t m_length; // actual length of item + util::hash_collection m_exphashes; // expected hash data + util::hash_collection m_hashes; // actual hash information + device_t * m_shared_device; // device that shares the rom }; using record_list = std::list<audit_record>; @@ -158,15 +158,15 @@ public: // audit operations summary audit_media(const char *validation = AUDIT_VALIDATE_FULL); summary audit_device(device_t &device, const char *validation = AUDIT_VALIDATE_FULL); - summary audit_software(const std::string &list_name, const software_info *swinfo, const char *validation = AUDIT_VALIDATE_FULL); + summary audit_software(software_list_device &swlist, const software_info &swinfo, const char *validation = AUDIT_VALIDATE_FULL); summary audit_samples(); summary summarize(const char *name, std::ostream *output = nullptr) const; private: // internal helpers - void audit_regions(const rom_entry *region, const char *locationtag, std::size_t &found, std::size_t &required); - audit_record &audit_one_rom(const rom_entry *rom); - audit_record &audit_one_disk(const rom_entry *rom, const char *locationtag); + template <typename T> void audit_regions(T do_audit, const rom_entry *region, std::size_t &found, std::size_t &required); + audit_record &audit_one_rom(const std::vector<std::string> &searchpath, const rom_entry *rom); + template <typename... T> audit_record &audit_one_disk(const rom_entry *rom, T &&... args); void compute_status(audit_record &record, const rom_entry *rom, bool found); device_t *find_shared_device(device_t &device, const char *name, const util::hash_collection &romhashes, uint64_t romlength); @@ -174,7 +174,6 @@ private: record_list m_record_list; const driver_enumerator & m_enumerator; const char * m_validation; - std::string m_searchpath; }; |