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

#include <MainLoop.h>

Inheritance diagram for lldb_private::MainLoop:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::MainLoop:
Collaboration graph
[legend]

Classes

class  RunImpl
 
class  SignalHandle
 
struct  SignalInfo
 

Public Types

typedef std::unique_ptr< SignalHandleSignalHandleUP
 
- Public Types inherited from lldb_private::MainLoopBase
typedef std::unique_ptr< ReadHandleReadHandleUP
 
typedef std::function< void(MainLoopBase &)> Callback
 

Public Member Functions

 MainLoop ()
 
 ~MainLoop () override
 
ReadHandleUP RegisterReadObject (const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error) override
 
SignalHandleUP RegisterSignal (int signo, const Callback &callback, Status &error)
 
Status Run () override
 
void RequestTermination () override
 
- Public Member Functions inherited from lldb_private::MainLoopBase
 MainLoopBase ()=default
 
virtual ~MainLoopBase ()=default
 

Protected Member Functions

void UnregisterReadObject (IOObject::WaitableHandle handle) override
 
void UnregisterSignal (int signo, std::list< Callback >::iterator callback_it)
 
- Protected Member Functions inherited from lldb_private::MainLoopBase
ReadHandleUP CreateReadHandle (const lldb::IOObjectSP &object_sp)
 

Private Member Functions

void ProcessReadObject (IOObject::WaitableHandle handle)
 
void ProcessSignal (int signo)
 

Private Attributes

llvm::DenseMap< IOObject::WaitableHandle, Callbackm_read_fds
 
llvm::DenseMap< int, SignalInfom_signals
 
bool m_terminate_request: 1
 

Detailed Description

Definition at line 38 of file MainLoop.h.

Member Typedef Documentation

◆ SignalHandleUP

Definition at line 40 of file MainLoop.h.

Constructor & Destructor Documentation

◆ MainLoop()

MainLoop::MainLoop ( )

Definition at line 258 of file MainLoop.cpp.

◆ ~MainLoop()

MainLoop::~MainLoop ( )
override

Definition at line 264 of file MainLoop.cpp.

Member Function Documentation

◆ ProcessReadObject()

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

Definition at line 420 of file MainLoop.cpp.

Referenced by lldb_private::MainLoop::RunImpl::ProcessEvents().

◆ ProcessSignal()

void MainLoop::ProcessSignal ( int  signo)
private

Definition at line 408 of file MainLoop.cpp.

Referenced by lldb_private::MainLoop::RunImpl::ProcessEvents().

◆ RegisterReadObject()

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

◆ RegisterSignal()

MainLoop::SignalHandleUP MainLoop::RegisterSignal ( int  signo,
const Callback callback,
Status error 
)

◆ RequestTermination()

void lldb_private::MainLoop::RequestTermination ( )
inlineoverridevirtual

◆ Run()

Status MainLoop::Run ( )
overridevirtual

◆ UnregisterReadObject()

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

Reimplemented from lldb_private::MainLoopBase.

Definition at line 350 of file MainLoop.cpp.

References UNUSED_IF_ASSERT_DISABLED.

◆ UnregisterSignal()

void MainLoop::UnregisterSignal ( int  signo,
std::list< Callback >::iterator  callback_it 
)
protected

Definition at line 356 of file MainLoop.cpp.

References set().

Referenced by lldb_private::MainLoop::SignalHandle::~SignalHandle().

Member Data Documentation

◆ m_read_fds

llvm::DenseMap<IOObject::WaitableHandle, Callback> lldb_private::MainLoop::m_read_fds
private

◆ m_signals

llvm::DenseMap<int, SignalInfo> lldb_private::MainLoop::m_signals
private

◆ m_terminate_request

bool lldb_private::MainLoop::m_terminate_request
private

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