//===-- ObjectContainerBigArchive.cpp -------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "ObjectContainerBigArchive.h" #include "lldb/Core/Module.h" #include "lldb/Core/ModuleSpec.h" #include "lldb/Core/PluginManager.h" #include "lldb/Utility/ArchSpec.h" using namespace lldb; using namespace lldb_private; LLDB_PLUGIN_DEFINE(ObjectContainerBigArchive) ObjectContainerBigArchive::Archive::Archive(const lldb_private::ArchSpec &arch, const llvm::sys::TimePoint<> &time, lldb::offset_t file_offset, lldb::DataExtractorSP extractor_sp) : m_arch(arch), m_modification_time(time), m_file_offset(file_offset), m_objects(), m_extractor_sp(extractor_sp) {} ObjectContainerBigArchive::Archive::~Archive() = default; void ObjectContainerBigArchive::Initialize() { PluginManager::RegisterPlugin(GetPluginNameStatic(), GetPluginDescriptionStatic(), CreateInstance, GetModuleSpecifications); } void ObjectContainerBigArchive::Terminate() { PluginManager::UnregisterPlugin(CreateInstance); } ObjectContainer *ObjectContainerBigArchive::CreateInstance( const lldb::ModuleSP &module_sp, DataBufferSP &data_sp, lldb::offset_t data_offset, const FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length) { return nullptr; } size_t ObjectContainerBigArchive::GetModuleSpecifications( const lldb_private::FileSpec &file, lldb::DataExtractorSP &extractor_sp, lldb::offset_t data_offset, lldb::offset_t file_offset, lldb::offset_t file_size, lldb_private::ModuleSpecList &specs) { return 0; } ObjectContainerBigArchive::ObjectContainerBigArchive( const lldb::ModuleSP &module_sp, DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t file_offset, lldb::offset_t size) : ObjectContainer(module_sp, file, file_offset, size, data_sp, data_offset), m_archive_sp() {} void ObjectContainerBigArchive::SetArchive(Archive::shared_ptr &archive_sp) { m_archive_sp = archive_sp; } ObjectContainerBigArchive::~ObjectContainerBigArchive() = default; bool ObjectContainerBigArchive::ParseHeader() { return false; } ObjectFileSP ObjectContainerBigArchive::GetObjectFile(const FileSpec *file) { return ObjectFileSP(); }