brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 0e96841 Raw
41 lines · c
1//===-- NativeRegisterContextRegisterInfo.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 LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H10#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H11 12#include <memory>13 14#include "RegisterInfoInterface.h"15#include "lldb/Host/common/NativeRegisterContext.h"16 17namespace lldb_private {18class NativeRegisterContextRegisterInfo : public NativeRegisterContext {19public:20  ///21  /// Construct a NativeRegisterContextRegisterInfo, taking ownership22  /// of the register_info_interface pointer.23  ///24  NativeRegisterContextRegisterInfo(25      NativeThreadProtocol &thread,26      RegisterInfoInterface *register_info_interface);27 28  uint32_t GetRegisterCount() const override;29 30  uint32_t GetUserRegisterCount() const override;31 32  const RegisterInfo *GetRegisterInfoAtIndex(uint32_t reg_index) const override;33 34  const RegisterInfoInterface &GetRegisterInfoInterface() const;35 36protected:37  std::unique_ptr<RegisterInfoInterface> m_register_info_interface_up;38};39}40#endif41