summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/audit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/audit.h')
-rw-r--r--src/frontend/mame/audit.h33
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;
};