95 int getNumEntries() const noexcept;
101 const
ZipEntry* getEntry (
int index) const noexcept;
109 int getIndexOfFileName (const
String& fileName,
bool ignoreCase = false) const noexcept;
118 const
ZipEntry* getEntry (const
String& fileName,
bool ignoreCase = false) const noexcept;
121 void sortEntriesByFilename();
164 Result uncompressTo (const
File& targetDirectory,
165 bool shouldOverwriteFiles = true);
178 Result uncompressEntry (
int index,
179 const
File& targetDirectory,
180 bool shouldOverwriteFiles = true);
206 void addFile (
const File& fileToAdd,
int compressionLevel,
221 void addEntry (
InputStream* streamToRead,
int compressionLevel,
222 const String& storedPathName,
Time fileModificationTime);
228 bool writeToStream (
OutputStream& target,
double* progress)
const;
235 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
Builder)
240 struct ZipInputStream;
241 struct ZipEntryHolder;
246 std::unique_ptr<InputStream> streamToDelete;
247 std::unique_ptr<InputSource> inputSource;
250 struct OpenStreamCounter
252 OpenStreamCounter() =
default;
253 ~OpenStreamCounter();
255 int numOpenStreams = 0;
258 OpenStreamCounter streamCounter;
263 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
ZipFile)
uint32 externalFileAttributes