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