public ResourceExtractorProgressEventArgs(ResourceExtractor extractor, ExtractProgressEventArgs baseEvt) : base(extractor)
 {
     ArchiveName          = baseEvt.ArchiveName;
     BytesTransferred     = baseEvt.BytesTransferred;
     BytesTotal           = baseEvt.TotalBytesToTransfer;
     EntriesExtracted     = baseEvt.EntriesExtracted;
     EntriesTotal         = baseEvt.EntriesTotal;
     ExtractLocation      = baseEvt.ExtractLocation;
     CurrentEntryFileName = baseEvt.CurrentEntry.FileName;
     Extractor            = extractor;
 }
        public static string ExtractBufferToTempDirectory(byte[] buffer, ResourceExtractor extractor)
        {
            var outTempDirectory = $@"{Path.GetTempPath()}{Guid.NewGuid().ToString()}\";

            Directory.CreateDirectory(outTempDirectory);

            using (var zipstream = new MemoryStream(buffer))
            {
                using (ZipFile zip = ZipFile.Read(zipstream))
                {
                    zip.ExtractProgress += extractor.OnExtractProgress;
                    zip.ExtractAll(outTempDirectory);
                }
            }

            return(outTempDirectory);
        }
 public static Uri GetRelativeUri(ResourceExtractor extractor, string filePath)
 {
     return(new Uri($@"{extractor.OutputTemporaryDirectory}{filePath}"));
 }
 public ResourceExtractorErrorEventArgs(ResourceExtractor extractor, Exception exception) : base(extractor)
 {
     Extractor = extractor;
     Exception = exception;
 }
 public ResourceExtractorEventArgs(ResourceExtractor extractor)
 {
     Extractor = extractor;
 }