1//===-- MemoryHistory.h ---------------------------------------------------*-
2//C++ -*-===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLDB_TARGET_MEMORYHISTORY_H
11#define LLDB_TARGET_MEMORYHISTORY_H
12
13#include <vector>
14
15#include "lldb/Core/PluginInterface.h"
16#include "lldb/lldb-private.h"
17#include "lldb/lldb-types.h"
18
19namespace lldb_private {
20
21typedef std::vector<lldb::ThreadSP> HistoryThreads;
22
23class MemoryHistory : public std::enable_shared_from_this<MemoryHistory>,
24                      public PluginInterface {
25public:
26  static lldb::MemoryHistorySP FindPlugin(const lldb::ProcessSP process);
27
28  virtual HistoryThreads GetHistoryThreads(lldb::addr_t address) = 0;
29};
30
31} // namespace lldb_private
32
33#endif // LLDB_TARGET_MEMORYHISTORY_H
34