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