mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-04 15:50:10 +01:00
23 lines
530 B
C++
23 lines
530 B
C++
#pragma once
|
|
|
|
class CPUThread;
|
|
|
|
class CallbackManager
|
|
{
|
|
std::vector<std::function<s32()>> m_cb_list;
|
|
std::vector<std::function<void()>> m_async_list;
|
|
CPUThread* m_cb_thread;
|
|
std::mutex m_mutex;
|
|
|
|
public:
|
|
void Register(const std::function<s32()>& func); // register callback (called in Check() method)
|
|
|
|
void Async(const std::function<void()>& func); // register callback for callback thread (called immediately)
|
|
|
|
bool Check(s32& result); // call one callback registered by Register() method
|
|
|
|
void Init();
|
|
|
|
void Clear();
|
|
};
|