38 lines · c
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-exception6//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 NativeRegisterContextWindows21 : 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_private36 37#endif // liblldb_NativeRegisterContextWindows_h_38