1 //===-- SBModule.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/API/SBModule.h" 11 #include "lldb/API/SBFileSpec.h" 12 #include "lldb/Core/Module.h" 13 14 using namespace lldb; 15 16 17 SBModule::SBModule () : 18 m_opaque_sp () 19 { 20 } 21 22 SBModule::SBModule (const lldb::ModuleSP& module_sp) : 23 m_opaque_sp (module_sp) 24 { 25 } 26 27 SBModule::~SBModule () 28 { 29 } 30 31 bool 32 SBModule::IsValid () const 33 { 34 return m_opaque_sp.get() != NULL; 35 } 36 37 SBFileSpec 38 SBModule::GetFileSpec () const 39 { 40 SBFileSpec file_spec; 41 if (m_opaque_sp) 42 file_spec.SetFileSpec(m_opaque_sp->GetFileSpec()); 43 return file_spec; 44 } 45 46 const uint8_t * 47 SBModule::GetUUIDBytes () const 48 { 49 if (m_opaque_sp) 50 return (const uint8_t *)m_opaque_sp->GetUUID().GetBytes(); 51 return NULL; 52 } 53 54 55 bool 56 SBModule::operator == (const SBModule &rhs) const 57 { 58 if (m_opaque_sp) 59 return m_opaque_sp.get() == rhs.m_opaque_sp.get(); 60 return false; 61 } 62 63 bool 64 SBModule::operator != (const SBModule &rhs) const 65 { 66 if (m_opaque_sp) 67 return m_opaque_sp.get() != rhs.m_opaque_sp.get(); 68 return false; 69 } 70 71 lldb::ModuleSP & 72 SBModule::operator *() 73 { 74 return m_opaque_sp; 75 } 76 77 lldb_private::Module * 78 SBModule::operator ->() 79 { 80 return m_opaque_sp.get(); 81 } 82 83 const lldb_private::Module * 84 SBModule::operator ->() const 85 { 86 return m_opaque_sp.get(); 87 } 88 89 lldb_private::Module * 90 SBModule::get() 91 { 92 return m_opaque_sp.get(); 93 } 94 95 const lldb_private::Module * 96 SBModule::get() const 97 { 98 return m_opaque_sp.get(); 99 } 100 101 102 void 103 SBModule::SetModule (const lldb::ModuleSP& module_sp) 104 { 105 m_opaque_sp = module_sp; 106 } 107 108