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