LLDB mainline
|
#include <ProtocolServerMCP.h>
Public Member Functions | |
ProtocolServerMCP () | |
virtual | ~ProtocolServerMCP () override |
virtual llvm::Error | Start (ProtocolServer::Connection connection) override |
virtual llvm::Error | Stop () override |
llvm::StringRef | GetPluginName () override |
Socket * | GetSocket () const override |
![]() | |
ProtocolServer ()=default | |
virtual | ~ProtocolServer ()=default |
virtual llvm::Error | Start (Connection connection)=0 |
virtual llvm::Error | Stop ()=0 |
virtual Socket * | GetSocket () const =0 |
![]() | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (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 ProtocolServer * | GetOrCreate (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< Socket > | m_listener |
std::vector< MainLoopBase::ReadHandleUP > | m_listen_handlers |
std::vector< std::unique_ptr< lldb_protocol::mcp::Server > > | m_instances |
Definition at line 21 of file ProtocolServerMCP.h.
ProtocolServerMCP::ProtocolServerMCP | ( | ) |
Definition at line 33 of file ProtocolServerMCP.cpp.
|
overridevirtual |
Definition at line 35 of file ProtocolServerMCP.cpp.
References Stop().
|
private |
Definition at line 67 of file ProtocolServerMCP.cpp.
References error(), Extend(), lldb_private::GetLog(), lldb_private::Host, kName, kVersion, LLDB_LOG, LLDB_LOG_ERROR, m_instances, and m_loop.
Referenced by Start().
|
static |
Definition at line 48 of file ProtocolServerMCP.cpp.
Referenced by Initialize(), and Terminate().
|
protectedvirtual |
Definition at line 56 of file ProtocolServerMCP.cpp.
References lldb_protocol::mcp::Server::AddNotificationHandler(), lldb_protocol::mcp::Server::AddResourceProvider(), lldb_protocol::mcp::Server::AddTool(), lldb_private::GetLog(), lldb_private::Host, and LLDB_LOG.
Referenced by AcceptCallback().
|
static |
Definition at line 52 of file ProtocolServerMCP.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 37 of file ProtocolServerMCP.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 32 of file ProtocolServerMCP.h.
Referenced by GetPluginName(), and Initialize().
|
inlineoverridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 39 of file ProtocolServerMCP.h.
References m_listener.
|
static |
Definition at line 37 of file ProtocolServerMCP.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
overridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 89 of file ProtocolServerMCP.cpp.
References AcceptCallback(), lldb_protocol::mcp::ServerInfo::connection_uri, lldb_private::FileSpec::CopyByAppendingPathComponent(), lldb_private::Socket::Create(), createStringError(), lldb_private::File::eOpenOptionCanCreate, lldb_private::File::eOpenOptionTruncate, lldb_private::File::eOpenOptionWriteOnly, error(), lldb_private::Status::Fail(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), m_listen_handlers, m_listener, m_loop, m_loop_thread, m_mcp_registry_entry_path, m_mutex, m_running, lldb_private::ProtocolServer::Connection::name, lldb_private::FileSystem::Open(), lldb_protocol::mcp::ServerInfo::pid, lldb_private::ProtocolServer::Connection::protocol, lldb_private::MainLoopPosix::Run(), lldb_private::Status::takeError(), and lldb_private::toJSON().
|
overridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 153 of file ProtocolServerMCP.cpp.
References lldb_private::MainLoopBase::AddPendingCallback(), lldb_private::FileSpec::Clear(), createStringError(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), m_loop, m_loop_thread, m_mcp_registry_entry_path, m_mutex, m_running, lldb_private::FileSystem::RemoveFile(), and lldb_private::MainLoopBase::RequestTermination().
Referenced by ~ProtocolServerMCP().
|
static |
Definition at line 42 of file ProtocolServerMCP.cpp.
References CreateInstance(), error(), lldb_private::GetLog(), lldb_private::Host, LLDB_LOG_ERROR, lldb_private::ProtocolServer::Terminate(), and lldb_private::PluginManager::UnregisterPlugin().
|
private |
Definition at line 59 of file ProtocolServerMCP.h.
Referenced by AcceptCallback().
|
private |
Definition at line 58 of file ProtocolServerMCP.h.
Referenced by Start().
|
private |
Definition at line 56 of file ProtocolServerMCP.h.
Referenced by GetSocket(), and Start().
|
private |
Definition at line 52 of file ProtocolServerMCP.h.
Referenced by AcceptCallback(), Start(), and Stop().
|
private |
Definition at line 53 of file ProtocolServerMCP.h.
|
private |
Definition at line 51 of file ProtocolServerMCP.h.
|
private |
Definition at line 54 of file ProtocolServerMCP.h.
|
private |
Definition at line 49 of file ProtocolServerMCP.h.