Home | History | Annotate | Download | only in interface
      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