MainLoopBase & m_mainloop
IOObject::WaitableHandle m_handle
ReadHandle(const ReadHandle &)=delete
ReadHandle(MainLoopBase &mainloop, IOObject::WaitableHandle handle)
const ReadHandle & operator=(const ReadHandle &)=delete
std::unique_ptr< ReadHandle > ReadHandleUP
virtual void UnregisterReadObject(IOObject::WaitableHandle handle)=0
const MainLoopBase & operator=(const MainLoopBase &)=delete
virtual void TriggerPendingCallbacks()=0
virtual ReadHandleUP RegisterReadObject(const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error)=0
ReadHandleUP CreateReadHandle(const lldb::IOObjectSP &object_sp)
virtual ~MainLoopBase()=default
MainLoopBase(const MainLoopBase &)=delete
void AddPendingCallback(const Callback &callback)
std::function< void(MainLoopBase &)> Callback
std::mutex m_callback_mutex
virtual void RequestTermination()
std::vector< Callback > m_pending_callbacks
void ProcessPendingCallbacks()