1 //===-- MemoryHistory.h ---------------------------------------------------*-
2 //C++ -*-===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef liblldb_MemoryHistory_h_
12 #define liblldb_MemoryHistory_h_
13 
14 #include <vector>
15 
16 #include "lldb/Core/PluginInterface.h"
17 #include "lldb/lldb-private.h"
18 #include "lldb/lldb-types.h"
19 
20 namespace lldb_private {
21 
22 typedef std::vector<lldb::ThreadSP> HistoryThreads;
23 
24 class MemoryHistory : public std::enable_shared_from_this<MemoryHistory>,
25                       public PluginInterface {
26 public:
27   static lldb::MemoryHistorySP FindPlugin(const lldb::ProcessSP process);
28 
29   virtual HistoryThreads GetHistoryThreads(lldb::addr_t address) = 0;
30 };
31 
32 } // namespace lldb_private
33 
34 #endif // liblldb_MemoryHistory_h_
35