1 //===-- SystemRuntime.cpp ---------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/lldb-private.h"
11 #include "lldb/Target/SystemRuntime.h"
12 #include "lldb/Target/Process.h"
13 #include "lldb/Core/PluginManager.h"
16 using namespace lldb_private;
19 SystemRuntime::FindPlugin (Process *process)
21 SystemRuntimeCreateInstance create_callback = NULL;
22 for (uint32_t idx = 0; (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(idx)) != NULL; ++idx)
24 std::unique_ptr<SystemRuntime> instance_ap(create_callback(process));
25 if (instance_ap.get())
26 return instance_ap.release();
32 //----------------------------------------------------------------------
33 // SystemRuntime constructor
34 //----------------------------------------------------------------------
35 SystemRuntime::SystemRuntime(Process *process) :
41 //----------------------------------------------------------------------
43 //----------------------------------------------------------------------
44 SystemRuntime::~SystemRuntime()
49 SystemRuntime::DidAttach ()
54 SystemRuntime::DidLaunch()
59 SystemRuntime::Detach()
64 SystemRuntime::ModulesDidLoad (ModuleList &module_list)
68 const std::vector<ConstString> &
69 SystemRuntime::GetExtendedBacktraceTypes ()
75 SystemRuntime::GetExtendedBacktraceThread (ThreadSP thread, ConstString type)