SignatureDB: const correctness and cleanup
This commit is contained in:
parent
a2cba6d72f
commit
2daf5cb86f
|
@ -18,7 +18,7 @@
|
|||
#include "Core/PowerPC/SignatureDB/DSYSignatureDB.h"
|
||||
|
||||
std::unique_ptr<SignatureDBFormatHandler>
|
||||
SignatureDB::CreateFormatHandler(const std::string& file_path)
|
||||
SignatureDB::CreateFormatHandler(const std::string& file_path) const
|
||||
{
|
||||
if (StringEndsWith(file_path, ".csv"))
|
||||
return std::make_unique<CSVSignatureDB>();
|
||||
|
@ -31,7 +31,7 @@ bool SignatureDB::Load(const std::string& file_path)
|
|||
return handler->Load(file_path, m_database);
|
||||
}
|
||||
|
||||
bool SignatureDB::Save(const std::string& file_path)
|
||||
bool SignatureDB::Save(const std::string& file_path) const
|
||||
{
|
||||
auto handler = CreateFormatHandler(file_path);
|
||||
return handler->Save(file_path, m_database);
|
||||
|
@ -53,7 +53,7 @@ bool SignatureDB::Save(const std::string& file_path)
|
|||
return hash;
|
||||
}*/
|
||||
|
||||
void SignatureDB::List()
|
||||
void SignatureDB::List() const
|
||||
{
|
||||
for (const auto& entry : m_database)
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ void SignatureDB::Clear()
|
|||
m_database.clear();
|
||||
}
|
||||
|
||||
void SignatureDB::Apply(PPCSymbolDB* symbol_db)
|
||||
void SignatureDB::Apply(PPCSymbolDB* symbol_db) const
|
||||
{
|
||||
for (const auto& entry : m_database)
|
||||
{
|
||||
|
@ -92,13 +92,13 @@ void SignatureDB::Apply(PPCSymbolDB* symbol_db)
|
|||
symbol_db->Index();
|
||||
}
|
||||
|
||||
void SignatureDB::Initialize(PPCSymbolDB* symbol_db, const std::string& prefix)
|
||||
void SignatureDB::Populate(const PPCSymbolDB* symbol_db, const std::string& filter)
|
||||
{
|
||||
for (const auto& symbol : symbol_db->Symbols())
|
||||
{
|
||||
if ((prefix.empty() && (!symbol.second.name.empty()) &&
|
||||
if ((filter.empty() && (!symbol.second.name.empty()) &&
|
||||
symbol.second.name.substr(0, 3) != "zz_" && symbol.second.name.substr(0, 1) != ".") ||
|
||||
((!prefix.empty()) && symbol.second.name.substr(0, prefix.size()) == prefix))
|
||||
((!filter.empty()) && symbol.second.name.substr(0, filter.size()) == filter))
|
||||
{
|
||||
DBFunc temp_dbfunc;
|
||||
temp_dbfunc.name = symbol.second.name;
|
||||
|
|
|
@ -33,17 +33,17 @@ public:
|
|||
|
||||
// Does not clear. Remember to clear first if that's what you want.
|
||||
bool Load(const std::string& file_path);
|
||||
bool Save(const std::string& file_path);
|
||||
bool Save(const std::string& file_path) const;
|
||||
void List() const;
|
||||
void Clear();
|
||||
void List();
|
||||
|
||||
void Initialize(PPCSymbolDB* func_db, const std::string& prefix = "");
|
||||
void Apply(PPCSymbolDB* func_db);
|
||||
void Populate(const PPCSymbolDB* func_db, const std::string& filter = "");
|
||||
void Apply(PPCSymbolDB* func_db) const;
|
||||
|
||||
static u32 ComputeCodeChecksum(u32 offsetStart, u32 offsetEnd);
|
||||
|
||||
private:
|
||||
std::unique_ptr<SignatureDBFormatHandler> CreateFormatHandler(const std::string& file_path);
|
||||
std::unique_ptr<SignatureDBFormatHandler> CreateFormatHandler(const std::string& file_path) const;
|
||||
// Map from signature to function. We store the DB in this map because it optimizes the
|
||||
// most common operation - lookup. We don't care about ordering anyway.
|
||||
FuncDB m_database;
|
||||
|
|
|
@ -353,7 +353,7 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event)
|
|||
if (!path.IsEmpty())
|
||||
{
|
||||
SignatureDB db;
|
||||
db.Initialize(&g_symbolDB, prefix);
|
||||
db.Populate(&g_symbolDB, prefix);
|
||||
db.Save(WxStrToStr(path));
|
||||
db.List();
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event)
|
|||
if (!path.IsEmpty())
|
||||
{
|
||||
SignatureDB db;
|
||||
db.Initialize(&g_symbolDB, prefix);
|
||||
db.Populate(&g_symbolDB, prefix);
|
||||
db.List();
|
||||
db.Load(WxStrToStr(path));
|
||||
db.Save(WxStrToStr(path));
|
||||
|
|
Loading…
Reference in New Issue