1//===-- HostThreadWindows.h -------------------------------------*- C++ -*-===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef lldb_Host_windows_HostThreadWindows_h_
10#define lldb_Host_windows_HostThreadWindows_h_
11
12#include "lldb/Host/HostNativeThreadBase.h"
13
14#include "llvm/ADT/SmallString.h"
15
16namespace lldb_private {
17
18class HostThreadWindows : public HostNativeThreadBase {
19 HostThreadWindows(const HostThreadWindows &) = delete;
20 const HostThreadWindows &operator=(const HostThreadWindows &) = delete;
21
22public:
23 HostThreadWindows();
24 HostThreadWindows(lldb::thread_t thread);
25 virtual ~HostThreadWindows();
26
27 void SetOwnsHandle(bool owns);
28
29 Status Join(lldb::thread_result_t *result) override;
30 Status Cancel() override;
31 void Reset() override;
32 bool EqualsThread(lldb::thread_t thread) const override;
33
34 lldb::tid_t GetThreadId() const;
35
36private:
37 bool m_owns_handle;
38};
39}
40
41#endif
42

source code of lldb/include/lldb/Host/windows/HostThreadWindows.h