TimingEvents: Use function pointers instead of std::function

This commit is contained in:
Connor McLaughlin
2021-01-10 01:43:59 +10:00
parent 8c241ed8de
commit 11992bde4e
10 changed files with 56 additions and 35 deletions

View File

@ -78,10 +78,14 @@ CDROM::~CDROM() = default;
void CDROM::Initialize()
{
m_command_event =
TimingEvents::CreateTimingEvent("CDROM Command Event", 1, 1, std::bind(&CDROM::ExecuteCommand, this), false);
m_drive_event = TimingEvents::CreateTimingEvent("CDROM Drive Event", 1, 1,
std::bind(&CDROM::ExecuteDrive, this, std::placeholders::_2), false);
m_command_event = TimingEvents::CreateTimingEvent(
"CDROM Command Event", 1, 1,
[](void* param, TickCount ticks, TickCount ticks_late) { static_cast<CDROM*>(param)->ExecuteCommand(); }, this,
false);
m_drive_event = TimingEvents::CreateTimingEvent(
"CDROM Drive Event", 1, 1,
[](void* param, TickCount ticks, TickCount ticks_late) { static_cast<CDROM*>(param)->ExecuteDrive(ticks_late); },
this, false);
if (g_settings.cdrom_read_thread)
m_reader.StartThread();