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 9namespace lldb { 10 11%feature("docstring", 12"API clients can register its own listener to debugger events. 13 14See aslo SBEvent for example usage of creating and adding a listener." 15) SBListener; 16class SBListener 17{ 18public: 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 101