blob: 011197ad7cd023ba86eef87de114be124595b524 [file] [log] [blame]
Chris Lattner24943d22010-06-08 16:52:24 +00001//===-- 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
14using namespace lldb;
15
16
17SBModule::SBModule () :
Greg Clayton63094e02010-06-23 01:19:29 +000018 m_opaque_sp ()
Chris Lattner24943d22010-06-08 16:52:24 +000019{
20}
21
22SBModule::SBModule (const lldb::ModuleSP& module_sp) :
Greg Clayton63094e02010-06-23 01:19:29 +000023 m_opaque_sp (module_sp)
Chris Lattner24943d22010-06-08 16:52:24 +000024{
25}
26
27SBModule::~SBModule ()
28{
29}
30
31bool
32SBModule::IsValid () const
33{
Greg Clayton63094e02010-06-23 01:19:29 +000034 return m_opaque_sp.get() != NULL;
Chris Lattner24943d22010-06-08 16:52:24 +000035}
36
37SBFileSpec
38SBModule::GetFileSpec () const
39{
40 SBFileSpec file_spec;
Greg Clayton63094e02010-06-23 01:19:29 +000041 if (m_opaque_sp)
42 file_spec.SetFileSpec(m_opaque_sp->GetFileSpec());
Chris Lattner24943d22010-06-08 16:52:24 +000043 return file_spec;
44}
45
46const uint8_t *
47SBModule::GetUUIDBytes () const
48{
Greg Clayton63094e02010-06-23 01:19:29 +000049 if (m_opaque_sp)
50 return (const uint8_t *)m_opaque_sp->GetUUID().GetBytes();
Chris Lattner24943d22010-06-08 16:52:24 +000051 return NULL;
52}
53
54
55bool
56SBModule::operator == (const SBModule &rhs) const
57{
Greg Clayton63094e02010-06-23 01:19:29 +000058 if (m_opaque_sp)
59 return m_opaque_sp.get() == rhs.m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000060 return false;
61}
62
63bool
64SBModule::operator != (const SBModule &rhs) const
65{
Greg Clayton63094e02010-06-23 01:19:29 +000066 if (m_opaque_sp)
67 return m_opaque_sp.get() != rhs.m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000068 return false;
69}
70
71lldb::ModuleSP &
72SBModule::operator *()
73{
Greg Clayton63094e02010-06-23 01:19:29 +000074 return m_opaque_sp;
Chris Lattner24943d22010-06-08 16:52:24 +000075}
76
77lldb_private::Module *
78SBModule::operator ->()
79{
Greg Clayton63094e02010-06-23 01:19:29 +000080 return m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000081}
82
83const lldb_private::Module *
84SBModule::operator ->() const
85{
Greg Clayton63094e02010-06-23 01:19:29 +000086 return m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000087}
88
89lldb_private::Module *
90SBModule::get()
91{
Greg Clayton63094e02010-06-23 01:19:29 +000092 return m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000093}
94
95const lldb_private::Module *
96SBModule::get() const
97{
Greg Clayton63094e02010-06-23 01:19:29 +000098 return m_opaque_sp.get();
Chris Lattner24943d22010-06-08 16:52:24 +000099}
100
101
102void
103SBModule::SetModule (const lldb::ModuleSP& module_sp)
104{
Greg Clayton63094e02010-06-23 01:19:29 +0000105 m_opaque_sp = module_sp;
Chris Lattner24943d22010-06-08 16:52:24 +0000106}
107