1 //===-- SBVariablesOptions.h ------------------------------------------*- C++ 2 //-*-===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is distributed under the University of Illinois Open Source 7 // License. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef LLDB_SBVariablesOptions_h_ 12 #define LLDB_SBVariablesOptions_h_ 13 14 #include "lldb/API/SBDefines.h" 15 16 class VariablesOptionsImpl; 17 18 namespace lldb { 19 20 class LLDB_API SBVariablesOptions { 21 public: 22 SBVariablesOptions(); 23 24 SBVariablesOptions(const SBVariablesOptions &options); 25 26 SBVariablesOptions &operator=(const SBVariablesOptions &options); 27 28 ~SBVariablesOptions(); 29 30 bool IsValid() const; 31 32 bool GetIncludeArguments() const; 33 34 void SetIncludeArguments(bool); 35 36 bool GetIncludeRecognizedArguments(const lldb::SBTarget &) const; 37 38 void SetIncludeRecognizedArguments(bool); 39 40 bool GetIncludeLocals() const; 41 42 void SetIncludeLocals(bool); 43 44 bool GetIncludeStatics() const; 45 46 void SetIncludeStatics(bool); 47 48 bool GetInScopeOnly() const; 49 50 void SetInScopeOnly(bool); 51 52 bool GetIncludeRuntimeSupportValues() const; 53 54 void SetIncludeRuntimeSupportValues(bool); 55 56 lldb::DynamicValueType GetUseDynamic() const; 57 58 void SetUseDynamic(lldb::DynamicValueType); 59 60 protected: 61 VariablesOptionsImpl *operator->(); 62 63 const VariablesOptionsImpl *operator->() const; 64 65 VariablesOptionsImpl *get(); 66 67 VariablesOptionsImpl &ref(); 68 69 const VariablesOptionsImpl &ref() const; 70 71 SBVariablesOptions(VariablesOptionsImpl *lldb_object_ptr); 72 73 void SetOptions(VariablesOptionsImpl *lldb_object_ptr); 74 75 private: 76 std::unique_ptr<VariablesOptionsImpl> m_opaque_ap; 77 }; 78 79 } // namespace lldb 80 81 #endif // LLDB_SBValue_h_ 82