1*0b57cec5SDimitry Andric //===-- SystemRuntime.cpp -------------------------------------------------===//
2*0b57cec5SDimitry Andric //
3*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*0b57cec5SDimitry Andric //
7*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
8*0b57cec5SDimitry Andric 
9*0b57cec5SDimitry Andric #include "lldb/Target/SystemRuntime.h"
10*0b57cec5SDimitry Andric #include "lldb/Core/PluginManager.h"
11*0b57cec5SDimitry Andric #include "lldb/Target/Process.h"
12*0b57cec5SDimitry Andric #include "lldb/lldb-private.h"
13*0b57cec5SDimitry Andric 
14*0b57cec5SDimitry Andric using namespace lldb;
15*0b57cec5SDimitry Andric using namespace lldb_private;
16*0b57cec5SDimitry Andric 
FindPlugin(Process * process)17*0b57cec5SDimitry Andric SystemRuntime *SystemRuntime::FindPlugin(Process *process) {
18*0b57cec5SDimitry Andric   SystemRuntimeCreateInstance create_callback = nullptr;
19*0b57cec5SDimitry Andric   for (uint32_t idx = 0;
20*0b57cec5SDimitry Andric        (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(
21*0b57cec5SDimitry Andric             idx)) != nullptr;
22*0b57cec5SDimitry Andric        ++idx) {
23*0b57cec5SDimitry Andric     std::unique_ptr<SystemRuntime> instance_up(create_callback(process));
24*0b57cec5SDimitry Andric     if (instance_up)
25*0b57cec5SDimitry Andric       return instance_up.release();
26*0b57cec5SDimitry Andric   }
27*0b57cec5SDimitry Andric   return nullptr;
28*0b57cec5SDimitry Andric }
29*0b57cec5SDimitry Andric 
SystemRuntime(Process * process)30*0b57cec5SDimitry Andric SystemRuntime::SystemRuntime(Process *process) : Runtime(process), m_types() {}
31*0b57cec5SDimitry Andric 
32*0b57cec5SDimitry Andric SystemRuntime::~SystemRuntime() = default;
33*0b57cec5SDimitry Andric 
DidAttach()34*0b57cec5SDimitry Andric void SystemRuntime::DidAttach() {}
35*0b57cec5SDimitry Andric 
DidLaunch()36*0b57cec5SDimitry Andric void SystemRuntime::DidLaunch() {}
37*0b57cec5SDimitry Andric 
Detach()38*0b57cec5SDimitry Andric void SystemRuntime::Detach() {}
39*0b57cec5SDimitry Andric 
ModulesDidLoad(const ModuleList & module_list)40*0b57cec5SDimitry Andric void SystemRuntime::ModulesDidLoad(const ModuleList &module_list) {}
41*0b57cec5SDimitry Andric 
GetExtendedBacktraceTypes()42*0b57cec5SDimitry Andric const std::vector<ConstString> &SystemRuntime::GetExtendedBacktraceTypes() {
43*0b57cec5SDimitry Andric   return m_types;
44*0b57cec5SDimitry Andric }
45*0b57cec5SDimitry Andric 
GetExtendedBacktraceThread(ThreadSP thread,ConstString type)46*0b57cec5SDimitry Andric ThreadSP SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread,
47*0b57cec5SDimitry Andric                                                    ConstString type) {
48*0b57cec5SDimitry Andric   return ThreadSP();
49*0b57cec5SDimitry Andric }
50*0b57cec5SDimitry Andric