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