Did a lot more work on abtracting and organizing the platforms.
On Mac OS X we now have 3 platforms:
PlatformDarwin - must be subclassed to fill in the missing pure virtual funcs
but this implements all the common functionality between
remote-macosx and remote-ios. It also allows for another
platform to be used (remote-gdb-server for now) when doing
remote connections. Keeping this pluggable will allow for
flexibility.
PlatformMacOSX - Now implements both local and remote macosx desktop platforms.
PlatformRemoteiOS - Remote only iOS that knows how to locate SDK files in the
cached SDK locations on the host.
A new agnostic platform has been created:
PlatformRemoteGDBServer - this implements the platform using the GDB remote
protocol and uses the built in lldb_private::Host
static functions to implement many queries.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128193 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
index 4e0b24d..66ddc77 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
@@ -35,6 +35,7 @@
bool
GetPacketAndSendResponse (const lldb_private::TimeValue* timeout_ptr,
+ lldb_private::Error &error,
bool &interrupt,
bool &quit);
@@ -44,23 +45,26 @@
return true;
}
- virtual bool
- GetSendAcks ()
- {
- return m_send_acks;
- }
+ // After connecting, do a little handshake with the client to make sure
+ // we are at least communicating
+ bool
+ HandshakeWithClient (lldb_private::Error *error_ptr);
protected:
lldb::thread_t m_async_thread;
- bool m_send_acks;
size_t
SendUnimplementedResponse ();
+ size_t
+ SendOKResponse ();
bool
Handle_qHostInfo ();
+ bool
+ Handle_QStartNoAckMode ();
+
private:
//------------------------------------------------------------------
// For GDBRemoteCommunicationServer only