180814287SRaphael Isemann //===-- HostProcess.cpp ---------------------------------------------------===// 2f5e4f37cSZachary Turner // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6f5e4f37cSZachary Turner // 7f5e4f37cSZachary Turner //===----------------------------------------------------------------------===// 8f5e4f37cSZachary Turner 9f5e4f37cSZachary Turner #include "lldb/Host/HostProcess.h" 10b9c1b51eSKate Stone #include "lldb/Host/HostNativeProcess.h" 11172d37d3SZachary Turner #include "lldb/Host/HostThread.h" 12f5e4f37cSZachary Turner 13f5e4f37cSZachary Turner using namespace lldb; 14f5e4f37cSZachary Turner using namespace lldb_private; 15f5e4f37cSZachary Turner HostProcess()16b9c1b51eSKate StoneHostProcess::HostProcess() : m_native_process(new HostNativeProcess) {} 17f5e4f37cSZachary Turner HostProcess(lldb::process_t process)18f5e4f37cSZachary TurnerHostProcess::HostProcess(lldb::process_t process) 19b9c1b51eSKate Stone : m_native_process(new HostNativeProcess(process)) {} 20f5e4f37cSZachary Turner 21fd2433e1SJonas Devlieghere HostProcess::~HostProcess() = default; 22c76a4452SZachary Turner Terminate()2397206d57SZachary TurnerStatus HostProcess::Terminate() { return m_native_process->Terminate(); } 24f5e4f37cSZachary Turner GetProcessId() const25b9c1b51eSKate Stonelldb::pid_t HostProcess::GetProcessId() const { 26f5e4f37cSZachary Turner return m_native_process->GetProcessId(); 27f5e4f37cSZachary Turner } 28f5e4f37cSZachary Turner IsRunning() const29b9c1b51eSKate Stonebool HostProcess::IsRunning() const { return m_native_process->IsRunning(); } 30f5e4f37cSZachary Turner StartMonitoring(const Host::MonitorChildProcessCallback & callback)31*12c9c4a8SPavel Labathllvm::Expected<HostThread> HostProcess::StartMonitoring( 32*12c9c4a8SPavel Labath const Host::MonitorChildProcessCallback &callback) { 33*12c9c4a8SPavel Labath return m_native_process->StartMonitoring(callback); 34172d37d3SZachary Turner } 35172d37d3SZachary Turner GetNativeProcess()36b9c1b51eSKate StoneHostNativeProcessBase &HostProcess::GetNativeProcess() { 37f5e4f37cSZachary Turner return *m_native_process; 38f5e4f37cSZachary Turner } 39f5e4f37cSZachary Turner GetNativeProcess() const40b9c1b51eSKate Stoneconst HostNativeProcessBase &HostProcess::GetNativeProcess() const { 41f5e4f37cSZachary Turner return *m_native_process; 42f5e4f37cSZachary Turner } 43