Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions source/SDFS Demo/Kernel.cs

This file was deleted.

2 changes: 1 addition & 1 deletion source/SDFS.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28306.52
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SDFS Demo", "SDFS Demo\SDFS Demo.csproj", "{12BDB11A-DDC1-4EBE-A4D4-CDE925AB599B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SDFS_Demo", "SDFS_Demo\SDFS_Demo.csproj", "{12BDB11A-DDC1-4EBE-A4D4-CDE925AB599B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDFS", "SDFS\SDFS.csproj", "{7992A7ED-E612-4D4D-A6A7-4064ADEB90B4}"
EndProject
Expand Down
213 changes: 213 additions & 0 deletions source/SDFS/IO.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
using System;
using System.Collections.Generic;
using System.Text;
using SDFS_Directory = SDFS.Logical.Entries.Directory;
using SDFS_File = SDFS.Logical.Entries.File;
using SDFS.Logical.Entries;
using SDFS.Logical;


namespace SDFS.IO
{
public class Directory
{
private static Logical.Entries.Directory sf;

/// <summary>
/// Creates the specified directory
/// </summary>
/// <param name="directory"></param>
public static void Create(string directory)
{
Filesystem.cFS.Root.AddDirectory(directory);
sf = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (sf == null)
{
// Cannot create required files, aborting creation of directory
throw new Exception("Failed creation of directory.");
}
}

/// <summary>
/// Creates the specified directory
/// </summary>
/// <param name="directory"></param>
public static void Remove(string directory)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
Filesystem.cFS.Root.RemoveDirectory(directory);
}
else
{
// Cannot create required files, aborting creation of directory
throw new Exception("Failed deletion of directory.");
}
}
}

public class File
{
/// <summary>
/// Creates the specified file
/// </summary>
/// <param name="file"></param>
/// <param name="directory"></param>
public static void Create(string file, string directory)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
dir.AddFile(file);
SDFS_File nf = dir.RetrieveFileByName(file);
if (nf == null)
{
throw new Exception("Could not create!");
}

}
else
{
throw new ArgumentException("Bad directory");
}
}

public static void Delete(string file, string directory)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
SDFS_File mFile = dir.RetrieveFileByName(file);
if (mFile != null)
{
dir.RemoveFile(file);
}
else
{
throw new Exception("Could not delete file!");
}
}
}

/// <summary>
/// Writes the specified byte array into the specified path and filename
/// if the file doesn't exist - create it
/// </summary>
/// <param name="file"></param>
/// <param name="directory"></param>
/// <param name="data"></param>
public static void WriteAllBytes(string file, string directory, byte[] data)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
dir.AddFile(file);
SDFS_File nf = dir.RetrieveFileByName(file);
if (nf == null)
{
throw new Exception("Could not create!");
}
else
{
nf.WriteAllBytes(data);
}

}
else
{
throw new ArgumentException("Bad directory");
}
}
/// <summary>
/// Writes the specified string into the specified path and filename
/// if the file doesn't exist - create it
/// </summary>
/// <param name="file"></param>
/// <param name="directory"></param>
/// <param name="data"></param>
public static void WriteAllText(string file, string directory, string data)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
dir.AddFile(file);
SDFS_File nf = dir.RetrieveFileByName(file);
if (nf == null)
{
throw new Exception("Could not create!");
}
else
{
nf.WriteAllText(data);
}

}
else
{
throw new ArgumentException("Bad directory");
}
}



/// <summary>
/// Writes the specified byte array into the specified path and filename
/// if the file doesn't exist - create it
/// </summary>
/// <param name="file"></param>
/// <param name="directory"></param>
/// <param name="data"></param>
public static byte[] ReadAllBytes(string file, string directory)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
dir.AddFile(file);
SDFS_File nf = dir.RetrieveFileByName(file);
if (nf == null)
{
throw new Exception("Could not read!");
}
else
{
return nf.ReadAllBytes();
}

}
else
{
throw new ArgumentException("Bad directory");
}
}
/// <summary>
/// Writes the specified string into the specified path and filename
/// if the file doesn't exist - create it
/// </summary>
/// <param name="file"></param>
/// <param name="directory"></param>
/// <param name="data"></param>
public static string ReadAllText(string file, string directory)
{
SDFS_Directory dir = Filesystem.cFS.Root.GetDirectoryByName(directory);
if (dir != null)
{
dir.AddFile(file);
SDFS_File nf = dir.RetrieveFileByName(file);
if (nf == null)
{
throw new Exception("Could not create!");
}
else
{
return nf.ReadAllText();
}

}
else
{
throw new ArgumentException("Bad directory");
}
}
}
}
Loading