16b048aeaSJacob Lalonde //===-- SBProgress.cpp --------------------------------------------------*-===// 26b048aeaSJacob Lalonde // 36b048aeaSJacob Lalonde // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 46b048aeaSJacob Lalonde // See https://llvm.org/LICENSE.txt for license information. 56b048aeaSJacob Lalonde // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 66b048aeaSJacob Lalonde // 76b048aeaSJacob Lalonde //===----------------------------------------------------------------------===// 86b048aeaSJacob Lalonde 96b048aeaSJacob Lalonde #include "lldb/API/SBProgress.h" 106b048aeaSJacob Lalonde #include "lldb/Core/Progress.h" 116b048aeaSJacob Lalonde #include "lldb/Utility/Instrumentation.h" 126b048aeaSJacob Lalonde 136b048aeaSJacob Lalonde using namespace lldb; 146b048aeaSJacob Lalonde 156b048aeaSJacob Lalonde SBProgress::SBProgress(const char *title, const char *details, 166b048aeaSJacob Lalonde SBDebugger &debugger) { 176b048aeaSJacob Lalonde LLDB_INSTRUMENT_VA(this, title, details, debugger); 186b048aeaSJacob Lalonde 196b048aeaSJacob Lalonde m_opaque_up = std::make_unique<lldb_private::Progress>( 206b048aeaSJacob Lalonde title, details, /*total=*/std::nullopt, debugger.get(), 216b048aeaSJacob Lalonde /*minimum_report_time=*/std::nullopt, 226b048aeaSJacob Lalonde lldb_private::Progress::Origin::eExternal); 236b048aeaSJacob Lalonde } 246b048aeaSJacob Lalonde 256b048aeaSJacob Lalonde SBProgress::SBProgress(const char *title, const char *details, 266b048aeaSJacob Lalonde uint64_t total_units, SBDebugger &debugger) { 276b048aeaSJacob Lalonde LLDB_INSTRUMENT_VA(this, title, details, total_units, debugger); 286b048aeaSJacob Lalonde 296b048aeaSJacob Lalonde m_opaque_up = std::make_unique<lldb_private::Progress>( 306b048aeaSJacob Lalonde title, details, total_units, debugger.get(), 316b048aeaSJacob Lalonde /*minimum_report_time=*/std::nullopt, 326b048aeaSJacob Lalonde lldb_private::Progress::Origin::eExternal); 336b048aeaSJacob Lalonde } 346b048aeaSJacob Lalonde 35*1f7eb6f4SAlex Langford SBProgress::SBProgress(SBProgress &&rhs) 36*1f7eb6f4SAlex Langford : m_opaque_up(std::move(rhs.m_opaque_up)) {} 37*1f7eb6f4SAlex Langford 386b048aeaSJacob Lalonde SBProgress::~SBProgress() = default; 396b048aeaSJacob Lalonde 406b048aeaSJacob Lalonde void SBProgress::Increment(uint64_t amount, const char *description) { 416b048aeaSJacob Lalonde LLDB_INSTRUMENT_VA(amount, description); 426b048aeaSJacob Lalonde 436b048aeaSJacob Lalonde m_opaque_up->Increment(amount, description); 446b048aeaSJacob Lalonde } 456b048aeaSJacob Lalonde 466b048aeaSJacob Lalonde lldb_private::Progress &SBProgress::ref() const { return *m_opaque_up; } 47