1*30fdc8d8SChris Lattner //===-- SBModule.cpp --------------------------------------------*- C++ -*-===// 2*30fdc8d8SChris Lattner // 3*30fdc8d8SChris Lattner // The LLVM Compiler Infrastructure 4*30fdc8d8SChris Lattner // 5*30fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source 6*30fdc8d8SChris Lattner // License. See LICENSE.TXT for details. 7*30fdc8d8SChris Lattner // 8*30fdc8d8SChris Lattner //===----------------------------------------------------------------------===// 9*30fdc8d8SChris Lattner 10*30fdc8d8SChris Lattner #include "lldb/API/SBModule.h" 11*30fdc8d8SChris Lattner #include "lldb/API/SBFileSpec.h" 12*30fdc8d8SChris Lattner #include "lldb/Core/Module.h" 13*30fdc8d8SChris Lattner 14*30fdc8d8SChris Lattner using namespace lldb; 15*30fdc8d8SChris Lattner 16*30fdc8d8SChris Lattner 17*30fdc8d8SChris Lattner SBModule::SBModule () : 18*30fdc8d8SChris Lattner m_lldb_object_sp () 19*30fdc8d8SChris Lattner { 20*30fdc8d8SChris Lattner } 21*30fdc8d8SChris Lattner 22*30fdc8d8SChris Lattner SBModule::SBModule (const lldb::ModuleSP& module_sp) : 23*30fdc8d8SChris Lattner m_lldb_object_sp (module_sp) 24*30fdc8d8SChris Lattner { 25*30fdc8d8SChris Lattner } 26*30fdc8d8SChris Lattner 27*30fdc8d8SChris Lattner SBModule::~SBModule () 28*30fdc8d8SChris Lattner { 29*30fdc8d8SChris Lattner } 30*30fdc8d8SChris Lattner 31*30fdc8d8SChris Lattner bool 32*30fdc8d8SChris Lattner SBModule::IsValid () const 33*30fdc8d8SChris Lattner { 34*30fdc8d8SChris Lattner return m_lldb_object_sp.get() != NULL; 35*30fdc8d8SChris Lattner } 36*30fdc8d8SChris Lattner 37*30fdc8d8SChris Lattner SBFileSpec 38*30fdc8d8SChris Lattner SBModule::GetFileSpec () const 39*30fdc8d8SChris Lattner { 40*30fdc8d8SChris Lattner SBFileSpec file_spec; 41*30fdc8d8SChris Lattner if (m_lldb_object_sp) 42*30fdc8d8SChris Lattner file_spec.SetFileSpec(m_lldb_object_sp->GetFileSpec()); 43*30fdc8d8SChris Lattner return file_spec; 44*30fdc8d8SChris Lattner } 45*30fdc8d8SChris Lattner 46*30fdc8d8SChris Lattner const uint8_t * 47*30fdc8d8SChris Lattner SBModule::GetUUIDBytes () const 48*30fdc8d8SChris Lattner { 49*30fdc8d8SChris Lattner if (m_lldb_object_sp) 50*30fdc8d8SChris Lattner return (const uint8_t *)m_lldb_object_sp->GetUUID().GetBytes(); 51*30fdc8d8SChris Lattner return NULL; 52*30fdc8d8SChris Lattner } 53*30fdc8d8SChris Lattner 54*30fdc8d8SChris Lattner 55*30fdc8d8SChris Lattner bool 56*30fdc8d8SChris Lattner SBModule::operator == (const SBModule &rhs) const 57*30fdc8d8SChris Lattner { 58*30fdc8d8SChris Lattner if (m_lldb_object_sp) 59*30fdc8d8SChris Lattner return m_lldb_object_sp.get() == rhs.m_lldb_object_sp.get(); 60*30fdc8d8SChris Lattner return false; 61*30fdc8d8SChris Lattner } 62*30fdc8d8SChris Lattner 63*30fdc8d8SChris Lattner bool 64*30fdc8d8SChris Lattner SBModule::operator != (const SBModule &rhs) const 65*30fdc8d8SChris Lattner { 66*30fdc8d8SChris Lattner if (m_lldb_object_sp) 67*30fdc8d8SChris Lattner return m_lldb_object_sp.get() != rhs.m_lldb_object_sp.get(); 68*30fdc8d8SChris Lattner return false; 69*30fdc8d8SChris Lattner } 70*30fdc8d8SChris Lattner 71*30fdc8d8SChris Lattner lldb::ModuleSP & 72*30fdc8d8SChris Lattner SBModule::operator *() 73*30fdc8d8SChris Lattner { 74*30fdc8d8SChris Lattner return m_lldb_object_sp; 75*30fdc8d8SChris Lattner } 76*30fdc8d8SChris Lattner 77*30fdc8d8SChris Lattner lldb_private::Module * 78*30fdc8d8SChris Lattner SBModule::operator ->() 79*30fdc8d8SChris Lattner { 80*30fdc8d8SChris Lattner return m_lldb_object_sp.get(); 81*30fdc8d8SChris Lattner } 82*30fdc8d8SChris Lattner 83*30fdc8d8SChris Lattner const lldb_private::Module * 84*30fdc8d8SChris Lattner SBModule::operator ->() const 85*30fdc8d8SChris Lattner { 86*30fdc8d8SChris Lattner return m_lldb_object_sp.get(); 87*30fdc8d8SChris Lattner } 88*30fdc8d8SChris Lattner 89*30fdc8d8SChris Lattner lldb_private::Module * 90*30fdc8d8SChris Lattner SBModule::get() 91*30fdc8d8SChris Lattner { 92*30fdc8d8SChris Lattner return m_lldb_object_sp.get(); 93*30fdc8d8SChris Lattner } 94*30fdc8d8SChris Lattner 95*30fdc8d8SChris Lattner const lldb_private::Module * 96*30fdc8d8SChris Lattner SBModule::get() const 97*30fdc8d8SChris Lattner { 98*30fdc8d8SChris Lattner return m_lldb_object_sp.get(); 99*30fdc8d8SChris Lattner } 100*30fdc8d8SChris Lattner 101*30fdc8d8SChris Lattner 102*30fdc8d8SChris Lattner void 103*30fdc8d8SChris Lattner SBModule::SetModule (const lldb::ModuleSP& module_sp) 104*30fdc8d8SChris Lattner { 105*30fdc8d8SChris Lattner m_lldb_object_sp = module_sp; 106*30fdc8d8SChris Lattner } 107*30fdc8d8SChris Lattner 108