This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000014 RID: 20
// (Invoke) Token: 0x060000A2 RID: 162
public delegate void CompletedFileHandler(object sender, ScanEventArgs e);
}
@@ -0,0 +1,28 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200000F RID: 15
public class DirectoryEventArgs : ScanEventArgs
{
// Token: 0x0600008E RID: 142 RVA: 0x00006D46 File Offset: 0x00005D46
public DirectoryEventArgs(string name, bool hasMatchingFiles)
: base(name)
{
this.hasMatchingFiles_ = hasMatchingFiles;
}
// Token: 0x17000019 RID: 25
// (get) Token: 0x0600008F RID: 143 RVA: 0x00006D56 File Offset: 0x00005D56
public bool HasMatchingFiles
{
get
{
return this.hasMatchingFiles_;
}
}
// Token: 0x04000073 RID: 115
private bool hasMatchingFiles_;
}
}
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000015 RID: 21
// (Invoke) Token: 0x060000A6 RID: 166
public delegate void DirectoryFailureHandler(object sender, ScanFailureEventArgs e);
}
@@ -0,0 +1,135 @@
using System;
using System.IO;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001C RID: 28
public class ExtendedPathFilter : PathFilter
{
// Token: 0x060000C6 RID: 198 RVA: 0x00007493 File Offset: 0x00006493
public ExtendedPathFilter(string filter, long minSize, long maxSize)
: base(filter)
{
this.MinSize = minSize;
this.MaxSize = maxSize;
}
// Token: 0x060000C7 RID: 199 RVA: 0x000074CF File Offset: 0x000064CF
public ExtendedPathFilter(string filter, DateTime minDate, DateTime maxDate)
: base(filter)
{
this.MinDate = minDate;
this.MaxDate = maxDate;
}
// Token: 0x060000C8 RID: 200 RVA: 0x0000750C File Offset: 0x0000650C
public ExtendedPathFilter(string filter, long minSize, long maxSize, DateTime minDate, DateTime maxDate)
: base(filter)
{
this.MinSize = minSize;
this.MaxSize = maxSize;
this.MinDate = minDate;
this.MaxDate = maxDate;
}
// Token: 0x060000C9 RID: 201 RVA: 0x00007564 File Offset: 0x00006564
public override bool IsMatch(string name)
{
bool flag = base.IsMatch(name);
if (flag)
{
FileInfo fileInfo = new FileInfo(name);
flag = this.MinSize <= fileInfo.Length && this.MaxSize >= fileInfo.Length && this.MinDate <= fileInfo.LastWriteTime && this.MaxDate >= fileInfo.LastWriteTime;
}
return flag;
}
// Token: 0x1700001D RID: 29
// (get) Token: 0x060000CA RID: 202 RVA: 0x000075C8 File Offset: 0x000065C8
// (set) Token: 0x060000CB RID: 203 RVA: 0x000075D0 File Offset: 0x000065D0
public long MinSize
{
get
{
return this.minSize_;
}
set
{
if (value < 0L || this.maxSize_ < value)
{
throw new ArgumentOutOfRangeException("value");
}
this.minSize_ = value;
}
}
// Token: 0x1700001E RID: 30
// (get) Token: 0x060000CC RID: 204 RVA: 0x000075F2 File Offset: 0x000065F2
// (set) Token: 0x060000CD RID: 205 RVA: 0x000075FA File Offset: 0x000065FA
public long MaxSize
{
get
{
return this.maxSize_;
}
set
{
if (value < 0L || this.minSize_ > value)
{
throw new ArgumentOutOfRangeException("value");
}
this.maxSize_ = value;
}
}
// Token: 0x1700001F RID: 31
// (get) Token: 0x060000CE RID: 206 RVA: 0x0000761C File Offset: 0x0000661C
// (set) Token: 0x060000CF RID: 207 RVA: 0x00007624 File Offset: 0x00006624
public DateTime MinDate
{
get
{
return this.minDate_;
}
set
{
if (value > this.maxDate_)
{
throw new ArgumentOutOfRangeException("value", "Exceeds MaxDate");
}
this.minDate_ = value;
}
}
// Token: 0x17000020 RID: 32
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000764B File Offset: 0x0000664B
// (set) Token: 0x060000D1 RID: 209 RVA: 0x00007653 File Offset: 0x00006653
public DateTime MaxDate
{
get
{
return this.maxDate_;
}
set
{
if (this.minDate_ > value)
{
throw new ArgumentOutOfRangeException("value", "Exceeds MinDate");
}
this.maxDate_ = value;
}
}
// Token: 0x04000083 RID: 131
private long minSize_;
// Token: 0x04000084 RID: 132
private long maxSize_ = long.MaxValue;
// Token: 0x04000085 RID: 133
private DateTime minDate_ = DateTime.MinValue;
// Token: 0x04000086 RID: 134
private DateTime maxDate_ = DateTime.MaxValue;
}
}
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000016 RID: 22
// (Invoke) Token: 0x060000AA RID: 170
public delegate void FileFailureHandler(object sender, ScanFailureEventArgs e);
}
@@ -0,0 +1,208 @@
using System;
using System.IO;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000017 RID: 23
public class FileSystemScanner
{
// Token: 0x060000AD RID: 173 RVA: 0x00006D9C File Offset: 0x00005D9C
public FileSystemScanner(string filter)
{
this.fileFilter_ = new PathFilter(filter);
}
// Token: 0x060000AE RID: 174 RVA: 0x00006DB0 File Offset: 0x00005DB0
public FileSystemScanner(string fileFilter, string directoryFilter)
{
this.fileFilter_ = new PathFilter(fileFilter);
this.directoryFilter_ = new PathFilter(directoryFilter);
}
// Token: 0x060000AF RID: 175 RVA: 0x00006DD0 File Offset: 0x00005DD0
public FileSystemScanner(IScanFilter fileFilter)
{
this.fileFilter_ = fileFilter;
}
// Token: 0x060000B0 RID: 176 RVA: 0x00006DDF File Offset: 0x00005DDF
public FileSystemScanner(IScanFilter fileFilter, IScanFilter directoryFilter)
{
this.fileFilter_ = fileFilter;
this.directoryFilter_ = directoryFilter;
}
// Token: 0x060000B1 RID: 177 RVA: 0x00006DF8 File Offset: 0x00005DF8
private bool OnDirectoryFailure(string directory, Exception e)
{
DirectoryFailureHandler directoryFailure = this.DirectoryFailure;
bool flag = directoryFailure != null;
if (flag)
{
ScanFailureEventArgs scanFailureEventArgs = new ScanFailureEventArgs(directory, e);
directoryFailure(this, scanFailureEventArgs);
this.alive_ = scanFailureEventArgs.ContinueRunning;
}
return flag;
}
// Token: 0x060000B2 RID: 178 RVA: 0x00006E34 File Offset: 0x00005E34
private bool OnFileFailure(string file, Exception e)
{
FileFailureHandler fileFailure = this.FileFailure;
bool flag = fileFailure != null;
if (flag)
{
ScanFailureEventArgs scanFailureEventArgs = new ScanFailureEventArgs(file, e);
this.FileFailure(this, scanFailureEventArgs);
this.alive_ = scanFailureEventArgs.ContinueRunning;
}
return flag;
}
// Token: 0x060000B3 RID: 179 RVA: 0x00006E78 File Offset: 0x00005E78
private void OnProcessFile(string file)
{
ProcessFileHandler processFile = this.ProcessFile;
if (processFile != null)
{
ScanEventArgs scanEventArgs = new ScanEventArgs(file);
processFile(this, scanEventArgs);
this.alive_ = scanEventArgs.ContinueRunning;
}
}
// Token: 0x060000B4 RID: 180 RVA: 0x00006EAC File Offset: 0x00005EAC
private void OnCompleteFile(string file)
{
CompletedFileHandler completedFile = this.CompletedFile;
if (completedFile != null)
{
ScanEventArgs scanEventArgs = new ScanEventArgs(file);
completedFile(this, scanEventArgs);
this.alive_ = scanEventArgs.ContinueRunning;
}
}
// Token: 0x060000B5 RID: 181 RVA: 0x00006EE0 File Offset: 0x00005EE0
private void OnProcessDirectory(string directory, bool hasMatchingFiles)
{
ProcessDirectoryHandler processDirectory = this.ProcessDirectory;
if (processDirectory != null)
{
DirectoryEventArgs directoryEventArgs = new DirectoryEventArgs(directory, hasMatchingFiles);
processDirectory(this, directoryEventArgs);
this.alive_ = directoryEventArgs.ContinueRunning;
}
}
// Token: 0x060000B6 RID: 182 RVA: 0x00006F13 File Offset: 0x00005F13
public void Scan(string directory, bool recurse)
{
this.alive_ = true;
this.ScanDir(directory, recurse);
}
// Token: 0x060000B7 RID: 183 RVA: 0x00006F24 File Offset: 0x00005F24
private void ScanDir(string directory, bool recurse)
{
try
{
string[] files = Directory.GetFiles(directory);
bool flag = false;
for (int i = 0; i < files.Length; i++)
{
if (!this.fileFilter_.IsMatch(files[i]))
{
files[i] = null;
}
else
{
flag = true;
}
}
this.OnProcessDirectory(directory, flag);
if (this.alive_ && flag)
{
foreach (string text in files)
{
try
{
if (text != null)
{
this.OnProcessFile(text);
if (!this.alive_)
{
break;
}
}
}
catch (Exception ex)
{
if (!this.OnFileFailure(text, ex))
{
throw;
}
}
}
}
}
catch (Exception ex2)
{
if (!this.OnDirectoryFailure(directory, ex2))
{
throw;
}
}
if (this.alive_ && recurse)
{
try
{
string[] directories = Directory.GetDirectories(directory);
foreach (string text2 in directories)
{
if (this.directoryFilter_ == null || this.directoryFilter_.IsMatch(text2))
{
this.ScanDir(text2, true);
if (!this.alive_)
{
break;
}
}
}
}
catch (Exception ex3)
{
if (!this.OnDirectoryFailure(directory, ex3))
{
throw;
}
}
}
}
// Token: 0x04000077 RID: 119
public ProcessDirectoryHandler ProcessDirectory;
// Token: 0x04000078 RID: 120
public ProcessFileHandler ProcessFile;
// Token: 0x04000079 RID: 121
public CompletedFileHandler CompletedFile;
// Token: 0x0400007A RID: 122
public DirectoryFailureHandler DirectoryFailure;
// Token: 0x0400007B RID: 123
public FileFailureHandler FileFailure;
// Token: 0x0400007C RID: 124
private IScanFilter fileFilter_;
// Token: 0x0400007D RID: 125
private IScanFilter directoryFilter_;
// Token: 0x0400007E RID: 126
private bool alive_;
}
}
@@ -0,0 +1,14 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000018 RID: 24
public interface INameTransform
{
// Token: 0x060000B8 RID: 184
string TransformFile(string name);
// Token: 0x060000B9 RID: 185
string TransformDirectory(string name);
}
}
@@ -0,0 +1,11 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000019 RID: 25
public interface IScanFilter
{
// Token: 0x060000BA RID: 186
bool IsMatch(string name);
}
}
@@ -0,0 +1,75 @@
using System;
using System.IO;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001D RID: 29
[Obsolete("Use ExtendedPathFilter instead")]
public class NameAndSizeFilter : PathFilter
{
// Token: 0x060000D2 RID: 210 RVA: 0x0000767A File Offset: 0x0000667A
public NameAndSizeFilter(string filter, long minSize, long maxSize)
: base(filter)
{
this.MinSize = minSize;
this.MaxSize = maxSize;
}
// Token: 0x060000D3 RID: 211 RVA: 0x000076A0 File Offset: 0x000066A0
public override bool IsMatch(string name)
{
bool flag = base.IsMatch(name);
if (flag)
{
FileInfo fileInfo = new FileInfo(name);
long length = fileInfo.Length;
flag = this.MinSize <= length && this.MaxSize >= length;
}
return flag;
}
// Token: 0x17000021 RID: 33
// (get) Token: 0x060000D4 RID: 212 RVA: 0x000076E0 File Offset: 0x000066E0
// (set) Token: 0x060000D5 RID: 213 RVA: 0x000076E8 File Offset: 0x000066E8
public long MinSize
{
get
{
return this.minSize_;
}
set
{
if (value < 0L || this.maxSize_ < value)
{
throw new ArgumentOutOfRangeException("value");
}
this.minSize_ = value;
}
}
// Token: 0x17000022 RID: 34
// (get) Token: 0x060000D6 RID: 214 RVA: 0x0000770A File Offset: 0x0000670A
// (set) Token: 0x060000D7 RID: 215 RVA: 0x00007712 File Offset: 0x00006712
public long MaxSize
{
get
{
return this.maxSize_;
}
set
{
if (value < 0L || this.minSize_ > value)
{
throw new ArgumentOutOfRangeException("value");
}
this.maxSize_ = value;
}
}
// Token: 0x04000087 RID: 135
private long minSize_;
// Token: 0x04000088 RID: 136
private long maxSize_ = long.MaxValue;
}
}
+216
View File
@@ -0,0 +1,216 @@
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001A RID: 26
public class NameFilter : IScanFilter
{
// Token: 0x060000BB RID: 187 RVA: 0x00007060 File Offset: 0x00006060
public NameFilter(string filter)
{
this.filter_ = filter;
this.inclusions_ = new ArrayList();
this.exclusions_ = new ArrayList();
this.Compile();
}
// Token: 0x060000BC RID: 188 RVA: 0x0000708C File Offset: 0x0000608C
public static bool IsValidExpression(string expression)
{
bool flag = true;
try
{
new Regex(expression, RegexOptions.IgnoreCase | RegexOptions.Singleline);
}
catch (ArgumentException)
{
flag = false;
}
return flag;
}
// Token: 0x060000BD RID: 189 RVA: 0x000070BC File Offset: 0x000060BC
public static bool IsValidFilterExpression(string toTest)
{
if (toTest == null)
{
throw new ArgumentNullException("toTest");
}
bool flag = true;
try
{
string[] array = NameFilter.SplitQuoted(toTest);
for (int i = 0; i < array.Length; i++)
{
if (array[i] != null && array[i].Length > 0)
{
string text;
if (array[i][0] == '+')
{
text = array[i].Substring(1, array[i].Length - 1);
}
else if (array[i][0] == '-')
{
text = array[i].Substring(1, array[i].Length - 1);
}
else
{
text = array[i];
}
new Regex(text, RegexOptions.IgnoreCase | RegexOptions.Singleline);
}
}
}
catch (ArgumentException)
{
flag = false;
}
return flag;
}
// Token: 0x060000BE RID: 190 RVA: 0x0000716C File Offset: 0x0000616C
public static string[] SplitQuoted(string original)
{
char c = '\\';
char[] array = new char[] { ';' };
ArrayList arrayList = new ArrayList();
if (original != null && original.Length > 0)
{
int i = -1;
StringBuilder stringBuilder = new StringBuilder();
while (i < original.Length)
{
i++;
if (i >= original.Length)
{
arrayList.Add(stringBuilder.ToString());
}
else if (original[i] == c)
{
i++;
if (i >= original.Length)
{
throw new ArgumentException("Missing terminating escape character", "original");
}
if (Array.IndexOf<char>(array, original[i]) < 0)
{
stringBuilder.Append(c);
}
stringBuilder.Append(original[i]);
}
else if (Array.IndexOf<char>(array, original[i]) >= 0)
{
arrayList.Add(stringBuilder.ToString());
stringBuilder.Length = 0;
}
else
{
stringBuilder.Append(original[i]);
}
}
}
return (string[])arrayList.ToArray(typeof(string));
}
// Token: 0x060000BF RID: 191 RVA: 0x0000727C File Offset: 0x0000627C
public override string ToString()
{
return this.filter_;
}
// Token: 0x060000C0 RID: 192 RVA: 0x00007284 File Offset: 0x00006284
public bool IsIncluded(string name)
{
bool flag = false;
if (this.inclusions_.Count == 0)
{
flag = true;
}
else
{
foreach (object obj in this.inclusions_)
{
Regex regex = (Regex)obj;
if (regex.IsMatch(name))
{
flag = true;
break;
}
}
}
return flag;
}
// Token: 0x060000C1 RID: 193 RVA: 0x000072F8 File Offset: 0x000062F8
public bool IsExcluded(string name)
{
bool flag = false;
foreach (object obj in this.exclusions_)
{
Regex regex = (Regex)obj;
if (regex.IsMatch(name))
{
flag = true;
break;
}
}
return flag;
}
// Token: 0x060000C2 RID: 194 RVA: 0x0000735C File Offset: 0x0000635C
public bool IsMatch(string name)
{
return this.IsIncluded(name) && !this.IsExcluded(name);
}
// Token: 0x060000C3 RID: 195 RVA: 0x00007374 File Offset: 0x00006374
private void Compile()
{
if (this.filter_ == null)
{
return;
}
string[] array = NameFilter.SplitQuoted(this.filter_);
for (int i = 0; i < array.Length; i++)
{
if (array[i] != null && array[i].Length > 0)
{
bool flag = array[i][0] != '-';
string text;
if (array[i][0] == '+')
{
text = array[i].Substring(1, array[i].Length - 1);
}
else if (array[i][0] == '-')
{
text = array[i].Substring(1, array[i].Length - 1);
}
else
{
text = array[i];
}
if (flag)
{
this.inclusions_.Add(new Regex(text, (RegexOptions)25));
}
else
{
this.exclusions_.Add(new Regex(text, (RegexOptions)25));
}
}
}
}
// Token: 0x0400007F RID: 127
private string filter_;
// Token: 0x04000080 RID: 128
private ArrayList inclusions_;
// Token: 0x04000081 RID: 129
private ArrayList exclusions_;
}
}
@@ -0,0 +1,30 @@
using System;
using System.IO;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001B RID: 27
public class PathFilter : IScanFilter
{
// Token: 0x060000C4 RID: 196 RVA: 0x00007448 File Offset: 0x00006448
public PathFilter(string filter)
{
this.nameFilter_ = new NameFilter(filter);
}
// Token: 0x060000C5 RID: 197 RVA: 0x0000745C File Offset: 0x0000645C
public virtual bool IsMatch(string name)
{
bool flag = false;
if (name != null)
{
string text = ((name.Length > 0) ? Path.GetFullPath(name) : "");
flag = this.nameFilter_.IsMatch(text);
}
return flag;
}
// Token: 0x04000082 RID: 130
private NameFilter nameFilter_;
}
}
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000011 RID: 17
// (Invoke) Token: 0x06000096 RID: 150
public delegate void ProcessDirectoryHandler(object sender, DirectoryEventArgs e);
}
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000012 RID: 18
// (Invoke) Token: 0x0600009A RID: 154
public delegate void ProcessFileHandler(object sender, ScanEventArgs e);
}
@@ -0,0 +1,92 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200000E RID: 14
public class ProgressEventArgs : EventArgs
{
// Token: 0x06000087 RID: 135 RVA: 0x00006CC3 File Offset: 0x00005CC3
public ProgressEventArgs(string name, long processed, long target)
{
this.name_ = name;
this.processed_ = processed;
this.target_ = target;
}
// Token: 0x17000014 RID: 20
// (get) Token: 0x06000088 RID: 136 RVA: 0x00006CE7 File Offset: 0x00005CE7
public string Name
{
get
{
return this.name_;
}
}
// Token: 0x17000015 RID: 21
// (get) Token: 0x06000089 RID: 137 RVA: 0x00006CEF File Offset: 0x00005CEF
// (set) Token: 0x0600008A RID: 138 RVA: 0x00006CF7 File Offset: 0x00005CF7
public bool ContinueRunning
{
get
{
return this.continueRunning_;
}
set
{
this.continueRunning_ = value;
}
}
// Token: 0x17000016 RID: 22
// (get) Token: 0x0600008B RID: 139 RVA: 0x00006D00 File Offset: 0x00005D00
public float PercentComplete
{
get
{
float num;
if (this.target_ <= 0L)
{
num = 0f;
}
else
{
num = (float)this.processed_ / (float)this.target_ * 100f;
}
return num;
}
}
// Token: 0x17000017 RID: 23
// (get) Token: 0x0600008C RID: 140 RVA: 0x00006D36 File Offset: 0x00005D36
public long Processed
{
get
{
return this.processed_;
}
}
// Token: 0x17000018 RID: 24
// (get) Token: 0x0600008D RID: 141 RVA: 0x00006D3E File Offset: 0x00005D3E
public long Target
{
get
{
return this.target_;
}
}
// Token: 0x0400006F RID: 111
private string name_;
// Token: 0x04000070 RID: 112
private long processed_;
// Token: 0x04000071 RID: 113
private long target_;
// Token: 0x04000072 RID: 114
private bool continueRunning_ = true;
}
}
@@ -0,0 +1,8 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000013 RID: 19
// (Invoke) Token: 0x0600009E RID: 158
public delegate void ProgressHandler(object sender, ProgressEventArgs e);
}
@@ -0,0 +1,45 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200000D RID: 13
public class ScanEventArgs : EventArgs
{
// Token: 0x06000083 RID: 131 RVA: 0x00006C94 File Offset: 0x00005C94
public ScanEventArgs(string name)
{
this.name_ = name;
}
// Token: 0x17000012 RID: 18
// (get) Token: 0x06000084 RID: 132 RVA: 0x00006CAA File Offset: 0x00005CAA
public string Name
{
get
{
return this.name_;
}
}
// Token: 0x17000013 RID: 19
// (get) Token: 0x06000085 RID: 133 RVA: 0x00006CB2 File Offset: 0x00005CB2
// (set) Token: 0x06000086 RID: 134 RVA: 0x00006CBA File Offset: 0x00005CBA
public bool ContinueRunning
{
get
{
return this.continueRunning_;
}
set
{
this.continueRunning_ = value;
}
}
// Token: 0x0400006D RID: 109
private string name_;
// Token: 0x0400006E RID: 110
private bool continueRunning_ = true;
}
}
@@ -0,0 +1,60 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x02000010 RID: 16
public class ScanFailureEventArgs : EventArgs
{
// Token: 0x06000090 RID: 144 RVA: 0x00006D5E File Offset: 0x00005D5E
public ScanFailureEventArgs(string name, Exception e)
{
this.name_ = name;
this.exception_ = e;
this.continueRunning_ = true;
}
// Token: 0x1700001A RID: 26
// (get) Token: 0x06000091 RID: 145 RVA: 0x00006D7B File Offset: 0x00005D7B
public string Name
{
get
{
return this.name_;
}
}
// Token: 0x1700001B RID: 27
// (get) Token: 0x06000092 RID: 146 RVA: 0x00006D83 File Offset: 0x00005D83
public Exception Exception
{
get
{
return this.exception_;
}
}
// Token: 0x1700001C RID: 28
// (get) Token: 0x06000093 RID: 147 RVA: 0x00006D8B File Offset: 0x00005D8B
// (set) Token: 0x06000094 RID: 148 RVA: 0x00006D93 File Offset: 0x00005D93
public bool ContinueRunning
{
get
{
return this.continueRunning_;
}
set
{
this.continueRunning_ = value;
}
}
// Token: 0x04000074 RID: 116
private string name_;
// Token: 0x04000075 RID: 117
private Exception exception_;
// Token: 0x04000076 RID: 118
private bool continueRunning_;
}
}
+160
View File
@@ -0,0 +1,160 @@
using System;
using System.IO;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001E RID: 30
public sealed class StreamUtils
{
// Token: 0x060000D8 RID: 216 RVA: 0x00007734 File Offset: 0x00006734
public static void ReadFully(Stream stream, byte[] buffer)
{
StreamUtils.ReadFully(stream, buffer, 0, buffer.Length);
}
// Token: 0x060000D9 RID: 217 RVA: 0x00007744 File Offset: 0x00006744
public static void ReadFully(Stream stream, byte[] buffer, int offset, int count)
{
if (stream == null)
{
throw new ArgumentNullException("stream");
}
if (buffer == null)
{
throw new ArgumentNullException("buffer");
}
if (offset < 0 || offset > buffer.Length)
{
throw new ArgumentOutOfRangeException("offset");
}
if (count < 0 || offset + count > buffer.Length)
{
throw new ArgumentOutOfRangeException("count");
}
while (count > 0)
{
int num = stream.Read(buffer, offset, count);
if (num <= 0)
{
throw new EndOfStreamException();
}
offset += num;
count -= num;
}
}
// Token: 0x060000DA RID: 218 RVA: 0x000077BC File Offset: 0x000067BC
public static void Copy(Stream source, Stream destination, byte[] buffer)
{
if (source == null)
{
throw new ArgumentNullException("source");
}
if (destination == null)
{
throw new ArgumentNullException("destination");
}
if (buffer == null)
{
throw new ArgumentNullException("buffer");
}
if (buffer.Length < 128)
{
throw new ArgumentException("Buffer is too small", "buffer");
}
bool flag = true;
while (flag)
{
int num = source.Read(buffer, 0, buffer.Length);
if (num > 0)
{
destination.Write(buffer, 0, num);
}
else
{
destination.Flush();
flag = false;
}
}
}
// Token: 0x060000DB RID: 219 RVA: 0x00007837 File Offset: 0x00006837
public static void Copy(Stream source, Stream destination, byte[] buffer, ProgressHandler progressHandler, TimeSpan updateInterval, object sender, string name)
{
StreamUtils.Copy(source, destination, buffer, progressHandler, updateInterval, sender, name, -1L);
}
// Token: 0x060000DC RID: 220 RVA: 0x0000784C File Offset: 0x0000684C
public static void Copy(Stream source, Stream destination, byte[] buffer, ProgressHandler progressHandler, TimeSpan updateInterval, object sender, string name, long fixedTarget)
{
if (source == null)
{
throw new ArgumentNullException("source");
}
if (destination == null)
{
throw new ArgumentNullException("destination");
}
if (buffer == null)
{
throw new ArgumentNullException("buffer");
}
if (buffer.Length < 128)
{
throw new ArgumentException("Buffer is too small", "buffer");
}
if (progressHandler == null)
{
throw new ArgumentNullException("progressHandler");
}
bool flag = true;
DateTime dateTime = DateTime.Now;
long num = 0L;
long num2 = 0L;
if (fixedTarget >= 0L)
{
num2 = fixedTarget;
}
else if (source.CanSeek)
{
num2 = source.Length - source.Position;
}
ProgressEventArgs progressEventArgs = new ProgressEventArgs(name, num, num2);
progressHandler(sender, progressEventArgs);
bool flag2 = true;
while (flag)
{
int num3 = source.Read(buffer, 0, buffer.Length);
if (num3 > 0)
{
num += (long)num3;
flag2 = false;
destination.Write(buffer, 0, num3);
}
else
{
destination.Flush();
flag = false;
}
if (DateTime.Now - dateTime > updateInterval)
{
flag2 = true;
dateTime = DateTime.Now;
progressEventArgs = new ProgressEventArgs(name, num, num2);
progressHandler(sender, progressEventArgs);
flag = progressEventArgs.ContinueRunning;
}
}
if (!flag2)
{
progressEventArgs = new ProgressEventArgs(name, num, num2);
progressHandler(sender, progressEventArgs);
}
}
// Token: 0x060000DD RID: 221 RVA: 0x00007979 File Offset: 0x00006979
private StreamUtils()
{
}
}
}
@@ -0,0 +1,53 @@
using System;
namespace ICSharpCode.SharpZipLib.Core
{
// Token: 0x0200001F RID: 31
public abstract class WindowsPathUtils
{
// Token: 0x060000DE RID: 222 RVA: 0x00007981 File Offset: 0x00006981
internal WindowsPathUtils()
{
}
// Token: 0x060000DF RID: 223 RVA: 0x0000798C File Offset: 0x0000698C
public static string DropPathRoot(string path)
{
string text = path;
if (path != null && path.Length > 0)
{
if (path[0] == '\\' || path[0] == '/')
{
if (path.Length > 1 && (path[1] == '\\' || path[1] == '/'))
{
int num = 2;
int num2 = 2;
while (num <= path.Length && ((path[num] != '\\' && path[num] != '/') || --num2 > 0))
{
num++;
}
num++;
if (num < path.Length)
{
text = path.Substring(num);
}
else
{
text = "";
}
}
}
else if (path.Length > 1 && path[1] == ':')
{
int num3 = 2;
if (path.Length > 2 && (path[2] == '\\' || path[2] == '/'))
{
num3 = 3;
}
text = text.Remove(0, num3);
}
}
return text;
}
}
}