165 bool shouldOverwriteFiles = true);
179 const
File& targetDirectory,
180 bool shouldOverwriteFiles = true);
182 enum class OverwriteFiles { no, yes };
183 enum class FollowSymlinks { no, yes };
197 Result uncompressEntry (
int index,
198 const File& targetDirectory,
199 OverwriteFiles overwriteFiles,
200 FollowSymlinks followSymlinks);
225 void addFile (
const File& fileToAdd,
int compressionLevel,
241 const String& storedPathName,
Time fileModificationTime);
254 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
Builder)
259 struct ZipInputStream;
260 struct ZipEntryHolder;
265 std::unique_ptr<InputStream> streamToDelete;
266 std::unique_ptr<InputSource> inputSource;
269 struct OpenStreamCounter
271 OpenStreamCounter() =
default;
272 ~OpenStreamCounter();
274 int numOpenStreams = 0;
277 OpenStreamCounter streamCounter;
282 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
ZipFile)