[Lldb-commits] [PATCH] Add -exec-arguments command

Greg Clayton clayborg at gmail.com
Thu Feb 12 14:17:59 PST 2015


Inlined comments


================
Comment at: include/lldb/Target/Target.h:213-222
@@ +212,12 @@
+    //------------------------------------------------------------------
+    static void Arg0ValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void RunArgsValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void EnvVarsValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void InheritEnvValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void InputPathValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void OutputPathValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void ErrorPathValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void DetachOnErrorValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void DisableASLRValueChangedCallback(void *target_property_ptr, OptionValue *);
+    static void DisableSTDIOValueChangedCallback(void *target_property_ptr, OptionValue *);
+
----------------
Either get each option value and set the callback on each indivdual one, or make just one callback and in that callback extract the name from the "OptionValue *" using OptionValue::GetName() and then decoding which value it comes from.

================
Comment at: source/Target/Target.cpp:3061-3069
@@ +3060,11 @@
+    // Set callbacks to update launch_info whenever "settins set" updated any of these properties
+    m_collection_sp->SetValueChangedCallback(ePropertyArg0, TargetProperties::Arg0ValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyRunArgs, TargetProperties::RunArgsValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyEnvVars, TargetProperties::EnvVarsValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyInputPath, TargetProperties::InputPathValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyOutputPath, TargetProperties::OutputPathValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyErrorPath, TargetProperties::ErrorPathValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyDetachOnError, TargetProperties::DetachOnErrorValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyDisableASLR, TargetProperties::DisableASLRValueChangedCallback, this);
+    m_collection_sp->SetValueChangedCallback(ePropertyDisableSTDIO, TargetProperties::DisableSTDIOValueChangedCallback, this);
+
----------------
ki.stfu wrote:
> I can't set more than 1 callback.
Either get each option value and set the callback on each indivdual one, or make just one callback and in that callback extract the name from the "OptionValue *" using OptionValue::GetName() and then decoding which value it comes from.

http://reviews.llvm.org/D6965

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the lldb-commits mailing list