1 //===-- SWIG Interface for SBModule -----------------------------*- 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 namespace lldb { 11 12 class SBModuleSpec 13 { 14 public: 15 16 SBModuleSpec (); 17 18 SBModuleSpec (const lldb::SBModuleSpec &rhs); 19 20 ~SBModuleSpec (); 21 22 bool 23 IsValid () const; 24 25 void 26 Clear(); 27 28 //------------------------------------------------------------------ 29 /// Get const accessor for the module file. 30 /// 31 /// This function returns the file for the module on the host system 32 /// that is running LLDB. This can differ from the path on the 33 /// platform since we might be doing remote debugging. 34 /// 35 /// @return 36 /// A const reference to the file specification object. 37 //------------------------------------------------------------------ 38 lldb::SBFileSpec 39 GetFileSpec (); 40 41 void 42 SetFileSpec (const lldb::SBFileSpec &fspec); 43 44 //------------------------------------------------------------------ 45 /// Get accessor for the module platform file. 46 /// 47 /// Platform file refers to the path of the module as it is known on 48 /// the remote system on which it is being debugged. For local 49 /// debugging this is always the same as Module::GetFileSpec(). But 50 /// remote debugging might mention a file '/usr/lib/liba.dylib' 51 /// which might be locally downloaded and cached. In this case the 52 /// platform file could be something like: 53 /// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 54 /// The file could also be cached in a local developer kit directory. 55 /// 56 /// @return 57 /// A const reference to the file specification object. 58 //------------------------------------------------------------------ 59 lldb::SBFileSpec 60 GetPlatformFileSpec (); 61 62 void 63 SetPlatformFileSpec (const lldb::SBFileSpec &fspec); 64 65 lldb::SBFileSpec 66 GetSymbolFileSpec (); 67 68 void 69 SetSymbolFileSpec (const lldb::SBFileSpec &fspec); 70 71 const char * 72 GetObjectName (); 73 74 void 75 SetObjectName (const char *name); 76 77 const char * 78 GetTriple (); 79 80 void 81 SetTriple (const char *triple); 82 83 const uint8_t * 84 GetUUIDBytes (); 85 86 size_t 87 GetUUIDLength (); 88 89 bool 90 SetUUIDBytes (const uint8_t *uuid, size_t uuid_len); 91 92 bool 93 GetDescription (lldb::SBStream &description); 94 95 }; 96 97 98 class SBModuleSpecList 99 { 100 public: 101 SBModuleSpecList(); 102 103 SBModuleSpecList (const SBModuleSpecList &rhs); 104 105 ~SBModuleSpecList(); 106 107 static SBModuleSpecList 108 GetModuleSpecifications (const char *path); 109 110 void 111 Append (const lldb::SBModuleSpec &spec); 112 113 void 114 Append (const lldb::SBModuleSpecList &spec_list); 115 116 lldb::SBModuleSpec 117 FindFirstMatchingSpec (const lldb::SBModuleSpec &match_spec); 118 119 lldb::SBModuleSpecList 120 FindMatchingSpecs (const lldb::SBModuleSpec &match_spec); 121 122 size_t 123 GetSize(); 124 125 lldb::SBModuleSpec 126 GetSpecAtIndex (size_t i); 127 128 bool 129 GetDescription (lldb::SBStream &description); 130 131 }; 132 133 } // namespace lldb 134