1 //===-- SBVariablesOptions.h ------------------------------------------*- C++ 2 //-*-===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_API_SBVARIABLESOPTIONS_H 11 #define LLDB_API_SBVARIABLESOPTIONS_H 12 13 #include "lldb/API/SBDefines.h" 14 15 class VariablesOptionsImpl; 16 17 namespace lldb { 18 19 class LLDB_API SBVariablesOptions { 20 public: 21 SBVariablesOptions(); 22 23 SBVariablesOptions(const SBVariablesOptions &options); 24 25 SBVariablesOptions &operator=(const SBVariablesOptions &options); 26 27 ~SBVariablesOptions(); 28 29 explicit operator bool() const; 30 31 bool IsValid() const; 32 33 bool GetIncludeArguments() const; 34 35 void SetIncludeArguments(bool); 36 37 bool GetIncludeRecognizedArguments(const lldb::SBTarget &) const; 38 39 void SetIncludeRecognizedArguments(bool); 40 41 bool GetIncludeLocals() const; 42 43 void SetIncludeLocals(bool); 44 45 bool GetIncludeStatics() const; 46 47 void SetIncludeStatics(bool); 48 49 bool GetInScopeOnly() const; 50 51 void SetInScopeOnly(bool); 52 53 bool GetIncludeRuntimeSupportValues() const; 54 55 void SetIncludeRuntimeSupportValues(bool); 56 57 lldb::DynamicValueType GetUseDynamic() const; 58 59 void SetUseDynamic(lldb::DynamicValueType); 60 61 protected: 62 VariablesOptionsImpl *operator->(); 63 64 const VariablesOptionsImpl *operator->() const; 65 66 VariablesOptionsImpl *get(); 67 68 VariablesOptionsImpl &ref(); 69 70 const VariablesOptionsImpl &ref() const; 71 72 SBVariablesOptions(VariablesOptionsImpl *lldb_object_ptr); 73 74 void SetOptions(VariablesOptionsImpl *lldb_object_ptr); 75 76 private: 77 std::unique_ptr<VariablesOptionsImpl> m_opaque_up; 78 }; 79 80 } // namespace lldb 81 82 #endif // LLDB_API_SBVARIABLESOPTIONS_H 83