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