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