// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_LZMA_SDK_GOOGLE_SEVEN_ZIP_READER_H_ #define THIRD_PARTY_LZMA_SDK_GOOGLE_SEVEN_ZIP_READER_H_ #include <stddef.h> #include <stdint.h> #include <memory> #include "base/containers/span.h" #include "base/files/file.h" #include "base/files/file_path.h" #include "base/sequence_checker.h" namespace seven_zip { namespace internal { class SevenZipReaderImpl; } // namespace internal struct EntryInfo { … }; enum class Result { … }; class Delegate { … }; // Encapsulates the state of the 7z unpacker. This class supports asynchronous // unpacking. `delegate` can stop unpacking at any time and resume it with later // calls to `Extract`. class SevenZipReader { … }; // Ensures that the one-time initialization of the LZMA SDK has been performed. // This is usually called by `Extract` when needed, but is exposed here for // fuzzer support. void EnsureLzmaSdkInitialized(); } // namespace seven_zip #endif // THIRD_PARTY_LZMA_SDK_GOOGLE_SEVEN_ZIP_READER_H_