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