scripts
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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_;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user