1 //===-- SWIG Interface for SBListener ---------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 namespace lldb { 11 12 %feature("docstring", 13 "API clients can register its own listener to debugger events. 14 15 See aslo SBEvent for example usage of creating and adding a listener." 16 ) SBListener; 17 class SBListener 18 { 19 public: 20 SBListener (); 21 22 SBListener (const char *name); 23 24 SBListener (const SBListener &rhs); 25 26 ~SBListener (); 27 28 void 29 AddEvent (const lldb::SBEvent &event); 30 31 void 32 Clear (); 33 34 bool 35 IsValid () const; 36 37 uint32_t 38 StartListeningForEventClass (SBDebugger &debugger, 39 const char *broadcaster_class, 40 uint32_t event_mask); 41 42 uint32_t 43 StopListeningForEventClass (SBDebugger &debugger, 44 const char *broadcaster_class, 45 uint32_t event_mask); 46 47 uint32_t 48 StartListeningForEvents (const lldb::SBBroadcaster& broadcaster, 49 uint32_t event_mask); 50 51 bool 52 StopListeningForEvents (const lldb::SBBroadcaster& broadcaster, 53 uint32_t event_mask); 54 55 // Returns true if an event was recieved, false if we timed out. 56 bool 57 WaitForEvent (uint32_t num_seconds, 58 lldb::SBEvent &event); 59 60 bool 61 WaitForEventForBroadcaster (uint32_t num_seconds, 62 const lldb::SBBroadcaster &broadcaster, 63 lldb::SBEvent &sb_event); 64 65 bool 66 WaitForEventForBroadcasterWithType (uint32_t num_seconds, 67 const lldb::SBBroadcaster &broadcaster, 68 uint32_t event_type_mask, 69 lldb::SBEvent &sb_event); 70 71 bool 72 PeekAtNextEvent (lldb::SBEvent &sb_event); 73 74 bool 75 PeekAtNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster, 76 lldb::SBEvent &sb_event); 77 78 bool 79 PeekAtNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster, 80 uint32_t event_type_mask, 81 lldb::SBEvent &sb_event); 82 83 bool 84 GetNextEvent (lldb::SBEvent &sb_event); 85 86 bool 87 GetNextEventForBroadcaster (const lldb::SBBroadcaster &broadcaster, 88 lldb::SBEvent &sb_event); 89 90 bool 91 GetNextEventForBroadcasterWithType (const lldb::SBBroadcaster &broadcaster, 92 uint32_t event_type_mask, 93 lldb::SBEvent &sb_event); 94 95 bool 96 HandleBroadcastEvent (const lldb::SBEvent &event); 97 }; 98 99 } // namespace lldb 100