1 //===-- SBWatchpointOptions.h -----------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLDB_API_SBWATCHPOINTOPTIONS_H 10 #define LLDB_API_SBWATCHPOINTOPTIONS_H 11 12 #include "lldb/API/SBDefines.h" 13 14 class WatchpointOptionsImpl; 15 16 namespace lldb { 17 18 class LLDB_API SBWatchpointOptions { 19 public: 20 SBWatchpointOptions(); 21 22 SBWatchpointOptions(const lldb::SBWatchpointOptions &rhs); 23 24 ~SBWatchpointOptions(); 25 26 const SBWatchpointOptions &operator=(const lldb::SBWatchpointOptions &rhs); 27 28 /// Stop when the watched memory region is read. 29 void SetWatchpointTypeRead(bool read); 30 bool GetWatchpointTypeRead() const; 31 32 /// Stop when the watched memory region is written to/modified 33 void SetWatchpointTypeWrite(lldb::WatchpointWriteType write_type); 34 lldb::WatchpointWriteType GetWatchpointTypeWrite() const; 35 36 private: 37 // This auto_pointer is made in the constructor and is always valid. 38 mutable std::unique_ptr<WatchpointOptionsImpl> m_opaque_up; 39 }; 40 41 } // namespace lldb 42 43 #endif // LLDB_API_SBWATCHPOINTOPTIONS_H 44