15ffd83dbSDimitry Andric //===-- SystemRuntime.cpp -------------------------------------------------===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #include "lldb/Target/SystemRuntime.h"
100b57cec5SDimitry Andric #include "lldb/Core/PluginManager.h"
110b57cec5SDimitry Andric #include "lldb/Target/Process.h"
120b57cec5SDimitry Andric #include "lldb/lldb-private.h"
130b57cec5SDimitry Andric 
140b57cec5SDimitry Andric using namespace lldb;
150b57cec5SDimitry Andric using namespace lldb_private;
160b57cec5SDimitry Andric 
FindPlugin(Process * process)170b57cec5SDimitry Andric SystemRuntime *SystemRuntime::FindPlugin(Process *process) {
180b57cec5SDimitry Andric   SystemRuntimeCreateInstance create_callback = nullptr;
190b57cec5SDimitry Andric   for (uint32_t idx = 0;
200b57cec5SDimitry Andric        (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(
210b57cec5SDimitry Andric             idx)) != nullptr;
220b57cec5SDimitry Andric        ++idx) {
230b57cec5SDimitry Andric     std::unique_ptr<SystemRuntime> instance_up(create_callback(process));
240b57cec5SDimitry Andric     if (instance_up)
250b57cec5SDimitry Andric       return instance_up.release();
260b57cec5SDimitry Andric   }
270b57cec5SDimitry Andric   return nullptr;
280b57cec5SDimitry Andric }
290b57cec5SDimitry Andric 
SystemRuntime(Process * process)30*af732203SDimitry Andric SystemRuntime::SystemRuntime(Process *process) : Runtime(process), m_types() {}
310b57cec5SDimitry Andric 
320b57cec5SDimitry Andric SystemRuntime::~SystemRuntime() = default;
330b57cec5SDimitry Andric 
DidAttach()340b57cec5SDimitry Andric void SystemRuntime::DidAttach() {}
350b57cec5SDimitry Andric 
DidLaunch()360b57cec5SDimitry Andric void SystemRuntime::DidLaunch() {}
370b57cec5SDimitry Andric 
Detach()380b57cec5SDimitry Andric void SystemRuntime::Detach() {}
390b57cec5SDimitry Andric 
ModulesDidLoad(const ModuleList & module_list)40*af732203SDimitry Andric void SystemRuntime::ModulesDidLoad(const ModuleList &module_list) {}
410b57cec5SDimitry Andric 
GetExtendedBacktraceTypes()420b57cec5SDimitry Andric const std::vector<ConstString> &SystemRuntime::GetExtendedBacktraceTypes() {
430b57cec5SDimitry Andric   return m_types;
440b57cec5SDimitry Andric }
450b57cec5SDimitry Andric 
GetExtendedBacktraceThread(ThreadSP thread,ConstString type)460b57cec5SDimitry Andric ThreadSP SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread,
470b57cec5SDimitry Andric                                                    ConstString type) {
480b57cec5SDimitry Andric   return ThreadSP();
490b57cec5SDimitry Andric }
50