9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTECOMMUNICATIONSERVER_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTECOMMUNICATIONSERVER_H
18#include "llvm/Support/Errc.h"
19#include "llvm/Support/Error.h"
24namespace process_gdb_remote {
26class ProcessGDBRemote;
47 std::map<StringExtractorGDBRemote::ServerPacketType, PacketHandler>
66 const char *error_message);
static llvm::raw_ostream & error(Stream &strm)
GDBRemoteCommunicationServer(const GDBRemoteCommunicationServer &)=delete
std::function< PacketResult(StringExtractorGDBRemote &packet, Status &error, bool &interrupt, bool &quit)> PacketHandler
void RegisterPacketHandler(StringExtractorGDBRemote::ServerPacketType packet_type, PacketHandler handler)
~GDBRemoteCommunicationServer() override
const GDBRemoteCommunicationServer & operator=(const GDBRemoteCommunicationServer &)=delete
std::map< StringExtractorGDBRemote::ServerPacketType, PacketHandler > m_packet_handlers
GDBRemoteCommunicationServer()
bool m_send_error_strings
PacketResult SendJSONResponse(llvm::Expected< llvm::json::Value > value)
Serialize and send a JSON object response, or respond with an error if the input object is an llvm::E...
PacketResult Handle_QErrorStringEnable(StringExtractorGDBRemote &packet)
PacketResult SendErrorResponse(const Status &error)
PacketResult SendIllFormedResponse(const StringExtractorGDBRemote &packet, const char *error_message)
PacketResult GetPacketAndSendResponse(Timeout< std::micro > timeout, Status &error, bool &interrupt, bool &quit)
PacketResult SendJSONResponse(const llvm::json::Value &value)
Serialize and send a JSON object response.
PacketResult SendUnimplementedResponse(const char *packet)
PacketResult SendOKResponse()
A class that represents a running process on the host machine.