1061da546Spatrick //===-- SWIG Interface for SBModule -----------------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9061da546Spatrick namespace lldb { 10061da546Spatrick 11061da546Spatrick class SBModuleSpec 12061da546Spatrick { 13061da546Spatrick public: 14061da546Spatrick 15061da546Spatrick SBModuleSpec (); 16061da546Spatrick 17061da546Spatrick SBModuleSpec (const lldb::SBModuleSpec &rhs); 18061da546Spatrick 19061da546Spatrick ~SBModuleSpec (); 20061da546Spatrick 21061da546Spatrick bool 22061da546Spatrick IsValid () const; 23061da546Spatrick 24061da546Spatrick explicit operator bool() const; 25061da546Spatrick 26061da546Spatrick void 27061da546Spatrick Clear(); 28061da546Spatrick 29061da546Spatrick %feature("docstring", " 30061da546Spatrick Get const accessor for the module file. 31061da546Spatrick 32061da546Spatrick This function returns the file for the module on the host system 33061da546Spatrick that is running LLDB. This can differ from the path on the 34061da546Spatrick platform since we might be doing remote debugging. 35061da546Spatrick 36061da546Spatrick @return 37061da546Spatrick A const reference to the file specification object.") GetFileSpec; 38061da546Spatrick lldb::SBFileSpec 39061da546Spatrick GetFileSpec (); 40061da546Spatrick 41061da546Spatrick void 42061da546Spatrick SetFileSpec (const lldb::SBFileSpec &fspec); 43061da546Spatrick 44061da546Spatrick %feature("docstring", " 45061da546Spatrick Get accessor for the module platform file. 46061da546Spatrick 47061da546Spatrick Platform file refers to the path of the module as it is known on 48061da546Spatrick the remote system on which it is being debugged. For local 49061da546Spatrick debugging this is always the same as Module::GetFileSpec(). But 50061da546Spatrick remote debugging might mention a file '/usr/lib/liba.dylib' 51061da546Spatrick which might be locally downloaded and cached. In this case the 52061da546Spatrick platform file could be something like: 53061da546Spatrick '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' 54061da546Spatrick The file could also be cached in a local developer kit directory. 55061da546Spatrick 56061da546Spatrick @return 57061da546Spatrick A const reference to the file specification object.") GetPlatformFileSpec; 58061da546Spatrick lldb::SBFileSpec 59061da546Spatrick GetPlatformFileSpec (); 60061da546Spatrick 61061da546Spatrick void 62061da546Spatrick SetPlatformFileSpec (const lldb::SBFileSpec &fspec); 63061da546Spatrick 64061da546Spatrick lldb::SBFileSpec 65061da546Spatrick GetSymbolFileSpec (); 66061da546Spatrick 67061da546Spatrick void 68061da546Spatrick SetSymbolFileSpec (const lldb::SBFileSpec &fspec); 69061da546Spatrick 70061da546Spatrick const char * 71061da546Spatrick GetObjectName (); 72061da546Spatrick 73061da546Spatrick void 74061da546Spatrick SetObjectName (const char *name); 75061da546Spatrick 76061da546Spatrick const char * 77061da546Spatrick GetTriple (); 78061da546Spatrick 79061da546Spatrick void 80061da546Spatrick SetTriple (const char *triple); 81061da546Spatrick 82061da546Spatrick const uint8_t * 83061da546Spatrick GetUUIDBytes (); 84061da546Spatrick 85061da546Spatrick size_t 86061da546Spatrick GetUUIDLength (); 87061da546Spatrick 88061da546Spatrick bool 89061da546Spatrick SetUUIDBytes (const uint8_t *uuid, size_t uuid_len); 90061da546Spatrick 91061da546Spatrick bool 92061da546Spatrick GetDescription (lldb::SBStream &description); 93061da546Spatrick 94061da546Spatrick STRING_EXTENSION(SBModuleSpec) 95061da546Spatrick }; 96061da546Spatrick 97061da546Spatrick 98*be691f3bSpatrick %feature("docstring", 99*be691f3bSpatrick "Represents a list of :py:class:`SBModuleSpec`." 100*be691f3bSpatrick ) SBModuleSpecList; 101061da546Spatrick class SBModuleSpecList 102061da546Spatrick { 103061da546Spatrick public: 104061da546Spatrick SBModuleSpecList(); 105061da546Spatrick 106061da546Spatrick SBModuleSpecList (const SBModuleSpecList &rhs); 107061da546Spatrick 108061da546Spatrick ~SBModuleSpecList(); 109061da546Spatrick 110061da546Spatrick static SBModuleSpecList 111061da546Spatrick GetModuleSpecifications (const char *path); 112061da546Spatrick 113061da546Spatrick void 114061da546Spatrick Append (const lldb::SBModuleSpec &spec); 115061da546Spatrick 116061da546Spatrick void 117061da546Spatrick Append (const lldb::SBModuleSpecList &spec_list); 118061da546Spatrick 119061da546Spatrick lldb::SBModuleSpec 120061da546Spatrick FindFirstMatchingSpec (const lldb::SBModuleSpec &match_spec); 121061da546Spatrick 122061da546Spatrick lldb::SBModuleSpecList 123061da546Spatrick FindMatchingSpecs (const lldb::SBModuleSpec &match_spec); 124061da546Spatrick 125061da546Spatrick size_t 126061da546Spatrick GetSize(); 127061da546Spatrick 128061da546Spatrick lldb::SBModuleSpec 129061da546Spatrick GetSpecAtIndex (size_t i); 130061da546Spatrick 131061da546Spatrick bool 132061da546Spatrick GetDescription (lldb::SBStream &description); 133061da546Spatrick 134061da546Spatrick STRING_EXTENSION(SBModuleSpecList) 135061da546Spatrick }; 136061da546Spatrick 137061da546Spatrick } // namespace lldb 138