xref: /freebsd/contrib/llvm-project/lldb/include/lldb/Target/MemoryHistory.h (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1 //===-- MemoryHistory.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 LLDB_TARGET_MEMORYHISTORY_H
10 #define LLDB_TARGET_MEMORYHISTORY_H
11 
12 #include <vector>
13 
14 #include "lldb/Core/PluginInterface.h"
15 #include "lldb/lldb-private.h"
16 #include "lldb/lldb-types.h"
17 
18 namespace lldb_private {
19 
20 typedef std::vector<lldb::ThreadSP> HistoryThreads;
21 
22 class MemoryHistory : public std::enable_shared_from_this<MemoryHistory>,
23                       public PluginInterface {
24 public:
25   static lldb::MemoryHistorySP FindPlugin(const lldb::ProcessSP process);
26 
27   virtual HistoryThreads GetHistoryThreads(lldb::addr_t address) = 0;
28 };
29 
30 } // namespace lldb_private
31 
32 #endif // LLDB_TARGET_MEMORYHISTORY_H
33