SBWatchpoint.h revision 1fa6b3d6c83955fe06c63d3a4025f2c0ec431d68
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
15namespace lldb {
16
17class SBWatchpoint
18{
19public:
20
21    SBWatchpoint ();
22
23    SBWatchpoint (const lldb::SBWatchpoint &rhs);
24
25    ~SBWatchpoint ();
26
27#ifndef SWIG
28    const lldb::SBWatchpoint &
29    operator = (const lldb::SBWatchpoint &rhs);
30#endif
31
32    lldb::SBError
33    GetError ();
34
35    watch_id_t
36    GetID ();
37
38    bool
39    IsValid() const;
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    bool
67    GetDescription (lldb::SBStream &description, DescriptionLevel level);
68
69#ifndef SWIG
70    SBWatchpoint (const lldb::WatchpointLocationSP &watch_loc_sp);
71#endif
72
73private:
74    friend class SBTarget;
75
76#ifndef SWIG
77
78    lldb_private::WatchpointLocation *
79    operator->();
80
81    lldb_private::WatchpointLocation *
82    get();
83
84    lldb::WatchpointLocationSP &
85    operator *();
86
87#endif
88
89    lldb::WatchpointLocationSP m_opaque_sp;
90
91};
92
93} // namespace lldb
94
95#endif  // LLDB_SBWatchpoint_h_
96