diff options
author | Greg Clayton <gclayton@apple.com> | 2011-03-22 04:00:09 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2011-03-22 04:00:09 +0000 |
commit | 576d8834fe41bf73802832e7ac204b98455bfe25 (patch) | |
tree | 1dca2525b98563838acf8ea1445b9c316f2b162d /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h | |
parent | 27cfcbac82cc1c840571f0edf1c8675787f5db64 (diff) | |
download | bcm5719-llvm-576d8834fe41bf73802832e7ac204b98455bfe25.tar.gz bcm5719-llvm-576d8834fe41bf73802832e7ac204b98455bfe25.zip |
Split the GDBRemoteCommunication class into three classes:
GDBRemoteCommunication - The base GDB remote communication class
GDBRemoteCommunicationClient - designed to be used for clients the connect to
a remote GDB server
GDBRemoteCommunicationServer - designed to be used on the server side of a
GDB server implementation.
llvm-svn: 128070
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h new file mode 100644 index 00000000000..8ccfca2ee1d --- /dev/null +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h @@ -0,0 +1,69 @@ +//===-- GDBRemoteCommunicationServer.h --------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_GDBRemoteCommunicationServer_h_ +#define liblldb_GDBRemoteCommunicationServer_h_ + +// C Includes +// C++ Includes +// Other libraries and framework includes +// Project includes +#include "GDBRemoteCommunication.h" + +class ProcessGDBRemote; + +class GDBRemoteCommunicationServer : public GDBRemoteCommunication +{ +public: + enum + { + eBroadcastBitRunPacketSent = kLoUserBroadcastBit + }; + //------------------------------------------------------------------ + // Constructors and Destructors + //------------------------------------------------------------------ + GDBRemoteCommunicationServer(); + + virtual + ~GDBRemoteCommunicationServer(); + + bool + GetPacketAndSendResponse (const lldb_private::TimeValue* timeout_time_ptr); + + virtual bool + GetThreadSuffixSupported () + { + return true; + } + + virtual bool + GetSendAcks () + { + return m_send_acks; + } + +protected: + lldb::thread_t m_async_thread; + bool m_send_acks; + + size_t + SendUnimplementedResponse (); + + + bool + Handle_qHostInfo (); + +private: + //------------------------------------------------------------------ + // For GDBRemoteCommunicationServer only + //------------------------------------------------------------------ + DISALLOW_COPY_AND_ASSIGN (GDBRemoteCommunicationServer); +}; + +#endif // liblldb_GDBRemoteCommunicationServer_h_ |