LLDB mainline
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::MainLoopWindows Class Reference

#include <MainLoopWindows.h>

Inheritance diagram for lldb_private::MainLoopWindows:
Inheritance graph
[legend]

Classes

struct  FdInfo
 

Public Member Functions

 MainLoopWindows ()
 
 ~MainLoopWindows () override
 
ReadHandleUP RegisterReadObject (const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error) override
 
Status Run () override
 
- Public Member Functions inherited from lldb_private::MainLoopBase
 MainLoopBase ()
 
virtual ~MainLoopBase ()=default
 
virtual ReadHandleUP RegisterReadObject (const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error)=0
 
void AddPendingCallback (const Callback &callback)
 
virtual Status Run ()
 
virtual void RequestTermination ()
 

Protected Member Functions

void UnregisterReadObject (IOObject::WaitableHandle handle) override
 
void TriggerPendingCallbacks () override
 
- Protected Member Functions inherited from lldb_private::MainLoopBase
ReadHandleUP CreateReadHandle (const lldb::IOObjectSP &object_sp)
 
virtual void UnregisterReadObject (IOObject::WaitableHandle handle)=0
 
virtual void TriggerPendingCallbacks ()=0
 
void ProcessPendingCallbacks ()
 

Private Member Functions

void ProcessReadObject (IOObject::WaitableHandle handle)
 
llvm::Expected< size_t > Poll ()
 

Private Attributes

llvm::DenseMap< IOObject::WaitableHandle, FdInfom_read_fds
 
void * m_trigger_event
 

Additional Inherited Members

- Public Types inherited from lldb_private::MainLoopBase
typedef std::unique_ptr< ReadHandleReadHandleUP
 
typedef std::function< void(MainLoopBase &)> Callback
 
- Protected Attributes inherited from lldb_private::MainLoopBase
std::mutex m_callback_mutex
 
std::vector< Callbackm_pending_callbacks
 
bool m_terminate_request: 1
 

Detailed Description

Definition at line 23 of file MainLoopWindows.h.

Constructor & Destructor Documentation

◆ MainLoopWindows()

MainLoopWindows::MainLoopWindows ( )

Definition at line 24 of file MainLoopWindows.cpp.

References m_trigger_event.

◆ ~MainLoopWindows()

MainLoopWindows::~MainLoopWindows ( )
override

Definition at line 29 of file MainLoopWindows.cpp.

References m_read_fds, m_trigger_event, and UNUSED_IF_ASSERT_DISABLED.

Member Function Documentation

◆ Poll()

llvm::Expected< size_t > MainLoopWindows::Poll ( )
private

Definition at line 36 of file MainLoopWindows.cpp.

References m_read_fds, m_trigger_event, and UNUSED_IF_ASSERT_DISABLED.

Referenced by Run().

◆ ProcessReadObject()

void MainLoopWindows::ProcessReadObject ( IOObject::WaitableHandle  handle)
private

Definition at line 106 of file MainLoopWindows.cpp.

References m_read_fds.

Referenced by Run().

◆ RegisterReadObject()

MainLoopWindows::ReadHandleUP MainLoopWindows::RegisterReadObject ( const lldb::IOObjectSP object_sp,
const Callback callback,
Status error 
)
overridevirtual

◆ Run()

Status MainLoopWindows::Run ( )
overridevirtual

◆ TriggerPendingCallbacks()

void MainLoopWindows::TriggerPendingCallbacks ( )
overrideprotectedvirtual

Implements lldb_private::MainLoopBase.

Definition at line 136 of file MainLoopWindows.cpp.

References m_trigger_event.

◆ UnregisterReadObject()

void MainLoopWindows::UnregisterReadObject ( IOObject::WaitableHandle  handle)
overrideprotectedvirtual

Implements lldb_private::MainLoopBase.

Definition at line 97 of file MainLoopWindows.cpp.

References m_read_fds, and UNUSED_IF_ASSERT_DISABLED.

Member Data Documentation

◆ m_read_fds

llvm::DenseMap<IOObject::WaitableHandle, FdInfo> lldb_private::MainLoopWindows::m_read_fds
private

◆ m_trigger_event

void* lldb_private::MainLoopWindows::m_trigger_event
private

The documentation for this class was generated from the following files: