]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBVariablesOptions.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / include / lldb / API / SBVariablesOptions.h
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_