xref: /freebsd/contrib/llvm-project/lldb/include/lldb/Target/MemoryHistory.h (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
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 
19 namespace lldb_private {
20 
21 typedef std::vector<lldb::ThreadSP> HistoryThreads;
22 
23 class MemoryHistory : public std::enable_shared_from_this<MemoryHistory>,
24                       public PluginInterface {
25 public:
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