blob: 756da6439e3b961251fca6c6741a7e58b9547e79 [file] [log] [blame]
//===-- SBVariablesOptions.h ------------------------------------------*- C++
//-*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_SBVariablesOptions_h_
#define LLDB_SBVariablesOptions_h_
#include "lldb/API/SBDefines.h"
class VariablesOptionsImpl;
namespace lldb {
class LLDB_API SBVariablesOptions {
public:
SBVariablesOptions();
SBVariablesOptions(const SBVariablesOptions &options);
SBVariablesOptions &operator=(const SBVariablesOptions &options);
~SBVariablesOptions();
bool IsValid() const;
bool GetIncludeArguments() const;
void SetIncludeArguments(bool);
bool GetIncludeLocals() const;
void SetIncludeLocals(bool);
bool GetIncludeStatics() const;
void SetIncludeStatics(bool);
bool GetInScopeOnly() const;
void SetInScopeOnly(bool);
bool GetIncludeRuntimeSupportValues() const;
void SetIncludeRuntimeSupportValues(bool);
lldb::DynamicValueType GetUseDynamic() const;
void SetUseDynamic(lldb::DynamicValueType);
protected:
VariablesOptionsImpl *operator->();
const VariablesOptionsImpl *operator->() const;
VariablesOptionsImpl *get();
VariablesOptionsImpl &ref();
const VariablesOptionsImpl &ref() const;
SBVariablesOptions(VariablesOptionsImpl *lldb_object_ptr);
void SetOptions(VariablesOptionsImpl *lldb_object_ptr);
private:
std::unique_ptr<VariablesOptionsImpl> m_opaque_ap;
};
} // namespace lldb
#endif // LLDB_SBValue_h_