initial commit
This commit is contained in:
commit
1b60743303
274 changed files with 25866 additions and 0 deletions
21
SEGATools/VirtualFile/IVirtualFile.cs
Normal file
21
SEGATools/VirtualFile/IVirtualFile.cs
Normal file
|
@ -0,0 +1,21 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.IVirtualFile
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
public interface IVirtualFile
|
||||
{
|
||||
string OriginalFileName { get; set; }
|
||||
|
||||
string VirtualName { get; }
|
||||
|
||||
System.IO.Stream FileInputStream { get; }
|
||||
|
||||
System.IO.Stream FileOutputStream { get; }
|
||||
}
|
||||
}
|
13
SEGATools/VirtualFile/IVirtualFile`1.cs
Normal file
13
SEGATools/VirtualFile/IVirtualFile`1.cs
Normal file
|
@ -0,0 +1,13 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.IVirtualFile`1
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
public interface IVirtualFile<T> : IVirtualFile
|
||||
{
|
||||
T WrappedObject { get; }
|
||||
}
|
||||
}
|
43
SEGATools/VirtualFile/VirtualFileBase`1.cs
Normal file
43
SEGATools/VirtualFile/VirtualFileBase`1.cs
Normal file
|
@ -0,0 +1,43 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileBase`1
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
internal abstract class VirtualFileBase<T> :
|
||||
IVirtualFile<T>,
|
||||
IVirtualFile,
|
||||
IEquatable<IVirtualFile>
|
||||
{
|
||||
public string OriginalFileName { get; set; }
|
||||
|
||||
public string VirtualName { get; private set; }
|
||||
|
||||
public abstract T WrappedObject { get; internal set; }
|
||||
|
||||
public abstract System.IO.Stream FileInputStream { get; }
|
||||
|
||||
public abstract System.IO.Stream FileOutputStream { get; }
|
||||
|
||||
protected VirtualFileBase(string OriginalFileName, string VirtualName)
|
||||
{
|
||||
this.OriginalFileName = OriginalFileName;
|
||||
this.VirtualName = VirtualName;
|
||||
}
|
||||
|
||||
public override int GetHashCode() => 1 + 17 * this.OriginalFileName.GetHashCode() + 31 * this.VirtualName.GetHashCode();
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
IVirtualFile virtualFileBase = obj as IVirtualFile;
|
||||
return !object.ReferenceEquals((object) virtualFileBase, (object) null) && this.Equals(virtualFileBase);
|
||||
}
|
||||
|
||||
public bool Equals(IVirtualFile virtualFileBase) => string.Equals(this.VirtualName, virtualFileBase.VirtualName, StringComparison.Ordinal) && string.Equals(this.OriginalFileName, virtualFileBase.OriginalFileName, StringComparison.Ordinal);
|
||||
}
|
||||
}
|
32
SEGATools/VirtualFile/VirtualFileDirectoryRecord.cs
Normal file
32
SEGATools/VirtualFile/VirtualFileDirectoryRecord.cs
Normal file
|
@ -0,0 +1,32 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileDirectoryRecord
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using ImageReader.ISO9660.DirectoryRecords;
|
||||
using SEGATools.DiscFileSystem;
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
internal class VirtualFileDirectoryRecord : VirtualFileBase<DirectoryRecord>
|
||||
{
|
||||
public override DirectoryRecord WrappedObject { get; internal set; }
|
||||
|
||||
private IDiscFileSystem DiscFileSystem { get; set; }
|
||||
|
||||
public VirtualFileDirectoryRecord(
|
||||
DirectoryRecord DirectoryRecord,
|
||||
IDiscFileSystem DiscFileSystem)
|
||||
: base(DiscFileSystem.FileName, DirectoryRecord.Name)
|
||||
{
|
||||
this.WrappedObject = DirectoryRecord;
|
||||
this.DiscFileSystem = DiscFileSystem;
|
||||
}
|
||||
|
||||
public override System.IO.Stream FileInputStream => (System.IO.Stream) this.DiscFileSystem.GetDiscStreamForDirectoryRecord(this.WrappedObject);
|
||||
|
||||
public override System.IO.Stream FileOutputStream => (System.IO.Stream) null;
|
||||
}
|
||||
}
|
38
SEGATools/VirtualFile/VirtualFileFactory.cs
Normal file
38
SEGATools/VirtualFile/VirtualFileFactory.cs
Normal file
|
@ -0,0 +1,38 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileFactory
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using ImageReader.ISO9660.DirectoryRecords;
|
||||
using SEGATools.DiscFileSystem;
|
||||
using SEGATools.Security;
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
public class VirtualFileFactory
|
||||
{
|
||||
public static IVirtualFile<string> createVirtualFile(string FileName) => (IVirtualFile<string>) new VirtualFileOnDisc(FileName);
|
||||
|
||||
public static IVirtualFile<DirectoryRecord> createVirtualFile(
|
||||
DirectoryRecord DirectoryRecord,
|
||||
IDiscFileSystem DiscFileSystem)
|
||||
{
|
||||
return (IVirtualFile<DirectoryRecord>) new VirtualFileDirectoryRecord(DirectoryRecord, DiscFileSystem);
|
||||
}
|
||||
|
||||
public static IVirtualFile<InitialProgramExtended> createVirtualFile(
|
||||
InitialProgramExtended InitialProgramExtended)
|
||||
{
|
||||
return (IVirtualFile<InitialProgramExtended>) new VirtualFileInitialProgramExtended(InitialProgramExtended);
|
||||
}
|
||||
|
||||
public static IVirtualFile<System.IO.Stream> createVirtualFile(
|
||||
System.IO.Stream FileStream,
|
||||
string OriginalFileName)
|
||||
{
|
||||
return (IVirtualFile<System.IO.Stream>) new VirtualFileStream(FileStream, OriginalFileName);
|
||||
}
|
||||
}
|
||||
}
|
24
SEGATools/VirtualFile/VirtualFileInitialProgramExtended.cs
Normal file
24
SEGATools/VirtualFile/VirtualFileInitialProgramExtended.cs
Normal file
|
@ -0,0 +1,24 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileInitialProgramExtended
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using SEGATools.Security;
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
internal class VirtualFileInitialProgramExtended : VirtualFileBase<InitialProgramExtended>
|
||||
{
|
||||
public override InitialProgramExtended WrappedObject { get; internal set; }
|
||||
|
||||
public VirtualFileInitialProgramExtended(InitialProgramExtended InitialProgram)
|
||||
: base(string.Empty, InitialProgram.FileName)
|
||||
=> this.WrappedObject = InitialProgram;
|
||||
|
||||
public override System.IO.Stream FileInputStream => this.WrappedObject.Stream;
|
||||
|
||||
public override System.IO.Stream FileOutputStream => (System.IO.Stream) null;
|
||||
}
|
||||
}
|
23
SEGATools/VirtualFile/VirtualFileOnDisc.cs
Normal file
23
SEGATools/VirtualFile/VirtualFileOnDisc.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileOnDisc
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
internal class VirtualFileOnDisc : VirtualFileBase<string>
|
||||
{
|
||||
public override string WrappedObject { get; internal set; }
|
||||
|
||||
public VirtualFileOnDisc(string FileName)
|
||||
: base(FileName, Path.GetFileName(FileName))
|
||||
=> this.WrappedObject = FileName;
|
||||
|
||||
public override System.IO.Stream FileInputStream => (System.IO.Stream) File.Open(this.OriginalFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||
|
||||
public override System.IO.Stream FileOutputStream => (System.IO.Stream) File.Open(this.OriginalFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
|
||||
}
|
||||
}
|
23
SEGATools/VirtualFile/VirtualFileStream.cs
Normal file
23
SEGATools/VirtualFile/VirtualFileStream.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SEGATools.VirtualFile.VirtualFileStream
|
||||
// Assembly: SEGATools, Version=1.0.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: D631183F-57B1-40A1-B502-5364D288307A
|
||||
// Assembly location: SEGATools.dll
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace SEGATools.VirtualFile
|
||||
{
|
||||
internal class VirtualFileStream : VirtualFileBase<System.IO.Stream>
|
||||
{
|
||||
public override System.IO.Stream WrappedObject { get; internal set; }
|
||||
|
||||
public VirtualFileStream(System.IO.Stream FileStream, string FileName)
|
||||
: base(FileName, Path.GetFileName(FileName))
|
||||
=> this.WrappedObject = FileStream;
|
||||
|
||||
public override System.IO.Stream FileInputStream => this.WrappedObject;
|
||||
|
||||
public override System.IO.Stream FileOutputStream => (System.IO.Stream) null;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue