1//===-- SWIG Interface for SBModule -----------------------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9namespace lldb { 10 11class SBModuleSpec 12{ 13public: 14 15 SBModuleSpec (); 16 17 SBModuleSpec (const lldb::SBModuleSpec &rhs); 18 19 ~SBModuleSpec (); 20 21 bool 22 IsValid () const; 23 24 explicit operator bool() const; 25 26 void 27 Clear(); 28 29 %feature("docstring", " 30 Get const accessor for the module file. 31 32 This function returns the file for the module on the host system 33 that is running LLDB. This can differ from the path on the 34 platform since we might be doing remote debugging. 35 36 @return 37 A const reference to the file specification object.") GetFileSpec; 38 lldb::SBFileSpec 39 GetFileSpec (); 40 41 void 42 SetFileSpec (const lldb::SBFileSpec &fspec); 43 44 %feature("docstring", " 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.") GetPlatformFileSpec; 58 lldb::SBFileSpec 59 GetPlatformFileSpec (); 60 61 void 62 SetPlatformFileSpec (const lldb::SBFileSpec &fspec); 63 64 lldb::SBFileSpec 65 GetSymbolFileSpec (); 66 67 void 68 SetSymbolFileSpec (const lldb::SBFileSpec &fspec); 69 70 const char * 71 GetObjectName (); 72 73 void 74 SetObjectName (const char *name); 75 76 const char * 77 GetTriple (); 78 79 void 80 SetTriple (const char *triple); 81 82 const uint8_t * 83 GetUUIDBytes (); 84 85 size_t 86 GetUUIDLength (); 87 88 bool 89 SetUUIDBytes (const uint8_t *uuid, size_t uuid_len); 90 91 bool 92 GetDescription (lldb::SBStream &description); 93 94 STRING_EXTENSION(SBModuleSpec) 95}; 96 97 98class SBModuleSpecList 99{ 100public: 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 STRING_EXTENSION(SBModuleSpecList) 132}; 133 134} // namespace lldb 135