1359575Sdim//===-- SWIG Interface for SBWatchpoint -----------------*- C++ -*-===//
2359575Sdim//
3359575Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4359575Sdim// See https://llvm.org/LICENSE.txt for license information.
5359575Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6359575Sdim//
7359575Sdim//===----------------------------------------------------------------------===//
8359575Sdim
9359575Sdimnamespace lldb {
10359575Sdim
11359575Sdim%feature("docstring",
12359575Sdim"Represents an instance of watchpoint for a specific target program.
13359575Sdim
14359575SdimA watchpoint is determined by the address and the byte size that resulted in
15359575Sdimthis particular instantiation.  Each watchpoint has its settable options.
16359575Sdim
17359575SdimSee also SBTarget.watchpoint_iter() for example usage of iterating through the
18359575Sdimwatchpoints of the target."
19359575Sdim) SBWatchpoint;
20359575Sdimclass SBWatchpoint
21359575Sdim{
22359575Sdimpublic:
23359575Sdim
24359575Sdim    SBWatchpoint ();
25359575Sdim
26359575Sdim    SBWatchpoint (const lldb::SBWatchpoint &rhs);
27359575Sdim
28359575Sdim    ~SBWatchpoint ();
29359575Sdim
30359575Sdim    bool
31359575Sdim    IsValid();
32359575Sdim
33359575Sdim    explicit operator bool() const;
34359575Sdim
35359575Sdim    bool operator==(const SBWatchpoint &rhs) const;
36359575Sdim
37359575Sdim    bool operator!=(const SBWatchpoint &rhs) const;
38359575Sdim
39359575Sdim    SBError
40359575Sdim    GetError();
41359575Sdim
42359575Sdim    watch_id_t
43359575Sdim    GetID ();
44359575Sdim
45359575Sdim    %feature("docstring", "
46359575Sdim    With -1 representing an invalid hardware index.") GetHardwareIndex;
47359575Sdim    int32_t
48359575Sdim    GetHardwareIndex ();
49359575Sdim
50359575Sdim    lldb::addr_t
51359575Sdim    GetWatchAddress ();
52359575Sdim
53359575Sdim    size_t
54359575Sdim    GetWatchSize();
55359575Sdim
56359575Sdim    void
57359575Sdim    SetEnabled(bool enabled);
58359575Sdim
59359575Sdim    bool
60359575Sdim    IsEnabled ();
61359575Sdim
62359575Sdim    uint32_t
63359575Sdim    GetHitCount ();
64359575Sdim
65359575Sdim    uint32_t
66359575Sdim    GetIgnoreCount ();
67359575Sdim
68359575Sdim    void
69359575Sdim    SetIgnoreCount (uint32_t n);
70359575Sdim
71359575Sdim    %feature("docstring", "
72359575Sdim    Get the condition expression for the watchpoint.") GetCondition;
73359575Sdim    const char *
74359575Sdim    GetCondition ();
75359575Sdim
76359575Sdim    %feature("docstring", "
77359575Sdim    The watchpoint stops only if the condition expression evaluates to true.") SetCondition;
78359575Sdim    void
79359575Sdim    SetCondition (const char *condition);
80359575Sdim
81359575Sdim    bool
82359575Sdim    GetDescription (lldb::SBStream &description, DescriptionLevel level);
83359575Sdim
84359575Sdim    static bool
85359575Sdim    EventIsWatchpointEvent (const lldb::SBEvent &event);
86359575Sdim
87359575Sdim    static lldb::WatchpointEventType
88359575Sdim    GetWatchpointEventTypeFromEvent (const lldb::SBEvent& event);
89359575Sdim
90359575Sdim    static lldb::SBWatchpoint
91359575Sdim    GetWatchpointFromEvent (const lldb::SBEvent& event);
92359575Sdim
93359575Sdim    STRING_EXTENSION_LEVEL(SBWatchpoint, lldb::eDescriptionLevelVerbose)
94359575Sdim};
95359575Sdim
96359575Sdim} // namespace lldb
97