LLDB mainline
lldb_private::ScriptedHookInterface Class Referenceabstract

#include <ScriptedHookInterface.h>

Inheritance diagram for lldb_private::ScriptedHookInterface:
[legend]

Classes

struct  SupportedHookMethods
 Describes which hook callback methods the Python class implements. More...

Public Member Functions

virtual llvm::Expected< StructuredData::GenericSPCreatePluginObject (llvm::StringRef class_name, lldb::TargetSP target_sp, const StructuredDataImpl &args_sp)=0
virtual SupportedHookMethods GetSupportedMethods ()
 Check which hook callback methods the Python class implements.
virtual void HandleModuleLoaded (lldb::StreamSP &output_sp)
 Called when modules are loaded into the target.
virtual void HandleModuleUnloaded (lldb::StreamSP &output_sp)
 Called when modules are unloaded from the target. Optional.
virtual llvm::Expected< boolHandleStop (ExecutionContext &exe_ctx, lldb::StreamSP &output_sp)
 Called when the process stops.
Public Member Functions inherited from lldb_private::ScriptedInterface
 ScriptedInterface ()=default
virtual ~ScriptedInterface ()=default
StructuredData::GenericSP GetScriptObjectInstance ()
virtual llvm::SmallVector< AbstractMethodRequirementGetAbstractMethodRequirements () const =0
virtual llvm::Expected< FileSpecGetScriptedModulePath ()
llvm::SmallVector< llvm::StringLiteral > const GetAbstractMethods () const

Additional Inherited Members

Static Public Member Functions inherited from lldb_private::ScriptedInterface
template<typename Ret>
static Ret ErrorWithMessage (llvm::StringRef caller_name, llvm::StringRef error_msg, Status &error, LLDBLog log_category=LLDBLog::Process)
template<typename T = StructuredData::ObjectSP>
static bool CheckStructuredDataObject (llvm::StringRef caller, T obj, Status &error)
static bool CreateInstance (lldb::ScriptLanguage language, ScriptedInterfaceUsages usages)
Protected Attributes inherited from lldb_private::ScriptedInterface
StructuredData::GenericSP m_object_instance_sp

Detailed Description

Definition at line 17 of file ScriptedHookInterface.h.

Member Function Documentation

◆ CreatePluginObject()

virtual llvm::Expected< StructuredData::GenericSP > lldb_private::ScriptedHookInterface::CreatePluginObject ( llvm::StringRef class_name,
lldb::TargetSP target_sp,
const StructuredDataImpl & args_sp )
pure virtual

◆ GetSupportedMethods()

virtual SupportedHookMethods lldb_private::ScriptedHookInterface::GetSupportedMethods ( )
inlinevirtual

Check which hook callback methods the Python class implements.

Called after CreatePluginObject to determine the trigger mask.

Reimplemented in lldb_private::ScriptedHookPythonInterface.

Definition at line 36 of file ScriptedHookInterface.h.

◆ HandleModuleLoaded()

virtual void lldb_private::ScriptedHookInterface::HandleModuleLoaded ( lldb::StreamSP & output_sp)
inlinevirtual

Called when modules are loaded into the target.

Reimplemented in lldb_private::ScriptedHookPythonInterface.

Definition at line 39 of file ScriptedHookInterface.h.

◆ HandleModuleUnloaded()

virtual void lldb_private::ScriptedHookInterface::HandleModuleUnloaded ( lldb::StreamSP & output_sp)
inlinevirtual

Called when modules are unloaded from the target. Optional.

Reimplemented in lldb_private::ScriptedHookPythonInterface.

Definition at line 42 of file ScriptedHookInterface.h.

◆ HandleStop()

virtual llvm::Expected< bool > lldb_private::ScriptedHookInterface::HandleStop ( ExecutionContext & exe_ctx,
lldb::StreamSP & output_sp )
inlinevirtual

Called when the process stops.

Returns "should_stop" if false, the process will continue. Defaults to true (stop on unimplemented).

Reimplemented in lldb_private::ScriptedHookPythonInterface.

Definition at line 46 of file ScriptedHookInterface.h.


The documentation for this class was generated from the following file: