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 {
38 }
39 
40 //----------------------------------------------------------------------
41 // Destructor
42 //----------------------------------------------------------------------
43 SystemRuntime::~SystemRuntime()
44 {
45 }
46 
47 void
48 SystemRuntime::DidAttach ()
49 {
50 }
51 
52 void
53 SystemRuntime::DidLaunch()
54 {
55 }
56 
57 void
58 SystemRuntime::ModulesDidLoad (ModuleList &module_list)
59 {
60 }
61 
62 std::vector<ConstString>
63 SystemRuntime::GetThreadOriginExtendedBacktraceTypes ()
64 {
65     std::vector<ConstString> types;
66     return types;
67 }
68