]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/lldb/bindings/interface/SBListener.i
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / lldb / bindings / interface / SBListener.i
1 //===-- SWIG Interface for SBListener ---------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 namespace lldb {
10
11 %feature("docstring",
12 "API clients can register its own listener to debugger events.
13
14 See aslo SBEvent for example usage of creating and adding a listener."
15 ) SBListener;
16 class SBListener
17 {
18 public:
19     SBListener ();
20
21     SBListener (const char *name);
22
23     SBListener (const SBListener &rhs);
24
25     ~SBListener ();
26
27     void
28     AddEvent (const lldb::SBEvent &event);
29
30     void
31     Clear ();
32
33     bool
34     IsValid () const;
35
36     explicit operator bool() const;
37
38     uint32_t
39     StartListeningForEventClass (SBDebugger &debugger,
40                                  const char *broadcaster_class,
41                                  uint32_t event_mask);
42
43     uint32_t
44     StopListeningForEventClass (SBDebugger &debugger,
45                                 const char *broadcaster_class,
46                                 uint32_t event_mask);
47
48     uint32_t
49     StartListeningForEvents (const lldb::SBBroadcaster& broadcaster,
50                              uint32_t event_mask);
51
52     bool
53     StopListeningForEvents (const lldb::SBBroadcaster& broadcaster,
54                             uint32_t event_mask);
55
56     // Returns true if an event was received, false if we timed out.
57     bool
58     WaitForEvent (uint32_t num_seconds,
59                   lldb::SBEvent &event);
60
61     bool
62     WaitForEventForBroadcaster (uint32_t num_seconds,
63                                 const lldb::SBBroadcaster &broadcaster,
64                                 lldb::SBEvent &sb_event);
65
66     bool
67     WaitForEventForBroadcasterWithType (uint32_t num_seconds,
68                                         const lldb::SBBroadcaster &broadcaster,
69                                         uint32_t event_type_mask,
70                                         lldb::SBEvent &sb_event);
71
72     bool
73     PeekAtNextEvent (lldb::SBEvent &sb_event);
74
75     bool
76     PeekAtNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
77                                    lldb::SBEvent &sb_event);
78
79     bool
80     PeekAtNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
81                                            uint32_t event_type_mask,
82                                            lldb::SBEvent &sb_event);
83
84     bool
85     GetNextEvent (lldb::SBEvent &sb_event);
86
87     bool
88     GetNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster,
89                                 lldb::SBEvent &sb_event);
90
91     bool
92     GetNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster,
93                                         uint32_t event_type_mask,
94                                         lldb::SBEvent &sb_event);
95
96     bool
97     HandleBroadcastEvent (const lldb::SBEvent &event);
98 };
99
100 } // namespace lldb