1 //===-- SBListener.h --------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBListener_h_
11 #define LLDB_SBListener_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBListener
22 SBListener (const char *name);
24 SBListener (const SBListener &rhs);
28 const lldb::SBListener &
29 operator = (const lldb::SBListener &rhs);
32 AddEvent (const lldb::SBEvent &event);
41 StartListeningForEventClass (SBDebugger &debugger,
42 const char *broadcaster_class,
46 StopListeningForEventClass (SBDebugger &debugger,
47 const char *broadcaster_class,
51 StartListeningForEvents (const lldb::SBBroadcaster& broadcaster,
55 StopListeningForEvents (const lldb::SBBroadcaster& broadcaster,
58 // Returns true if an event was received, false if we timed out.
60 WaitForEvent (uint32_t num_seconds,
61 lldb::SBEvent &event);
64 WaitForEventForBroadcaster (uint32_t num_seconds,
65 const lldb::SBBroadcaster &broadcaster,
66 lldb::SBEvent &sb_event);
69 WaitForEventForBroadcasterWithType (uint32_t num_seconds,
70 const lldb::SBBroadcaster &broadcaster,
71 uint32_t event_type_mask,
72 lldb::SBEvent &sb_event);
75 PeekAtNextEvent (lldb::SBEvent &sb_event);
78 PeekAtNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
79 lldb::SBEvent &sb_event);
82 PeekAtNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
83 uint32_t event_type_mask,
84 lldb::SBEvent &sb_event);
87 GetNextEvent (lldb::SBEvent &sb_event);
90 GetNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
91 lldb::SBEvent &sb_event);
94 GetNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
95 uint32_t event_type_mask,
96 lldb::SBEvent &sb_event);
99 HandleBroadcastEvent (const lldb::SBEvent &event);
102 friend class SBAttachInfo;
103 friend class SBBroadcaster;
104 friend class SBCommandInterpreter;
105 friend class SBDebugger;
106 friend class SBLaunchInfo;
107 friend class SBTarget;
109 SBListener (const lldb::ListenerSP &listener_sp);
119 lldb_private::Listener *
122 lldb_private::Listener *
126 reset(lldb::ListenerSP listener_sp);
128 lldb::ListenerSP m_opaque_sp;
129 lldb_private::Listener *m_unused_ptr;
134 #endif // LLDB_SBListener_h_