1 //===-- SystemRuntime.cpp ---------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "lldb/lldb-private.h" 11 #include "lldb/Target/SystemRuntime.h" 12 #include "lldb/Target/Process.h" 13 #include "lldb/Core/PluginManager.h" 14 15 using namespace lldb; 16 using namespace lldb_private; 17 18 SystemRuntime* 19 SystemRuntime::FindPlugin (Process *process) 20 { 21 SystemRuntimeCreateInstance create_callback = NULL; 22 for (uint32_t idx = 0; (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(idx)) != NULL; ++idx) 23 { 24 std::unique_ptr<SystemRuntime> instance_ap(create_callback(process)); 25 if (instance_ap.get()) 26 return instance_ap.release(); 27 } 28 return NULL; 29 } 30 31 32 //---------------------------------------------------------------------- 33 // SystemRuntime constructor 34 //---------------------------------------------------------------------- 35 SystemRuntime::SystemRuntime(Process *process) : 36 m_process (process), 37 m_types () 38 { 39 } 40 41 //---------------------------------------------------------------------- 42 // Destructor 43 //---------------------------------------------------------------------- 44 SystemRuntime::~SystemRuntime() 45 { 46 } 47 48 void 49 SystemRuntime::DidAttach () 50 { 51 } 52 53 void 54 SystemRuntime::DidLaunch() 55 { 56 } 57 58 void 59 SystemRuntime::Detach() 60 { 61 } 62 63 void 64 SystemRuntime::ModulesDidLoad (ModuleList &module_list) 65 { 66 } 67 68 const std::vector<ConstString> & 69 SystemRuntime::GetExtendedBacktraceTypes () 70 { 71 return m_types; 72 } 73 74 ThreadSP 75 SystemRuntime::GetExtendedBacktraceThread (ThreadSP thread, ConstString type) 76 { 77 return ThreadSP(); 78 } 79