• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- SBWatchpoint.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_SBWatchpoint_h_
11 #define LLDB_SBWatchpoint_h_
12 
13 #include "lldb/API/SBDefines.h"
14 
15 namespace lldb {
16 
17 class SBWatchpoint
18 {
19 public:
20 
21     SBWatchpoint ();
22 
23     SBWatchpoint (const lldb::SBWatchpoint &rhs);
24 
25     SBWatchpoint (const lldb::WatchpointSP &wp_sp);
26 
27     ~SBWatchpoint ();
28 
29     const lldb::SBWatchpoint &
30     operator = (const lldb::SBWatchpoint &rhs);
31 
32     bool
33     IsValid() const;
34 
35     SBError
36     GetError();
37 
38     watch_id_t
39     GetID ();
40 
41     /// With -1 representing an invalid hardware index.
42     int32_t
43     GetHardwareIndex ();
44 
45     lldb::addr_t
46     GetWatchAddress ();
47 
48     size_t
49     GetWatchSize();
50 
51     void
52     SetEnabled(bool enabled);
53 
54     bool
55     IsEnabled ();
56 
57     uint32_t
58     GetHitCount ();
59 
60     uint32_t
61     GetIgnoreCount ();
62 
63     void
64     SetIgnoreCount (uint32_t n);
65 
66     const char *
67     GetCondition ();
68 
69     void
70     SetCondition (const char *condition);
71 
72     bool
73     GetDescription (lldb::SBStream &description, DescriptionLevel level);
74 
75     void
76     Clear ();
77 
78     lldb::WatchpointSP
79     GetSP () const;
80 
81     void
82     SetSP (const lldb::WatchpointSP &sp);
83 
84     static bool
85     EventIsWatchpointEvent (const lldb::SBEvent &event);
86 
87     static lldb::WatchpointEventType
88     GetWatchpointEventTypeFromEvent (const lldb::SBEvent& event);
89 
90     static lldb::SBWatchpoint
91     GetWatchpointFromEvent (const lldb::SBEvent& event);
92 
93 private:
94     friend class SBTarget;
95     friend class SBValue;
96 
97 
98     lldb::WatchpointSP m_opaque_sp;
99 
100 };
101 
102 } // namespace lldb
103 
104 #endif  // LLDB_SBWatchpoint_h_
105