mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-18 03:13:55 +00:00
Small callback optimization and unification
This commit is contained in:
@@ -54,9 +54,10 @@ namespace utils
|
||||
}
|
||||
}
|
||||
|
||||
module_manager::module_manager(memory_manager& memory, file_system& file_sys)
|
||||
module_manager::module_manager(memory_manager& memory, file_system& file_sys, callbacks& cb)
|
||||
: memory_(&memory),
|
||||
file_sys_(&file_sys)
|
||||
file_sys_(&file_sys),
|
||||
callbacks_(&cb)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -95,7 +96,7 @@ mapped_module* module_manager::map_local_module(const std::filesystem::path& fil
|
||||
|
||||
const auto image_base = mod.image_base;
|
||||
const auto entry = this->modules_.try_emplace(image_base, std::move(mod));
|
||||
this->on_module_load(entry.first->second);
|
||||
this->callbacks_->on_module_load(entry.first->second);
|
||||
return &entry.first->second;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
@@ -147,7 +148,7 @@ bool module_manager::unmap(const uint64_t address, const logger& logger)
|
||||
|
||||
logger.log("Unmapping %s (0x%" PRIx64 ")\n", mod->second.path.generic_string().c_str(), mod->second.image_base);
|
||||
|
||||
this->on_module_unload(mod->second);
|
||||
this->callbacks_->on_module_unload(mod->second);
|
||||
unmap_module(*this->memory_, mod->second);
|
||||
this->modules_.erase(mod);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user