1 //===-- SystemRuntime.cpp ---------------------------------------*- 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 #include "lldb/Target/SystemRuntime.h"
10 #include "lldb/Core/PluginManager.h"
11 #include "lldb/Target/Process.h"
12 #include "lldb/lldb-private.h"
13 
14 using namespace lldb;
15 using namespace lldb_private;
16 
17 SystemRuntime *SystemRuntime::FindPlugin(Process *process) {
18   SystemRuntimeCreateInstance create_callback = nullptr;
19   for (uint32_t idx = 0;
20        (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(
21             idx)) != nullptr;
22        ++idx) {
23     std::unique_ptr<SystemRuntime> instance_up(create_callback(process));
24     if (instance_up)
25       return instance_up.release();
26   }
27   return nullptr;
28 }
29 
30 //----------------------------------------------------------------------
31 // SystemRuntime constructor
32 //----------------------------------------------------------------------
33 SystemRuntime::SystemRuntime(Process *process)
34     : m_process(process), m_types() {}
35 
36 SystemRuntime::~SystemRuntime() = default;
37 
38 void SystemRuntime::DidAttach() {}
39 
40 void SystemRuntime::DidLaunch() {}
41 
42 void SystemRuntime::Detach() {}
43 
44 void SystemRuntime::ModulesDidLoad(ModuleList &module_list) {}
45 
46 const std::vector<ConstString> &SystemRuntime::GetExtendedBacktraceTypes() {
47   return m_types;
48 }
49 
50 ThreadSP SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread,
51                                                    ConstString type) {
52   return ThreadSP();
53 }
54