llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
Greg Clayton d314e810a7 Added new platform commands:
platform connect <args>
platform disconnect

Each platform can decide the args they want to use for "platform connect". I 
will need to add a function that gets the connect options for the current
platform as each one can have different options and argument counts.

Hooked up more functionality in the PlatformMacOSX and PlatformRemoteiOS.
Also started an platform agnostic PlatformRemoteGDBServer.cpp which can end
up being used by one or more actual platforms. It can also be specialized and
allow for platform specific commands.

llvm-svn: 128123
2011-03-23 00:09:55 +00:00

72 lines
1.8 KiB
C++

//===-- 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_ptr,
bool &interrupt,
bool &quit);
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_