LLDB
mainline
llvm-project
lldb
include
lldb
API
SBEvent.h
Go to the documentation of this file.
1
//===-- SBEvent.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_API_SBEVENT_H
10
#define LLDB_API_SBEVENT_H
11
12
#include "
lldb/API/SBDefines.h
"
13
14
#include <cstdio>
15
#include <vector>
16
17
namespace
lldb_private
{
18
class
ScriptInterpreter;
19
namespace
python {
20
class
SWIGBridge;
21
}
22
}
// namespace lldb_private
23
24
namespace
lldb
{
25
26
class
SBBroadcaster
;
27
28
class
LLDB_API
SBEvent
{
29
public
:
30
SBEvent
();
31
32
SBEvent
(
const
lldb::SBEvent
&rhs);
33
34
// Make an event that contains a C string.
35
SBEvent
(uint32_t event,
const
char
*cstr, uint32_t cstr_len);
36
37
~SBEvent
();
38
39
const
SBEvent
&operator=(
const
lldb::SBEvent
&rhs);
40
41
explicit
operator
bool()
const
;
42
43
bool
IsValid()
const
;
44
45
const
char
*GetDataFlavor();
46
47
uint32_t GetType()
const
;
48
49
lldb::SBBroadcaster
GetBroadcaster()
const
;
50
51
const
char
*GetBroadcasterClass()
const
;
52
53
#ifndef SWIG
54
bool
BroadcasterMatchesPtr(
const
lldb::SBBroadcaster
*broadcaster);
55
#endif
56
57
bool
BroadcasterMatchesRef(
const
lldb::SBBroadcaster
&broadcaster);
58
59
void
Clear();
60
61
static
const
char
*GetCStringFromEvent(
const
lldb::SBEvent
&event);
62
63
bool
GetDescription(
lldb::SBStream
&description);
64
65
bool
GetDescription(
lldb::SBStream
&description)
const
;
66
67
protected
:
68
friend
class
SBListener
;
69
friend
class
SBBroadcaster
;
70
friend
class
SBBreakpoint
;
71
friend
class
SBDebugger
;
72
friend
class
SBProcess
;
73
friend
class
SBTarget
;
74
friend
class
SBThread
;
75
friend
class
SBWatchpoint
;
76
77
friend
class
lldb_private::ScriptInterpreter
;
78
friend
class
lldb_private::python::SWIGBridge;
79
80
SBEvent
(
lldb::EventSP
&event_sp);
81
82
SBEvent
(
lldb_private::Event
*event);
83
84
lldb::EventSP
&GetSP()
const
;
85
86
void
reset(
lldb::EventSP
&event_sp);
87
88
void
reset(
lldb_private::Event
*event);
89
90
lldb_private::Event
*get()
const
;
91
92
private
:
93
mutable
lldb::EventSP
m_event_sp
;
94
mutable
lldb_private::Event
*m_opaque_ptr =
nullptr
;
95
};
96
97
}
// namespace lldb
98
99
#endif
// LLDB_API_SBEVENT_H
SBDefines.h
LLDB_API
#define LLDB_API
Definition:
SBDefines.h:28
lldb::SBBreakpoint
Definition:
SBBreakpoint.h:25
lldb::SBBroadcaster
Definition:
SBBroadcaster.h:16
lldb::SBDebugger
Definition:
SBDebugger.h:43
lldb::SBEvent
Definition:
SBEvent.h:28
lldb::SBEvent::m_event_sp
lldb::EventSP m_event_sp
Definition:
SBEvent.h:93
lldb::SBEvent::~SBEvent
~SBEvent()
lldb::SBListener
Definition:
SBListener.h:16
lldb::SBProcess
Definition:
SBProcess.h:29
lldb::SBStream
Definition:
SBStream.h:22
lldb::SBTarget
Definition:
SBTarget.h:37
lldb::SBThread
Definition:
SBThread.h:26
lldb::SBWatchpoint
Definition:
SBWatchpoint.h:26
lldb_private::Event
Definition:
Event.h:180
lldb_private::ScriptInterpreter
Definition:
ScriptInterpreter.h:136
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb
Definition:
SBAddress.h:15
lldb::SBBroadcaster
class LLDB_API SBBroadcaster
Definition:
SBDefines.h:55
lldb::EventSP
std::shared_ptr< lldb_private::Event > EventSP
Definition:
lldb-forward.h:343
Generated on Sun Dec 8 2024 11:04:40 for LLDB by
1.9.6