1 //===-- SystemRuntime.cpp -------------------------------------------------===//
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 SystemRuntime::SystemRuntime(Process *process) : Runtime(process), m_types() {}
31 
32 SystemRuntime::~SystemRuntime() = default;
33 
34 void SystemRuntime::DidAttach() {}
35 
36 void SystemRuntime::DidLaunch() {}
37 
38 void SystemRuntime::Detach() {}
39 
40 void SystemRuntime::ModulesDidLoad(const ModuleList &module_list) {}
41 
42 const std::vector<ConstString> &SystemRuntime::GetExtendedBacktraceTypes() {
43   return m_types;
44 }
45 
46 ThreadSP SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread,
47                                                    ConstString type) {
48   return ThreadSP();
49 }
50