Path: blob/main/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
213893 views
//===-- ScriptedStopHookPythonInterface.h -----------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTOPHOOKPYTHONINTERFACE_H9#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTOPHOOKPYTHONINTERFACE_H1011#include "lldb/Host/Config.h"12#include "lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h"1314#if LLDB_ENABLE_PYTHON1516#include "ScriptedPythonInterface.h"1718namespace lldb_private {19class ScriptedStopHookPythonInterface : public ScriptedStopHookInterface,20public ScriptedPythonInterface,21public PluginInterface {22public:23ScriptedStopHookPythonInterface(ScriptInterpreterPythonImpl &interpreter);2425llvm::Expected<StructuredData::GenericSP>26CreatePluginObject(llvm::StringRef class_name, lldb::TargetSP target_sp,27const StructuredDataImpl &args_sp) override;2829llvm::SmallVector<AbstractMethodRequirement>30GetAbstractMethodRequirements() const override {31return llvm::SmallVector<AbstractMethodRequirement>({{"handle_stop", 2}});32}3334llvm::Expected<bool> HandleStop(ExecutionContext &exe_ctx,35lldb::StreamSP &output_sp) override;3637static void Initialize();3839static void Terminate();4041static llvm::StringRef GetPluginNameStatic() {42return "ScriptedStopHookPythonInterface";43}4445llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }46};47} // namespace lldb_private4849#endif // LLDB_ENABLE_PYTHON50#endif // LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTOPHOOKPYTHONINTERFACE_H515253