rpcsx/rpcs3/Emu/SysCalls/Callback.h
2014-09-13 18:25:02 +04:00

22 lines
533 B
C++

#pragma once
#include "CB_FUNC.h"
class CallbackManager
{
std::vector<std::function<s32()>> m_cb_list;
std::vector<std::function<void()>> m_async_list;
PPUThread* 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();
};