Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/lldb/source/API/SBProcessInfoList.cpp
39587 views
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
}
75
76