diff options
author | Greg Clayton <gclayton@apple.com> | 2012-10-19 18:02:49 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-10-19 18:02:49 +0000 |
commit | e8cd0c9859bfae9b173e89f566b6f4d6b010b19f (patch) | |
tree | 712804cb727d621b59a2f1c4e61e571f3ebb92fe /lldb/source/Core/UserSettingsController.cpp | |
parent | db97454f8ee2d47ef1f6000e812321ac1abc54d8 (diff) | |
download | bcm5719-llvm-e8cd0c9859bfae9b173e89f566b6f4d6b010b19f.tar.gz bcm5719-llvm-e8cd0c9859bfae9b173e89f566b6f4d6b010b19f.zip |
Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at:
plugin
dynamic-loader
macosx-kernel
(bool) disable-kext-loading
To settings can be set using:
(lldb) settings set plugin.dynamic-loader.macosx-kernel.disable-kext-loading true
I currently only hooked up the DynamicLoader plug-ins, but the code is very easy to duplicate when and if we need settings for other plug-ins.
llvm-svn: 166294
Diffstat (limited to 'lldb/source/Core/UserSettingsController.cpp')
-rw-r--r-- | lldb/source/Core/UserSettingsController.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lldb/source/Core/UserSettingsController.cpp b/lldb/source/Core/UserSettingsController.cpp index 68e1a625043..1b574539f0e 100644 --- a/lldb/source/Core/UserSettingsController.cpp +++ b/lldb/source/Core/UserSettingsController.cpp @@ -95,3 +95,15 @@ Properties::Apropos (const char *keyword, std::vector<const Property *> &matchin } return matching_properties.size(); } + + +lldb::OptionValuePropertiesSP +Properties::GetSubProperty (const ExecutionContext *exe_ctx, + const ConstString &name) +{ + OptionValuePropertiesSP properties_sp (GetValueProperties ()); + if (properties_sp) + return properties_sp->GetSubProperty (exe_ctx, name); + return lldb::OptionValuePropertiesSP(); +} + |