diff options
author | Jim Ingham <jingham@apple.com> | 2012-07-02 05:40:07 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-07-02 05:40:07 +0000 |
commit | 03afad8f1e750dad3d1241f511429f4337cf8282 (patch) | |
tree | be46d96f30a60ab344d7665d0038ba65c8e73376 /lldb/source/Target/Process.cpp | |
parent | a77d31d7fddd1dbb7d8f18599e0e86b3cd26e22f (diff) | |
download | bcm5719-llvm-03afad8f1e750dad3d1241f511429f4337cf8282.tar.gz bcm5719-llvm-03afad8f1e750dad3d1241f511429f4337cf8282.zip |
Add an "extra-startup-commands" process setting so we can send some command strings to the actual process plugin to interpret as it wishes.
llvm-svn: 159511
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r-- | lldb/source/Target/Process.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index fceeafd7ab0..dabad32f220 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -4866,7 +4866,9 @@ ProcessInstanceSettings::ProcessInstanceSettings } ProcessInstanceSettings::ProcessInstanceSettings (const ProcessInstanceSettings &rhs) : - InstanceSettings (Process::GetSettingsController(), CreateInstanceName().AsCString()) + InstanceSettings (Process::GetSettingsController(), CreateInstanceName().AsCString()), + m_disable_memory_cache(rhs.m_disable_memory_cache), + m_extra_startup_commands (rhs.m_extra_startup_commands) { if (m_instance_name != InstanceSettings::GetDefaultName()) { @@ -4888,6 +4890,8 @@ ProcessInstanceSettings::operator= (const ProcessInstanceSettings &rhs) { if (this != &rhs) { + m_disable_memory_cache = rhs.m_disable_memory_cache; + m_extra_startup_commands = rhs.m_extra_startup_commands; } return *this; @@ -4919,6 +4923,10 @@ ProcessInstanceSettings::UpdateInstanceSettingsVariable (const ConstString &var_ } } + else if (var_name == GetExtraStartupCommandVarName()) + { + UserSettingsController::UpdateStringArrayVariable (op, index_value, m_extra_startup_commands, value, err); + } } void @@ -4947,6 +4955,15 @@ ProcessInstanceSettings::GetInstanceSettingsValue (const SettingEntry &entry, value.AppendString(m_disable_memory_cache ? "true" : "false"); return true; } + else if (var_name == GetExtraStartupCommandVarName()) + { + if (m_extra_startup_commands.GetArgumentCount() > 0) + { + for (int i = 0; i < m_extra_startup_commands.GetArgumentCount(); ++i) + value.AppendString (m_extra_startup_commands.GetArgumentAtIndex (i)); + } + return true; + } else { if (err) @@ -4976,6 +4993,14 @@ ProcessInstanceSettings::GetDisableMemoryCacheVarName () const return disable_memory_cache_var_name; } +const ConstString & +ProcessInstanceSettings::GetExtraStartupCommandVarName () const +{ + static ConstString extra_startup_command_var_name ("extra-startup-command"); + + return extra_startup_command_var_name; +} + //-------------------------------------------------- // SettingsController Variable Tables //-------------------------------------------------- @@ -4999,6 +5024,7 @@ Process::SettingsController::instance_settings_table[] = "true", #endif NULL, false, false, "Disable reading and caching of memory in fixed-size units." }, + { "extra-startup-command", eSetVarTypeArray, NULL, NULL, false, false, "A list containing extra commands understood by the particular process plugin used." }, { NULL, eSetVarTypeNone, NULL, NULL, false, false, NULL } }; |