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