1 //===-- SBWatchpoint.h ----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBWatchpoint_h_
11 #define LLDB_SBWatchpoint_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBWatchpoint {
21 SBWatchpoint(const lldb::SBWatchpoint &rhs);
23 SBWatchpoint(const lldb::WatchpointSP &wp_sp);
27 const lldb::SBWatchpoint &operator=(const lldb::SBWatchpoint &rhs);
35 /// With -1 representing an invalid hardware index.
36 int32_t GetHardwareIndex();
38 lldb::addr_t GetWatchAddress();
40 size_t GetWatchSize();
42 void SetEnabled(bool enabled);
46 uint32_t GetHitCount();
48 uint32_t GetIgnoreCount();
50 void SetIgnoreCount(uint32_t n);
52 const char *GetCondition();
54 void SetCondition(const char *condition);
56 bool GetDescription(lldb::SBStream &description, DescriptionLevel level);
60 lldb::WatchpointSP GetSP() const;
62 void SetSP(const lldb::WatchpointSP &sp);
64 static bool EventIsWatchpointEvent(const lldb::SBEvent &event);
66 static lldb::WatchpointEventType
67 GetWatchpointEventTypeFromEvent(const lldb::SBEvent &event);
69 static lldb::SBWatchpoint GetWatchpointFromEvent(const lldb::SBEvent &event);
72 friend class SBTarget;
75 lldb::WatchpointSP m_opaque_sp;
80 #endif // LLDB_SBWatchpoint_h_