mirror of
https://github.com/opnsense/src.git
synced 2026-02-28 04:10:49 -05:00
(A number of files not required for the FreeBSD build have been removed.) Sponsored by: DARPA, AFRL
98 lines
2.6 KiB
C++
98 lines
2.6 KiB
C++
//====-- UserSettingsController.h --------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef liblldb_UserSettingsController_h_
|
|
#define liblldb_UserSettingsController_h_
|
|
|
|
// C Includes
|
|
// C++ Includes
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
// Other libraries and framework includes
|
|
// Project includes
|
|
|
|
#include "lldb/lldb-private.h"
|
|
#include "lldb/Core/ConstString.h"
|
|
#include "lldb/Core/StringList.h"
|
|
#include "lldb/Core/Stream.h"
|
|
#include "lldb/Core/StreamString.h"
|
|
#include "lldb/Host/Mutex.h"
|
|
#include "lldb/Interpreter/OptionValue.h"
|
|
|
|
namespace lldb_private {
|
|
|
|
class Properties
|
|
{
|
|
public:
|
|
Properties () :
|
|
m_collection_sp ()
|
|
{
|
|
}
|
|
|
|
Properties (const lldb::OptionValuePropertiesSP &collection_sp) :
|
|
m_collection_sp (collection_sp)
|
|
{
|
|
}
|
|
|
|
virtual
|
|
~Properties()
|
|
{
|
|
}
|
|
|
|
virtual lldb::OptionValuePropertiesSP
|
|
GetValueProperties () const
|
|
{
|
|
// This function is virtual in case subclasses want to lazily
|
|
// implement creating the properties.
|
|
return m_collection_sp;
|
|
}
|
|
|
|
virtual lldb::OptionValueSP
|
|
GetPropertyValue (const ExecutionContext *exe_ctx,
|
|
const char *property_path,
|
|
bool will_modify,
|
|
Error &error) const;
|
|
|
|
virtual Error
|
|
SetPropertyValue (const ExecutionContext *exe_ctx,
|
|
VarSetOperationType op,
|
|
const char *property_path,
|
|
const char *value);
|
|
|
|
virtual Error
|
|
DumpPropertyValue (const ExecutionContext *exe_ctx,
|
|
Stream &strm,
|
|
const char *property_path,
|
|
uint32_t dump_mask);
|
|
|
|
virtual void
|
|
DumpAllPropertyValues (const ExecutionContext *exe_ctx,
|
|
Stream &strm,
|
|
uint32_t dump_mask);
|
|
|
|
virtual void
|
|
DumpAllDescriptions (CommandInterpreter &interpreter,
|
|
Stream &strm) const;
|
|
|
|
size_t
|
|
Apropos (const char *keyword,
|
|
std::vector<const Property *> &matching_properties) const;
|
|
|
|
lldb::OptionValuePropertiesSP
|
|
GetSubProperty (const ExecutionContext *exe_ctx,
|
|
const ConstString &name);
|
|
protected:
|
|
lldb::OptionValuePropertiesSP m_collection_sp;
|
|
};
|
|
|
|
} // namespace lldb_private
|
|
|
|
#endif // liblldb_UserSettingsController_h_
|