1*80814287SRaphael Isemann //===-- HostThread.cpp ----------------------------------------------------===//
239de3110SZachary 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
639de3110SZachary Turner //
739de3110SZachary Turner //===----------------------------------------------------------------------===//
839de3110SZachary Turner 
939de3110SZachary Turner #include "lldb/Host/HostThread.h"
10b9c1b51eSKate Stone #include "lldb/Host/HostNativeThread.h"
1139de3110SZachary Turner 
1239de3110SZachary Turner using namespace lldb;
1339de3110SZachary Turner using namespace lldb_private;
1439de3110SZachary Turner 
HostThread()15b9c1b51eSKate Stone HostThread::HostThread() : m_native_thread(new HostNativeThread) {}
1639de3110SZachary Turner 
HostThread(lldb::thread_t thread)1739de3110SZachary Turner HostThread::HostThread(lldb::thread_t thread)
18b9c1b51eSKate Stone     : m_native_thread(new HostNativeThread(thread)) {}
1939de3110SZachary Turner 
Join(lldb::thread_result_t * result)2097206d57SZachary Turner Status HostThread::Join(lldb::thread_result_t *result) {
2139de3110SZachary Turner   return m_native_thread->Join(result);
2239de3110SZachary Turner }
2339de3110SZachary Turner 
Cancel()2497206d57SZachary Turner Status HostThread::Cancel() { return m_native_thread->Cancel(); }
2539de3110SZachary Turner 
Reset()26b9c1b51eSKate Stone void HostThread::Reset() { return m_native_thread->Reset(); }
2739de3110SZachary Turner 
Release()28b9c1b51eSKate Stone lldb::thread_t HostThread::Release() { return m_native_thread->Release(); }
2939de3110SZachary Turner 
IsJoinable() const30b9c1b51eSKate Stone bool HostThread::IsJoinable() const { return m_native_thread->IsJoinable(); }
3139de3110SZachary Turner 
GetNativeThread()32b9c1b51eSKate Stone HostNativeThread &HostThread::GetNativeThread() {
33c3018992SZachary Turner   return static_cast<HostNativeThread &>(*m_native_thread);
3439de3110SZachary Turner }
3539de3110SZachary Turner 
GetNativeThread() const36b9c1b51eSKate Stone const HostNativeThread &HostThread::GetNativeThread() const {
37c3018992SZachary Turner   return static_cast<const HostNativeThread &>(*m_native_thread);
3839de3110SZachary Turner }
3939de3110SZachary Turner 
GetResult() const40b9c1b51eSKate Stone lldb::thread_result_t HostThread::GetResult() const {
4139de3110SZachary Turner   return m_native_thread->GetResult();
4239de3110SZachary Turner }
4339de3110SZachary Turner 
EqualsThread(lldb::thread_t thread) const44b9c1b51eSKate Stone bool HostThread::EqualsThread(lldb::thread_t thread) const {
4564c92df7SAleksandr Urakov   return m_native_thread->EqualsThread(thread);
4639de3110SZachary Turner }
47