1//===-- NativeRegisterContextWindows.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 liblldb_NativeRegisterContextWindows_h_
10#define liblldb_NativeRegisterContextWindows_h_
11
12#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
13#include "lldb/Host/common/NativeThreadProtocol.h"
14#include "lldb/Utility/DataBufferHeap.h"
15
16namespace lldb_private {
17
18class NativeThreadWindows;
19
20class NativeRegisterContextWindows
21 : public virtual NativeRegisterContextRegisterInfo {
22public:
23 static std::unique_ptr<NativeRegisterContextWindows>
24 CreateHostNativeRegisterContextWindows(const ArchSpec &target_arch,
25 NativeThreadProtocol &native_thread);
26
27 // MSVC compiler deletes the default constructor due to virtual inheritance.
28 // Explicitly defining it ensures the class remains constructible.
29 NativeRegisterContextWindows() {}
30
31protected:
32 lldb::thread_t GetThreadHandle() const;
33};
34
35} // namespace lldb_private
36
37#endif // liblldb_NativeRegisterContextWindows_h_
38

source code of lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h