LLDB
mainline
llvm-project
lldb
include
lldb
Interpreter
Interfaces
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
"
13
#include "
lldb/Core/StructuredDataImpl.h
"
14
15
#include "
lldb/lldb-private.h
"
16
17
#include <optional>
18
#include <string>
19
20
namespace
lldb_private
{
21
class
ScriptedThreadInterface
:
virtual
public
ScriptedInterface
{
22
public
:
23
virtual
llvm::Expected<StructuredData::GenericSP>
24
CreatePluginObject
(llvm::StringRef class_name,
ExecutionContext
&exe_ctx,
25
StructuredData::DictionarySP
args_sp,
26
StructuredData::Generic
*script_obj =
nullptr
) = 0;
27
28
virtual
lldb::tid_t
GetThreadID
() {
return
LLDB_INVALID_THREAD_ID
; }
29
30
virtual
std::optional<std::string>
GetName
() {
return
std::nullopt; }
31
32
virtual
lldb::StateType
GetState
() {
return
lldb::eStateInvalid
; }
33
34
virtual
std::optional<std::string>
GetQueue
() {
return
std::nullopt; }
35
36
virtual
StructuredData::DictionarySP
GetStopReason
() {
return
{}; }
37
38
virtual
StructuredData::ArraySP
GetStackFrames
() {
return
{}; }
39
40
virtual
StructuredData::DictionarySP
GetRegisterInfo
() {
return
{}; }
41
42
virtual
std::optional<std::string>
GetRegisterContext
() {
43
return
std::nullopt;
44
}
45
46
virtual
StructuredData::ArraySP
GetExtendedInfo
() {
return
{}; }
47
};
48
}
// namespace lldb_private
49
50
#endif
// LLDB_INTERPRETER_INTERFACES_SCRIPTEDTHREADINTERFACE_H
ScriptedInterface.h
StructuredDataImpl.h
lldb_private::ExecutionContext
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
Definition:
ExecutionContext.h:292
lldb_private::ScriptedInterface
Definition:
ScriptedInterface.h:25
lldb_private::ScriptedThreadInterface
Definition:
ScriptedThreadInterface.h:21
lldb_private::ScriptedThreadInterface::CreatePluginObject
virtual llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr)=0
lldb_private::ScriptedThreadInterface::GetStopReason
virtual StructuredData::DictionarySP GetStopReason()
Definition:
ScriptedThreadInterface.h:36
lldb_private::ScriptedThreadInterface::GetRegisterContext
virtual std::optional< std::string > GetRegisterContext()
Definition:
ScriptedThreadInterface.h:42
lldb_private::ScriptedThreadInterface::GetExtendedInfo
virtual StructuredData::ArraySP GetExtendedInfo()
Definition:
ScriptedThreadInterface.h:46
lldb_private::ScriptedThreadInterface::GetStackFrames
virtual StructuredData::ArraySP GetStackFrames()
Definition:
ScriptedThreadInterface.h:38
lldb_private::ScriptedThreadInterface::GetState
virtual lldb::StateType GetState()
Definition:
ScriptedThreadInterface.h:32
lldb_private::ScriptedThreadInterface::GetName
virtual std::optional< std::string > GetName()
Definition:
ScriptedThreadInterface.h:30
lldb_private::ScriptedThreadInterface::GetThreadID
virtual lldb::tid_t GetThreadID()
Definition:
ScriptedThreadInterface.h:28
lldb_private::ScriptedThreadInterface::GetQueue
virtual std::optional< std::string > GetQueue()
Definition:
ScriptedThreadInterface.h:34
lldb_private::ScriptedThreadInterface::GetRegisterInfo
virtual StructuredData::DictionarySP GetRegisterInfo()
Definition:
ScriptedThreadInterface.h:40
lldb_private::StructuredData::Generic
Definition:
StructuredData.h:558
lldb_private::StructuredData::DictionarySP
std::shared_ptr< Dictionary > DictionarySP
Definition:
StructuredData.h:73
lldb_private::StructuredData::ArraySP
std::shared_ptr< Array > ArraySP
Definition:
StructuredData.h:67
LLDB_INVALID_THREAD_ID
#define LLDB_INVALID_THREAD_ID
Definition:
lldb-defines.h:90
lldb-private.h
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb::StateType
StateType
Process and Thread States.
Definition:
lldb-enumerations.h:74
lldb::eStateInvalid
@ eStateInvalid
Definition:
lldb-enumerations.h:75
lldb::tid_t
uint64_t tid_t
Definition:
lldb-types.h:84
Generated on Sat Dec 7 2024 13:11:10 for LLDB by
1.9.6