1 //===-- SWIG Interface for SBBroadcaster ------------------------*- 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 "Represents an entity which can broadcast events.
13 
14 A default broadcaster is
15 associated with an SBCommandInterpreter, SBProcess, and SBTarget.  For
16 example, use ::
17 
18     broadcaster = process.GetBroadcaster()
19 
20 to retrieve the process's broadcaster.
21 
22 See also SBEvent for example usage of interacting with a broadcaster."
23 ) SBBroadcaster;
24 class SBBroadcaster
25 {
26 public:
27     SBBroadcaster ();
28 
29     SBBroadcaster (const char *name);
30 
31     SBBroadcaster (const SBBroadcaster &rhs);
32 
33     ~SBBroadcaster();
34 
35     bool
36     IsValid () const;
37 
38     explicit operator bool() const;
39 
40     void
41     Clear ();
42 
43     void
44     BroadcastEventByType (uint32_t event_type, bool unique = false);
45 
46     void
47     BroadcastEvent (const lldb::SBEvent &event, bool unique = false);
48 
49     void
50     AddInitialEventsToListener (const lldb::SBListener &listener, uint32_t requested_events);
51 
52     uint32_t
53     AddListener (const lldb::SBListener &listener, uint32_t event_mask);
54 
55     const char *
56     GetName () const;
57 
58     bool
59     EventTypeHasListeners (uint32_t event_type);
60 
61     bool
62     RemoveListener (const lldb::SBListener &listener, uint32_t event_mask = UINT32_MAX);
63 
64     bool
65     operator == (const lldb::SBBroadcaster &rhs) const;
66 
67     bool
68     operator != (const lldb::SBBroadcaster &rhs) const;
69 };
70 
71 } // namespace lldb
72