LLDB mainline
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::mcp::ProtocolServerMCP Class Reference

#include <ProtocolServerMCP.h>

Inheritance diagram for lldb_private::mcp::ProtocolServerMCP:
[legend]

Public Member Functions

 ProtocolServerMCP ()
 
virtual ~ProtocolServerMCP () override
 
virtual llvm::Error Start (ProtocolServer::Connection connection) override
 
virtual llvm::Error Stop () override
 
llvm::StringRef GetPluginName () override
 
SocketGetSocket () const override
 
- Public Member Functions inherited from lldb_private::ProtocolServer
 ProtocolServer ()=default
 
virtual ~ProtocolServer ()=default
 
virtual llvm::Error Start (Connection connection)=0
 
virtual llvm::Error Stop ()=0
 
virtual SocketGetSocket () const =0
 
- Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
 
virtual ~PluginInterface ()=default
 
virtual llvm::StringRef GetPluginName ()=0
 
 PluginInterface (const PluginInterface &)=delete
 
PluginInterfaceoperator= (const PluginInterface &)=delete
 

Static Public Member Functions

static void Initialize ()
 
static void Terminate ()
 
static llvm::StringRef GetPluginNameStatic ()
 
static llvm::StringRef GetPluginDescriptionStatic ()
 
static lldb::ProtocolServerUP CreateInstance ()
 
- Static Public Member Functions inherited from lldb_private::ProtocolServer
static ProtocolServerGetOrCreate (llvm::StringRef name)
 
static llvm::Error Terminate ()
 
static std::vector< llvm::StringRef > GetSupportedProtocols ()
 

Protected Member Functions

virtual void Extend (lldb_protocol::mcp::Server &server) const
 

Private Member Functions

void AcceptCallback (std::unique_ptr< Socket > socket)
 

Private Attributes

bool m_running = false
 
FileSpec m_mcp_registry_entry_path
 
lldb_private::MainLoop m_loop
 
std::thread m_loop_thread
 
std::mutex m_mutex
 
std::unique_ptr< Socketm_listener
 
std::vector< MainLoopBase::ReadHandleUPm_listen_handlers
 
std::vector< std::unique_ptr< lldb_protocol::mcp::Server > > m_instances
 

Detailed Description

Definition at line 21 of file ProtocolServerMCP.h.

Constructor & Destructor Documentation

◆ ProtocolServerMCP()

ProtocolServerMCP::ProtocolServerMCP ( )

Definition at line 33 of file ProtocolServerMCP.cpp.

◆ ~ProtocolServerMCP()

ProtocolServerMCP::~ProtocolServerMCP ( )
overridevirtual

Definition at line 35 of file ProtocolServerMCP.cpp.

References Stop().

Member Function Documentation

◆ AcceptCallback()

void ProtocolServerMCP::AcceptCallback ( std::unique_ptr< Socket socket)
private

◆ CreateInstance()

lldb::ProtocolServerUP ProtocolServerMCP::CreateInstance ( )
static

Definition at line 48 of file ProtocolServerMCP.cpp.

Referenced by Initialize(), and Terminate().

◆ Extend()

void ProtocolServerMCP::Extend ( lldb_protocol::mcp::Server server) const
protectedvirtual

◆ GetPluginDescriptionStatic()

llvm::StringRef ProtocolServerMCP::GetPluginDescriptionStatic ( )
static

Definition at line 52 of file ProtocolServerMCP.cpp.

Referenced by Initialize().

◆ GetPluginName()

llvm::StringRef lldb_private::mcp::ProtocolServerMCP::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 37 of file ProtocolServerMCP.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

static llvm::StringRef lldb_private::mcp::ProtocolServerMCP::GetPluginNameStatic ( )
inlinestatic

Definition at line 32 of file ProtocolServerMCP.h.

Referenced by GetPluginName(), and Initialize().

◆ GetSocket()

Socket * lldb_private::mcp::ProtocolServerMCP::GetSocket ( ) const
inlineoverridevirtual

Implements lldb_private::ProtocolServer.

Definition at line 39 of file ProtocolServerMCP.h.

References m_listener.

◆ Initialize()

void ProtocolServerMCP::Initialize ( )
static

◆ Start()

llvm::Error ProtocolServerMCP::Start ( ProtocolServer::Connection  connection)
overridevirtual

◆ Stop()

llvm::Error ProtocolServerMCP::Stop ( )
overridevirtual

◆ Terminate()

void ProtocolServerMCP::Terminate ( )
static

Member Data Documentation

◆ m_instances

std::vector<std::unique_ptr<lldb_protocol::mcp::Server> > lldb_private::mcp::ProtocolServerMCP::m_instances
private

Definition at line 59 of file ProtocolServerMCP.h.

Referenced by AcceptCallback().

◆ m_listen_handlers

std::vector<MainLoopBase::ReadHandleUP> lldb_private::mcp::ProtocolServerMCP::m_listen_handlers
private

Definition at line 58 of file ProtocolServerMCP.h.

Referenced by Start().

◆ m_listener

std::unique_ptr<Socket> lldb_private::mcp::ProtocolServerMCP::m_listener
private

Definition at line 56 of file ProtocolServerMCP.h.

Referenced by GetSocket(), and Start().

◆ m_loop

lldb_private::MainLoop lldb_private::mcp::ProtocolServerMCP::m_loop
private

Definition at line 52 of file ProtocolServerMCP.h.

Referenced by AcceptCallback(), Start(), and Stop().

◆ m_loop_thread

std::thread lldb_private::mcp::ProtocolServerMCP::m_loop_thread
private

Definition at line 53 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_mcp_registry_entry_path

FileSpec lldb_private::mcp::ProtocolServerMCP::m_mcp_registry_entry_path
private

Definition at line 51 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_mutex

std::mutex lldb_private::mcp::ProtocolServerMCP::m_mutex
private

Definition at line 54 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_running

bool lldb_private::mcp::ProtocolServerMCP::m_running = false
private

Definition at line 49 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().


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