LLDB API Documentation

SBEvent.h
Go to the documentation of this file.
1 //===-- SBEvent.h -----------------------------------------------*- 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 #ifndef LLDB_SBEvent_h_
11 #define LLDB_SBEvent_h_
12 
13 #include "lldb/API/SBDefines.h"
14 
15 #include <stdio.h>
16 #include <vector>
17 
18 namespace lldb {
19 
20 class SBBroadcaster;
21 
22 class LLDB_API SBEvent {
23 public:
24  SBEvent();
25 
26  SBEvent(const lldb::SBEvent &rhs);
27 
28  // Make an event that contains a C string.
29  SBEvent(uint32_t event, const char *cstr, uint32_t cstr_len);
30 
31  SBEvent(lldb::EventSP &event_sp);
32 
33  SBEvent(lldb_private::Event *event_sp);
34 
35  ~SBEvent();
36 
37  const SBEvent &operator=(const lldb::SBEvent &rhs);
38 
39  bool IsValid() const;
40 
41  const char *GetDataFlavor();
42 
43  uint32_t GetType() const;
44 
45  lldb::SBBroadcaster GetBroadcaster() const;
46 
47  const char *GetBroadcasterClass() const;
48 
49  bool BroadcasterMatchesPtr(const lldb::SBBroadcaster *broadcaster);
50 
51  bool BroadcasterMatchesRef(const lldb::SBBroadcaster &broadcaster);
52 
53  void Clear();
54 
55  static const char *GetCStringFromEvent(const lldb::SBEvent &event);
56 
57  bool GetDescription(lldb::SBStream &description);
58 
59  bool GetDescription(lldb::SBStream &description) const;
60 
61 protected:
62  friend class SBListener;
63  friend class SBBroadcaster;
64  friend class SBBreakpoint;
65  friend class SBDebugger;
66  friend class SBProcess;
67  friend class SBTarget;
68  friend class SBThread;
69  friend class SBWatchpoint;
70 
71  lldb::EventSP &GetSP() const;
72 
73  void reset(lldb::EventSP &event_sp);
74 
75  void reset(lldb_private::Event *event);
76 
77  lldb_private::Event *get() const;
78 
79 private:
80  mutable lldb::EventSP m_event_sp;
81  mutable lldb_private::Event *m_opaque_ptr;
82 };
83 
84 } // namespace lldb
85 
86 #endif // LLDB_SBEvent_h_
class LLDB_API SBEvent
Definition: SBDefines.h:47
class LLDB_API SBBroadcaster
Definition: SBDefines.h:35