10#ifndef BITNESTEDARCHIVEREADER_HPP
11#define BITNESTEDARCHIVEREADER_HPP
13#include "bitabstractarchiveopener.hpp"
14#include "bitarchiveiteminfo.hpp"
15#include "bitinputarchive.hpp"
151 std::uint32_t mIndexInParent;
152 std::uint64_t mMaxMemoryUsage;
154 mutable std::uint32_t mCachedItemsCount;
155 mutable std::uint32_t mLastReadItem;
156 mutable std::
size_t mOpenCount;
158 void openSequentially() const;
161 auto needReopen( std::uint32_t index = 0 ) const ->
bool;
164 auto calculateItemsCount() const -> std::uint32_t;
The Bit7zLibrary class allows accessing the basic functionalities provided by the 7z DLLs.
Definition bit7zlibrary.hpp:55
auto password() const -> const tstring &
auto format() const noexcept -> const BitInFormat &override
The BitArchiveItemInfo class represents an archived item and that stores all its properties for later...
Definition bitarchiveiteminfo.hpp:26
auto itemProperty(std::uint32_t index, BitProperty property) const -> BitPropVariant
Gets the specified property of an item in the archive.
void test() const
Tests the archive without extracting its content.
BitNestedArchiveReader(const Bit7zLibrary &lib, const BitInputArchive &parentArchive, const BitInFormat &format, const tstring &password={})
Constructs a BitNestedArchiveReader object of the first item in the parent archive.
void setMaxMemoryUsage(std::uint64_t value) noexcept
Sets the max memory usage limit to be used while extracting the parent archive.
auto itemsCount() const -> std::uint32_t
void extractTo(const tstring &outDir) const
Extracts the archive to the chosen directory.
auto items() const -> std::vector< BitArchiveItemInfo >
auto maxMemoryUsage() const noexcept -> std::uint64_t
auto detectedFormat() const noexcept -> const BitInFormat &
BitNestedArchiveReader(const Bit7zLibrary &lib, const BitInputArchive &parentArchive, std::uint32_t index, const BitInFormat &format, const tstring &password={})
Constructs a BitNestedArchiveReader object.
auto archiveProperty(BitProperty property) const -> BitPropVariant
Gets the specified archive property.
auto openCount() const -> std::size_t
The main namespace of the bit7z library.
Definition bit7zlibrary.hpp:29
BitProperty
The BitProperty enum represents the archive/item properties that 7-zip can read or write.
Definition bitpropvariant.hpp:32
std::basic_string< tchar > tstring
Definition bittypes.hpp:104
The BitPropVariant struct is a light extension to the WinAPI PROPVARIANT struct providing useful gett...
Definition bitpropvariant.hpp:161