diff options
Diffstat (limited to 'lldb/source/Target/MemoryHistory.cpp')
| -rw-r--r-- | lldb/source/Target/MemoryHistory.cpp | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/lldb/source/Target/MemoryHistory.cpp b/lldb/source/Target/MemoryHistory.cpp new file mode 100644 index 0000000000000..37148e1e72e9a --- /dev/null +++ b/lldb/source/Target/MemoryHistory.cpp @@ -0,0 +1,28 @@ +//===-- MemoryHistory.cpp ---------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "lldb/Target/MemoryHistory.h" +#include "lldb/Core/PluginManager.h" + +using namespace lldb; +using namespace lldb_private; + +lldb::MemoryHistorySP MemoryHistory::FindPlugin(const ProcessSP process) { +  MemoryHistoryCreateInstance create_callback = nullptr; + +  for (uint32_t idx = 0; +       (create_callback = PluginManager::GetMemoryHistoryCreateCallbackAtIndex( +            idx)) != nullptr; +       ++idx) { +    MemoryHistorySP memory_history_sp(create_callback(process)); +    if (memory_history_sp) +      return memory_history_sp; +  } + +  return MemoryHistorySP(); +}  | 
