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 9 namespace lldb { 10 11 class SBModuleSpec 12 { 13 public: 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 98 %feature("docstring", 99 "Represents a list of :py:class:`SBModuleSpec`." 100 ) SBModuleSpecList; 101 class SBModuleSpecList 102 { 103 public: 104 SBModuleSpecList(); 105 106 SBModuleSpecList (const SBModuleSpecList &rhs); 107 108 ~SBModuleSpecList(); 109 110 static SBModuleSpecList 111 GetModuleSpecifications (const char *path); 112 113 void 114 Append (const lldb::SBModuleSpec &spec); 115 116 void 117 Append (const lldb::SBModuleSpecList &spec_list); 118 119 lldb::SBModuleSpec 120 FindFirstMatchingSpec (const lldb::SBModuleSpec &match_spec); 121 122 lldb::SBModuleSpecList 123 FindMatchingSpecs (const lldb::SBModuleSpec &match_spec); 124 125 size_t 126 GetSize(); 127 128 lldb::SBModuleSpec 129 GetSpecAtIndex (size_t i); 130 131 bool 132 GetDescription (lldb::SBStream &description); 133 134 STRING_EXTENSION(SBModuleSpecList) 135 }; 136 137 } // namespace lldb 138