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