blob: 8ccfca2ee1de94d570a5e300fc100f0509f65ea0 [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
37 GetPacketAndSendResponse (const lldb_private::TimeValue* timeout_time_ptr);
38
39 virtual bool
40 GetThreadSuffixSupported ()
41 {
42 return true;
43 }
44
45 virtual bool
46 GetSendAcks ()
47 {
48 return m_send_acks;
49 }
50
51protected:
52 lldb::thread_t m_async_thread;
53 bool m_send_acks;
54
55 size_t
56 SendUnimplementedResponse ();
57
58
59 bool
60 Handle_qHostInfo ();
61
62private:
63 //------------------------------------------------------------------
64 // For GDBRemoteCommunicationServer only
65 //------------------------------------------------------------------
66 DISALLOW_COPY_AND_ASSIGN (GDBRemoteCommunicationServer);
67};
68
69#endif // liblldb_GDBRemoteCommunicationServer_h_