rpcsx/rpcs3/Emu/SysCalls/Callback.h
Nekotekina da09477be8 Callback syntax changed
call() became overloaded () operator
2015-01-11 13:43:40 +03:00

24 lines
619 B
C++

#pragma once
class CPUThread;
class PPUThread;
class CallbackManager
{
std::vector<std::function<s32(CPUThread& CPU)>> m_cb_list;
std::vector<std::function<void(CPUThread& CPU)>> m_async_list;
CPUThread* m_cb_thread;
std::mutex m_mutex;
public:
void Register(const std::function<s32(PPUThread& PPU)>& func); // register callback (called in Check() method)
void Async(const std::function<void(PPUThread& PPU)>& func); // register callback for callback thread (called immediately)
bool Check(CPUThread& CPU, s32& result); // call one callback registered by Register() method
void Init();
void Clear();
};