blob: 4e0b24ddea084c18353c7a6af2408c483a33b55b [file] [log] [blame]
Greg Clayton61d043b2011-03-22 04:00:09 +00001//===-- GDBRemoteCommunicationServer.h --------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef liblldb_GDBRemoteCommunicationServer_h_
11#define liblldb_GDBRemoteCommunicationServer_h_
12
13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "GDBRemoteCommunication.h"
18
19class ProcessGDBRemote;
20
21class GDBRemoteCommunicationServer : public GDBRemoteCommunication
22{
23public:
24 enum
25 {
26 eBroadcastBitRunPacketSent = kLoUserBroadcastBit
27 };
28 //------------------------------------------------------------------
29 // Constructors and Destructors
30 //------------------------------------------------------------------
31 GDBRemoteCommunicationServer();
32
33 virtual
34 ~GDBRemoteCommunicationServer();
35
36 bool
Greg Claytoncb8977d2011-03-23 00:09:55 +000037 GetPacketAndSendResponse (const lldb_private::TimeValue* timeout_ptr,
38 bool &interrupt,
39 bool &quit);
Greg Clayton61d043b2011-03-22 04:00:09 +000040
41 virtual bool
42 GetThreadSuffixSupported ()
43 {
44 return true;
45 }
46
47 virtual bool
48 GetSendAcks ()
49 {
50 return m_send_acks;
51 }
52
53protected:
54 lldb::thread_t m_async_thread;
55 bool m_send_acks;
56
57 size_t
58 SendUnimplementedResponse ();
59
60
61 bool
62 Handle_qHostInfo ();
63
64private:
65 //------------------------------------------------------------------
66 // For GDBRemoteCommunicationServer only
67 //------------------------------------------------------------------
68 DISALLOW_COPY_AND_ASSIGN (GDBRemoteCommunicationServer);
69};
70
71#endif // liblldb_GDBRemoteCommunicationServer_h_