LLDB
mainline
llvm-project
lldb
source
API
SBProcessInfoList.cpp
Go to the documentation of this file.
1
//===-- SBProcessInfoList.cpp ---------------------------------------------===//
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
#include "
lldb/API/SBProcessInfoList.h
"
10
#include "
lldb/API/SBProcessInfo.h
"
11
#include "
lldb/Utility/Instrumentation.h
"
12
#include "
lldb/Utility/ProcessInfo.h
"
13
14
#include "
Utils.h
"
15
16
using namespace
lldb
;
17
using namespace
lldb_private
;
18
19
SBProcessInfoList::SBProcessInfoList
() =
default
;
20
21
SBProcessInfoList::~SBProcessInfoList
() =
default
;
22
23
SBProcessInfoList::SBProcessInfoList
(
const
ProcessInfoList
&impl)
24
:
m_opaque_up
(std::make_unique<
ProcessInfoList
>(impl)) {
25
LLDB_INSTRUMENT_VA
(
this
, impl);
26
}
27
28
SBProcessInfoList::SBProcessInfoList
(
const
lldb::SBProcessInfoList
&rhs) {
29
30
LLDB_INSTRUMENT_VA
(
this
, rhs);
31
32
m_opaque_up
=
clone
(rhs.
m_opaque_up
);
33
}
34
35
const
lldb::SBProcessInfoList
&
36
SBProcessInfoList::operator=
(
const
lldb::SBProcessInfoList
&rhs) {
37
38
LLDB_INSTRUMENT_VA
(
this
, rhs);
39
40
if
(
this
!= &rhs)
41
m_opaque_up
=
clone
(rhs.
m_opaque_up
);
42
return
*
this
;
43
}
44
45
uint32_t
SBProcessInfoList::GetSize
()
const
{
46
LLDB_INSTRUMENT_VA
(
this
);
47
48
if
(
m_opaque_up
)
49
return
m_opaque_up
->GetSize();
50
51
return
0;
52
}
53
54
void
SBProcessInfoList::Clear
() {
55
LLDB_INSTRUMENT_VA
(
this
);
56
57
if
(
m_opaque_up
)
58
m_opaque_up
->Clear();
59
}
60
61
bool
SBProcessInfoList::GetProcessInfoAtIndex
(uint32_t idx,
62
SBProcessInfo
&info) {
63
LLDB_INSTRUMENT_VA
(
this
, idx, info);
64
65
if
(
m_opaque_up
) {
66
lldb_private::ProcessInstanceInfo
process_instance_info;
67
if
(
m_opaque_up
->GetProcessInfoAtIndex(idx, process_instance_info)) {
68
info.
SetProcessInfo
(process_instance_info);
69
return
true
;
70
}
71
}
72
73
return
false
;
74
}
Instrumentation.h
LLDB_INSTRUMENT_VA
#define LLDB_INSTRUMENT_VA(...)
Definition
Instrumentation.h:96
ProcessInfo.h
SBProcessInfoList.h
SBProcessInfo.h
Utils.h
lldb::SBProcessInfoList
Definition
SBProcessInfoList.h:22
lldb::SBProcessInfoList::SBProcessInfoList
SBProcessInfoList()
lldb::SBProcessInfoList::GetSize
uint32_t GetSize() const
Definition
SBProcessInfoList.cpp:45
lldb::SBProcessInfoList::operator=
const lldb::SBProcessInfoList & operator=(const lldb::SBProcessInfoList &rhs)
Definition
SBProcessInfoList.cpp:36
lldb::SBProcessInfoList::Clear
void Clear()
Definition
SBProcessInfoList.cpp:54
lldb::SBProcessInfoList::~SBProcessInfoList
~SBProcessInfoList()
lldb::SBProcessInfoList::m_opaque_up
std::unique_ptr< lldb_private::ProcessInfoList > m_opaque_up
Definition
SBProcessInfoList.h:41
lldb::SBProcessInfoList::GetProcessInfoAtIndex
bool GetProcessInfoAtIndex(uint32_t idx, SBProcessInfo &info)
Definition
SBProcessInfoList.cpp:61
lldb::SBProcessInfo
Definition
SBProcessInfo.h:16
lldb::SBProcessInfo::SetProcessInfo
void SetProcessInfo(const lldb_private::ProcessInstanceInfo &proc_info_ref)
Definition
SBProcessInfo.cpp:43
lldb_private::ProcessInfoList
Definition
ProcessInfo.h:279
lldb_private::ProcessInstanceInfo
Definition
ProcessInfo.h:141
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
lldb_private::clone
std::unique_ptr< T > clone(const std::unique_ptr< T > &src)
Definition
Utils.h:17
lldb
Definition
SBAddress.h:15
Generated on
for LLDB by
1.14.0