================
@@ -986,6 +986,34 @@ class LLDB_API SBTarget {
 
   lldb::SBMutex GetAPIMutex() const;
 
+  /// Register a scripted frame provider for this target.
+  ///
+  /// \param[in] class_name
+  ///     The name of the Python class that implements the frame provider.
+  ///
+  /// \param[in] args_dict
+  ///     A dictionary of arguments to pass to the frame provider class.
+  ///
+  /// \return
+  ///     An error object indicating success or failure.
+  lldb::SBError RegisterScriptedFrameProvider(const char *class_name,
+                                              lldb::SBStructuredData 
args_dict);
+
+  /// Remove a scripted frame provider from this target by name.
+  ///
+  /// \param[in] provider_name
+  ///     The name of the frame provider class to remove.
+  ///
+  /// \return
+  ///     An error object indicating success or failure.
+  lldb::SBError RemoveScriptedFrameProvider(const char *provider_name);
+
+  /// Clear the scripted frame provider for this target.
----------------
medismailben wrote:

See https://github.com/llvm/llvm-project/pull/161870#discussion_r2482534752

Currently the target can have multiple scripted frame provider descriptor 
however the threads can only have 1 provider at a time. I'm planning on being 
able to chain providers (both internal plugins & scripted implementations) in a 
follow-up. I actually think this API should be called 
`RemoveSyntheticFrameProvider` not `Scripted` because the user might want to 
disable an lldb internal frame provider.

https://github.com/llvm/llvm-project/pull/161870
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to