summaryrefslogtreecommitdiff
path: root/Source/Core/Common/HostDisassembler.h
blob: 3761f5293713d0f6a74860a0b6f2a000280401d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright 2008 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include <cstddef>
#include <iosfwd>
#include <memory>

#include "Common/CommonTypes.h"

class HostDisassembler
{
public:
  enum class Platform
  {
    x86_64,
    aarch64,
  };

  virtual ~HostDisassembler() = default;

  static std::unique_ptr<HostDisassembler> Factory(Platform arch);

  virtual std::size_t Disassemble(const u8* begin, const u8* end, std::ostream& stream);
};