1254721Semaste//===-- UnwindAssembly.cpp ------------------------------*- C++ -*-===//
2254721Semaste//
3254721Semaste//                     The LLVM Compiler Infrastructure
4254721Semaste//
5254721Semaste// This file is distributed under the University of Illinois Open Source
6254721Semaste// License. See LICENSE.TXT for details.
7254721Semaste//
8254721Semaste//===----------------------------------------------------------------------===//
9254721Semaste
10254721Semaste#include "lldb/lldb-private.h"
11254721Semaste#include "lldb/Core/PluginManager.h"
12254721Semaste#include "lldb/Core/PluginInterface.h"
13254721Semaste#include "lldb/Target/UnwindAssembly.h"
14254721Semaste
15254721Semasteusing namespace lldb;
16254721Semasteusing namespace lldb_private;
17254721Semaste
18269024SemasteUnwindAssemblySP
19254721SemasteUnwindAssembly::FindPlugin (const ArchSpec &arch)
20254721Semaste{
21254721Semaste    UnwindAssemblyCreateInstance create_callback;
22254721Semaste
23254721Semaste    for (uint32_t idx = 0;
24254721Semaste         (create_callback = PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(idx)) != NULL;
25254721Semaste         ++idx)
26254721Semaste    {
27269024Semaste        UnwindAssemblySP assembly_profiler_ap (create_callback (arch));
28254721Semaste        if (assembly_profiler_ap.get ())
29269024Semaste            return assembly_profiler_ap;
30254721Semaste    }
31254721Semaste    return NULL;
32254721Semaste}
33254721Semaste
34254721SemasteUnwindAssembly::UnwindAssembly (const ArchSpec &arch) :
35254721Semaste    m_arch (arch)
36254721Semaste{
37254721Semaste}
38254721Semaste
39254721SemasteUnwindAssembly::~UnwindAssembly ()
40254721Semaste{
41254721Semaste}
42