LLDB mainline
ScriptedThreadInterface.h
Go to the documentation of this file.
1//===-- ScriptedThreadInterface.h -------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
10#define LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
11
12#include "ScriptedInterface.h"
14
15#include "lldb/lldb-private.h"
16
17#include <optional>
18#include <string>
19
20namespace lldb_private {
22public:
23 virtual llvm::Expected<StructuredData::GenericSP>
24 CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx,
26 StructuredData::Generic *script_obj = nullptr) = 0;
27
29
30 virtual std::optional<std::string> GetName() { return std::nullopt; }
31
33
34 virtual std::optional<std::string> GetQueue() { return std::nullopt; }
35
37
38 virtual StructuredData::ArraySP GetStackFrames() { return {}; }
39
41
42 virtual std::optional<std::string> GetRegisterContext() {
43 return std::nullopt;
44 }
45
47};
48} // namespace lldb_private
49
50#endif // LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
virtual llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr)=0
virtual StructuredData::DictionarySP GetStopReason()
virtual std::optional< std::string > GetRegisterContext()
virtual StructuredData::ArraySP GetExtendedInfo()
virtual StructuredData::ArraySP GetStackFrames()
virtual std::optional< std::string > GetName()
virtual std::optional< std::string > GetQueue()
virtual StructuredData::DictionarySP GetRegisterInfo()
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Array > ArraySP
#define LLDB_INVALID_THREAD_ID
Definition: lldb-defines.h:90
A class that represents a running process on the host machine.
StateType
Process and Thread States.
uint64_t tid_t
Definition: lldb-types.h:84