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_SBVariablesOptions_h_
11 #define LLDB_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_SBValue_h_
83