scripts
This commit is contained in:
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using ICSharpCode.SharpZipLib.Core;
|
||||
|
||||
namespace ICSharpCode.SharpZipLib.Zip
|
||||
{
|
||||
// Token: 0x02000058 RID: 88
|
||||
public class ZipEntryFactory : IEntryFactory
|
||||
{
|
||||
// Token: 0x0600036C RID: 876 RVA: 0x000121AC File Offset: 0x000111AC
|
||||
public ZipEntryFactory()
|
||||
{
|
||||
this.nameTransform_ = new ZipNameTransform();
|
||||
}
|
||||
|
||||
// Token: 0x0600036D RID: 877 RVA: 0x000121D1 File Offset: 0x000111D1
|
||||
public ZipEntryFactory(ZipEntryFactory.TimeSetting timeSetting)
|
||||
{
|
||||
this.timeSetting_ = timeSetting;
|
||||
this.nameTransform_ = new ZipNameTransform();
|
||||
}
|
||||
|
||||
// Token: 0x0600036E RID: 878 RVA: 0x000121FD File Offset: 0x000111FD
|
||||
public ZipEntryFactory(DateTime time)
|
||||
{
|
||||
this.timeSetting_ = ZipEntryFactory.TimeSetting.Fixed;
|
||||
this.FixedDateTime = time;
|
||||
this.nameTransform_ = new ZipNameTransform();
|
||||
}
|
||||
|
||||
// Token: 0x170000C9 RID: 201
|
||||
// (get) Token: 0x0600036F RID: 879 RVA: 0x00012230 File Offset: 0x00011230
|
||||
// (set) Token: 0x06000370 RID: 880 RVA: 0x00012238 File Offset: 0x00011238
|
||||
public INameTransform NameTransform
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.nameTransform_;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
this.nameTransform_ = new ZipNameTransform();
|
||||
return;
|
||||
}
|
||||
this.nameTransform_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000CA RID: 202
|
||||
// (get) Token: 0x06000371 RID: 881 RVA: 0x00012250 File Offset: 0x00011250
|
||||
// (set) Token: 0x06000372 RID: 882 RVA: 0x00012258 File Offset: 0x00011258
|
||||
public ZipEntryFactory.TimeSetting Setting
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.timeSetting_;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.timeSetting_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000CB RID: 203
|
||||
// (get) Token: 0x06000373 RID: 883 RVA: 0x00012261 File Offset: 0x00011261
|
||||
// (set) Token: 0x06000374 RID: 884 RVA: 0x00012269 File Offset: 0x00011269
|
||||
public DateTime FixedDateTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.fixedDateTime_;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.Year < 1970)
|
||||
{
|
||||
throw new ArgumentException("Value is too old to be valid", "value");
|
||||
}
|
||||
this.fixedDateTime_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000CC RID: 204
|
||||
// (get) Token: 0x06000375 RID: 885 RVA: 0x00012290 File Offset: 0x00011290
|
||||
// (set) Token: 0x06000376 RID: 886 RVA: 0x00012298 File Offset: 0x00011298
|
||||
public int GetAttributes
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.getAttributes_;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.getAttributes_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000CD RID: 205
|
||||
// (get) Token: 0x06000377 RID: 887 RVA: 0x000122A1 File Offset: 0x000112A1
|
||||
// (set) Token: 0x06000378 RID: 888 RVA: 0x000122A9 File Offset: 0x000112A9
|
||||
public int SetAttributes
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.setAttributes_;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.setAttributes_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170000CE RID: 206
|
||||
// (get) Token: 0x06000379 RID: 889 RVA: 0x000122B2 File Offset: 0x000112B2
|
||||
// (set) Token: 0x0600037A RID: 890 RVA: 0x000122BA File Offset: 0x000112BA
|
||||
public bool IsUnicodeText
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.isUnicodeText_;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.isUnicodeText_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600037B RID: 891 RVA: 0x000122C3 File Offset: 0x000112C3
|
||||
public ZipEntry MakeFileEntry(string fileName)
|
||||
{
|
||||
return this.MakeFileEntry(fileName, true);
|
||||
}
|
||||
|
||||
// Token: 0x0600037C RID: 892 RVA: 0x000122D0 File Offset: 0x000112D0
|
||||
public ZipEntry MakeFileEntry(string fileName, bool useFileSystem)
|
||||
{
|
||||
ZipEntry zipEntry = new ZipEntry(this.nameTransform_.TransformFile(fileName));
|
||||
zipEntry.IsUnicodeText = this.isUnicodeText_;
|
||||
int num = 0;
|
||||
bool flag = this.setAttributes_ != 0;
|
||||
FileInfo fileInfo = null;
|
||||
if (useFileSystem)
|
||||
{
|
||||
fileInfo = new FileInfo(fileName);
|
||||
}
|
||||
if (fileInfo != null && fileInfo.Exists)
|
||||
{
|
||||
switch (this.timeSetting_)
|
||||
{
|
||||
case ZipEntryFactory.TimeSetting.LastWriteTime:
|
||||
zipEntry.DateTime = fileInfo.LastWriteTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastWriteTimeUtc:
|
||||
zipEntry.DateTime = fileInfo.LastWriteTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.CreateTime:
|
||||
zipEntry.DateTime = fileInfo.CreationTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.CreateTimeUtc:
|
||||
zipEntry.DateTime = fileInfo.CreationTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastAccessTime:
|
||||
zipEntry.DateTime = fileInfo.LastAccessTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastAccessTimeUtc:
|
||||
zipEntry.DateTime = fileInfo.LastAccessTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.Fixed:
|
||||
zipEntry.DateTime = this.fixedDateTime_;
|
||||
break;
|
||||
default:
|
||||
throw new ZipException("Unhandled time setting in MakeFileEntry");
|
||||
}
|
||||
zipEntry.Size = fileInfo.Length;
|
||||
flag = true;
|
||||
num = (int)(fileInfo.Attributes & (FileAttributes)this.getAttributes_);
|
||||
}
|
||||
else if (this.timeSetting_ == ZipEntryFactory.TimeSetting.Fixed)
|
||||
{
|
||||
zipEntry.DateTime = this.fixedDateTime_;
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
num |= this.setAttributes_;
|
||||
zipEntry.ExternalFileAttributes = num;
|
||||
}
|
||||
return zipEntry;
|
||||
}
|
||||
|
||||
// Token: 0x0600037D RID: 893 RVA: 0x00012408 File Offset: 0x00011408
|
||||
public ZipEntry MakeDirectoryEntry(string directoryName)
|
||||
{
|
||||
return this.MakeDirectoryEntry(directoryName, true);
|
||||
}
|
||||
|
||||
// Token: 0x0600037E RID: 894 RVA: 0x00012414 File Offset: 0x00011414
|
||||
public ZipEntry MakeDirectoryEntry(string directoryName, bool useFileSystem)
|
||||
{
|
||||
ZipEntry zipEntry = new ZipEntry(this.nameTransform_.TransformDirectory(directoryName));
|
||||
zipEntry.IsUnicodeText = this.isUnicodeText_;
|
||||
zipEntry.Size = 0L;
|
||||
int num = 0;
|
||||
DirectoryInfo directoryInfo = null;
|
||||
if (useFileSystem)
|
||||
{
|
||||
directoryInfo = new DirectoryInfo(directoryName);
|
||||
}
|
||||
if (directoryInfo != null && directoryInfo.Exists)
|
||||
{
|
||||
switch (this.timeSetting_)
|
||||
{
|
||||
case ZipEntryFactory.TimeSetting.LastWriteTime:
|
||||
zipEntry.DateTime = directoryInfo.LastWriteTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastWriteTimeUtc:
|
||||
zipEntry.DateTime = directoryInfo.LastWriteTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.CreateTime:
|
||||
zipEntry.DateTime = directoryInfo.CreationTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.CreateTimeUtc:
|
||||
zipEntry.DateTime = directoryInfo.CreationTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastAccessTime:
|
||||
zipEntry.DateTime = directoryInfo.LastAccessTime;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.LastAccessTimeUtc:
|
||||
zipEntry.DateTime = directoryInfo.LastAccessTimeUtc;
|
||||
break;
|
||||
case ZipEntryFactory.TimeSetting.Fixed:
|
||||
zipEntry.DateTime = this.fixedDateTime_;
|
||||
break;
|
||||
default:
|
||||
throw new ZipException("Unhandled time setting in MakeDirectoryEntry");
|
||||
}
|
||||
num = (int)(directoryInfo.Attributes & (FileAttributes)this.getAttributes_);
|
||||
}
|
||||
else if (this.timeSetting_ == ZipEntryFactory.TimeSetting.Fixed)
|
||||
{
|
||||
zipEntry.DateTime = this.fixedDateTime_;
|
||||
}
|
||||
num |= this.setAttributes_ | 16;
|
||||
zipEntry.ExternalFileAttributes = num;
|
||||
return zipEntry;
|
||||
}
|
||||
|
||||
// Token: 0x040002A0 RID: 672
|
||||
private INameTransform nameTransform_;
|
||||
|
||||
// Token: 0x040002A1 RID: 673
|
||||
private DateTime fixedDateTime_ = DateTime.Now;
|
||||
|
||||
// Token: 0x040002A2 RID: 674
|
||||
private ZipEntryFactory.TimeSetting timeSetting_;
|
||||
|
||||
// Token: 0x040002A3 RID: 675
|
||||
private bool isUnicodeText_;
|
||||
|
||||
// Token: 0x040002A4 RID: 676
|
||||
private int getAttributes_ = -1;
|
||||
|
||||
// Token: 0x040002A5 RID: 677
|
||||
private int setAttributes_;
|
||||
|
||||
// Token: 0x02000059 RID: 89
|
||||
public enum TimeSetting
|
||||
{
|
||||
// Token: 0x040002A7 RID: 679
|
||||
LastWriteTime,
|
||||
// Token: 0x040002A8 RID: 680
|
||||
LastWriteTimeUtc,
|
||||
// Token: 0x040002A9 RID: 681
|
||||
CreateTime,
|
||||
// Token: 0x040002AA RID: 682
|
||||
CreateTimeUtc,
|
||||
// Token: 0x040002AB RID: 683
|
||||
LastAccessTime,
|
||||
// Token: 0x040002AC RID: 684
|
||||
LastAccessTimeUtc,
|
||||
// Token: 0x040002AD RID: 685
|
||||
Fixed
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user