diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h | |
parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) |
Notes
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h b/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h deleted file mode 100644 index 86f0abf45e06..000000000000 --- a/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h +++ /dev/null @@ -1,95 +0,0 @@ -//===-- GDBRemoteCommunicationServer.h --------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_GDBRemoteCommunicationServer_h_ -#define liblldb_GDBRemoteCommunicationServer_h_ - -#include <functional> -#include <map> - -#include "GDBRemoteCommunication.h" -#include "lldb/lldb-private-forward.h" - -#include "llvm/Support/Errc.h" -#include "llvm/Support/Error.h" - -class StringExtractorGDBRemote; - -namespace lldb_private { -namespace process_gdb_remote { - -class ProcessGDBRemote; - -class GDBRemoteCommunicationServer : public GDBRemoteCommunication { -public: - using PortMap = std::map<uint16_t, lldb::pid_t>; - using PacketHandler = - std::function<PacketResult(StringExtractorGDBRemote &packet, - Status &error, bool &interrupt, bool &quit)>; - - GDBRemoteCommunicationServer(const char *comm_name, - const char *listener_name); - - ~GDBRemoteCommunicationServer() override; - - void - RegisterPacketHandler(StringExtractorGDBRemote::ServerPacketType packet_type, - PacketHandler handler); - - PacketResult GetPacketAndSendResponse(Timeout<std::micro> timeout, - Status &error, bool &interrupt, - bool &quit); - - // After connecting, do a little handshake with the client to make sure - // we are at least communicating - bool HandshakeWithClient(); - -protected: - std::map<StringExtractorGDBRemote::ServerPacketType, PacketHandler> - m_packet_handlers; - bool m_exit_now; // use in asynchronous handling to indicate process should - // exit. - - bool m_send_error_strings = false; // If the client enables this then - // we will send error strings as well. - - PacketResult Handle_QErrorStringEnable(StringExtractorGDBRemote &packet); - - PacketResult SendErrorResponse(const Status &error); - - PacketResult SendErrorResponse(llvm::Error error); - - PacketResult SendUnimplementedResponse(const char *packet); - - PacketResult SendErrorResponse(uint8_t error); - - PacketResult SendIllFormedResponse(const StringExtractorGDBRemote &packet, - const char *error_message); - - PacketResult SendOKResponse(); - -private: - DISALLOW_COPY_AND_ASSIGN(GDBRemoteCommunicationServer); -}; - -class PacketUnimplementedError - : public llvm::ErrorInfo<PacketUnimplementedError, llvm::StringError> { -public: - static char ID; - using llvm::ErrorInfo<PacketUnimplementedError, - llvm::StringError>::ErrorInfo; // inherit constructors - PacketUnimplementedError(const llvm::Twine &S) - : ErrorInfo(S, llvm::errc::not_supported) {} - - PacketUnimplementedError() : ErrorInfo(llvm::errc::not_supported) {} -}; - -} // namespace process_gdb_remote -} // namespace lldb_private - -#endif // liblldb_GDBRemoteCommunicationServer_h_ |