LLDB mainline
|
#include <Server.h>
Classes | |
struct | Client |
Public Member Functions | |
Server (std::string name, std::string version, LogCallback log_callback={}) | |
~Server ()=default | |
void | AddTool (std::unique_ptr< Tool > tool) |
void | AddResourceProvider (std::unique_ptr< ResourceProvider > resource_provider) |
llvm::Error | Accept (lldb_private::MainLoop &, MCPTransportUP) |
Protected Member Functions | |
MCPBinderUP | Bind (MCPTransport &) |
ServerCapabilities | GetCapabilities () |
llvm::Expected< InitializeResult > | InitializeHandler (const InitializeParams &) |
llvm::Expected< ListToolsResult > | ToolsListHandler () |
llvm::Expected< CallToolResult > | ToolsCallHandler (const CallToolParams &) |
llvm::Expected< ListResourcesResult > | ResourcesListHandler () |
llvm::Expected< ReadResourceResult > | ResourcesReadHandler (const ReadResourceParams &) |
template<typename... Ts> | |
auto | Logv (const char *Fmt, Ts &&...Vals) |
void | Log (llvm::StringRef message) |
Private Types | |
using | MCPTransportUP = std::unique_ptr<lldb_protocol::mcp::MCPTransport> |
using | ReadHandleUP = lldb_private::MainLoop::ReadHandleUP |
Private Attributes | |
const std::string | m_name |
const std::string | m_version |
LogCallback | m_log_callback |
std::map< MCPTransport *, Client > | m_instances |
llvm::StringMap< std::unique_ptr< Tool > > | m_tools |
std::vector< std::unique_ptr< ResourceProvider > > | m_resource_providers |
|
private |
Server::Server | ( | std::string | name, |
std::string | version, | ||
LogCallback | log_callback = {} ) |
Definition at line 112 of file Server.cpp.
References m_log_callback, m_name, and m_version.
|
default |
llvm::Error Server::Accept | ( | lldb_private::MainLoop & | loop, |
MCPTransportUP | transport ) |
Definition at line 146 of file Server.cpp.
References Bind(), Logv(), and m_instances.
void Server::AddResourceProvider | ( | std::unique_ptr< ResourceProvider > | resource_provider | ) |
Definition at line 122 of file Server.cpp.
References m_resource_providers.
Referenced by lldb_private::mcp::ProtocolServerMCP::Extend().
void Server::AddTool | ( | std::unique_ptr< Tool > | tool | ) |
Definition at line 116 of file Server.cpp.
References m_tools.
Referenced by lldb_private::mcp::ProtocolServerMCP::Extend().
|
protected |
Definition at line 129 of file Server.cpp.
References InitializeHandler(), Log(), ResourcesListHandler(), ResourcesReadHandler(), ToolsCallHandler(), and ToolsListHandler().
Referenced by Accept().
|
protected |
Definition at line 241 of file Server.cpp.
References lldb_protocol::mcp::ServerCapabilities::supportsResourcesList, lldb_protocol::mcp::ServerCapabilities::supportsResourcesSubscribe, and lldb_protocol::mcp::ServerCapabilities::supportsToolsList.
Referenced by InitializeHandler().
|
protected |
Definition at line 168 of file Server.cpp.
References lldb_protocol::mcp::InitializeResult::capabilities, GetCapabilities(), lldb_protocol::mcp::kProtocolVersion, m_name, m_version, lldb_protocol::mcp::Implementation::name, lldb_protocol::mcp::InitializeResult::protocolVersion, lldb_protocol::mcp::InitializeResult::serverInfo, and lldb_protocol::mcp::Implementation::version.
Referenced by Bind().
|
inlineprotected |
Definition at line 62 of file Server.h.
References m_log_callback.
|
inlineprotected |
|
protected |
Definition at line 206 of file Server.cpp.
References m_resource_providers, and lldb_protocol::mcp::ListResourcesResult::resources.
Referenced by Bind().
|
protected |
Definition at line 217 of file Server.cpp.
References createStringError(), lldb_protocol::mcp::MCPError::kResourceNotFound, m_resource_providers, and lldb_protocol::mcp::ReadResourceParams::uri.
Referenced by Bind().
|
protected |
Definition at line 186 of file Server.cpp.
References lldb_protocol::mcp::CallToolParams::arguments, m_tools, and lldb_protocol::mcp::CallToolParams::name.
Referenced by Bind().
|
protected |
Definition at line 177 of file Server.cpp.
References m_tools, and lldb_protocol::mcp::ListToolsResult::tools.
Referenced by Bind().
|
private |
|
private |
|
private |
Definition at line 68 of file Server.h.
Referenced by InitializeHandler(), and Server().
|
private |
Definition at line 80 of file Server.h.
Referenced by AddResourceProvider(), ResourcesListHandler(), and ResourcesReadHandler().
|
private |
Definition at line 79 of file Server.h.
Referenced by AddTool(), ToolsCallHandler(), and ToolsListHandler().
|
private |
Definition at line 69 of file Server.h.
Referenced by InitializeHandler(), and Server().