brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · a711bcb Raw
75 lines · cpp
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-exception6//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 16using namespace lldb;17using namespace lldb_private;18 19SBProcessInfoList::SBProcessInfoList() = default;20 21SBProcessInfoList::~SBProcessInfoList() = default;22 23SBProcessInfoList::SBProcessInfoList(const ProcessInfoList &impl)24    : m_opaque_up(std::make_unique<ProcessInfoList>(impl)) {25  LLDB_INSTRUMENT_VA(this, impl);26}27 28SBProcessInfoList::SBProcessInfoList(const lldb::SBProcessInfoList &rhs) {29 30  LLDB_INSTRUMENT_VA(this, rhs);31 32  m_opaque_up = clone(rhs.m_opaque_up);33}34 35const lldb::SBProcessInfoList &36SBProcessInfoList::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 45uint32_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 54void SBProcessInfoList::Clear() {55  LLDB_INSTRUMENT_VA(this);56 57  if (m_opaque_up)58    m_opaque_up->Clear();59}60 61bool 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