Path: blob/main/contrib/llvm-project/lldb/source/API/SBProcessInfoList.cpp
39587 views
//===-- SBProcessInfoList.cpp ---------------------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "lldb/API/SBProcessInfoList.h"9#include "lldb/API/SBProcessInfo.h"10#include "lldb/Utility/Instrumentation.h"11#include "lldb/Utility/ProcessInfo.h"1213#include "Utils.h"1415using namespace lldb;16using namespace lldb_private;1718SBProcessInfoList::SBProcessInfoList() = default;1920SBProcessInfoList::~SBProcessInfoList() = default;2122SBProcessInfoList::SBProcessInfoList(const ProcessInfoList &impl)23: m_opaque_up(std::make_unique<ProcessInfoList>(impl)) {24LLDB_INSTRUMENT_VA(this, impl);25}2627SBProcessInfoList::SBProcessInfoList(const lldb::SBProcessInfoList &rhs) {2829LLDB_INSTRUMENT_VA(this, rhs);3031m_opaque_up = clone(rhs.m_opaque_up);32}3334const lldb::SBProcessInfoList &35SBProcessInfoList::operator=(const lldb::SBProcessInfoList &rhs) {3637LLDB_INSTRUMENT_VA(this, rhs);3839if (this != &rhs)40m_opaque_up = clone(rhs.m_opaque_up);41return *this;42}4344uint32_t SBProcessInfoList::GetSize() const {45LLDB_INSTRUMENT_VA(this);4647if (m_opaque_up)48return m_opaque_up->GetSize();4950return 0;51}5253void SBProcessInfoList::Clear() {54LLDB_INSTRUMENT_VA(this);5556if (m_opaque_up)57m_opaque_up->Clear();58}5960bool SBProcessInfoList::GetProcessInfoAtIndex(uint32_t idx,61SBProcessInfo &info) {62LLDB_INSTRUMENT_VA(this, idx, info);6364if (m_opaque_up) {65lldb_private::ProcessInstanceInfo process_instance_info;66if (m_opaque_up->GetProcessInfoAtIndex(idx, process_instance_info)) {67info.SetProcessInfo(process_instance_info);68return true;69}70}7172return false;73}747576