9#ifndef LLDB_SOURCE_PLUGINS_PROTOCOL_MCP_PROTOCOLSERVERMCP_H
10#define LLDB_SOURCE_PLUGINS_PROTOCOL_MCP_PROTOCOLSERVERMCP_H
16#include "llvm/ADT/StringRef.h"
17#include "llvm/Support/Error.h"
33 using ServerUP = std::unique_ptr<lldb_protocol::mcp::Server>;
42 llvm::Error
Stop()
override;
std::unique_ptr< ReadHandle > ReadHandleUP
std::unique_ptr< Socket > m_listener
virtual void Extend(lldb_protocol::mcp::Server &server) const
std::thread m_loop_thread
llvm::Error Start(ProtocolServer::Connection connection) override
Socket * GetSocket() const override
std::unique_ptr< lldb_protocol::mcp::Server > ServerUP
MainLoop::ReadHandleUP ReadHandleUP
std::vector< ReadHandleUP > m_accept_handles
static lldb::ProtocolServerUP CreateInstance()
llvm::Error Stop() override
llvm::StringRef GetPluginName() override
void AcceptCallback(std::unique_ptr< Socket > socket)
static llvm::StringRef GetPluginNameStatic()
lldb_protocol::mcp::ServerInfoHandle m_server_info_handle
static llvm::StringRef GetPluginDescriptionStatic()
~ProtocolServerMCP() override
lldb_private::MainLoop m_loop
A handle that tracks the server info on disk and cleans up the disk record once it is no longer refer...
void PopulateServer(lldb_protocol::mcp::Server &server)
Installs the standard LLDB tool and resource-provider set on server.
std::unique_ptr< lldb_private::ProtocolServer > ProtocolServerUP