mirror of
https://git.alee14.me/shiftos-archive/ShiftOS_TheReturn.git
synced 2025-02-02 06:17:34 +00:00
document paths system
This commit is contained in:
parent
c0015d369d
commit
ca40871a63
1 changed files with 42 additions and 3 deletions
|
@ -35,8 +35,14 @@ using System.Threading;
|
|||
|
||||
namespace ShiftOS.Engine
|
||||
{
|
||||
/// <summary>
|
||||
/// Management class for ShiftFS path variables.
|
||||
/// </summary>
|
||||
public static class Paths
|
||||
{
|
||||
/// <summary>
|
||||
/// Initiate the path system.
|
||||
/// </summary>
|
||||
public static void Init()
|
||||
{
|
||||
Locations = new Dictionary<string, string>();
|
||||
|
@ -88,6 +94,10 @@ namespace ShiftOS.Engine
|
|||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets all full paths without their keynames.
|
||||
/// </summary>
|
||||
/// <returns>A string array representing all paths.</returns>
|
||||
public static string[] GetAllWithoutKey()
|
||||
{
|
||||
List<string> strings = new List<string>();
|
||||
|
@ -99,11 +109,19 @@ namespace ShiftOS.Engine
|
|||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the full path using a path key.
|
||||
/// </summary>
|
||||
/// <param name="id">The path key (folder/filename) for the path.</param>
|
||||
/// <returns>The full path.</returns>
|
||||
public static string GetPath(string id)
|
||||
{
|
||||
return Locations[id];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks all directories in the path system to see if they exist, and if not, creates them.
|
||||
/// </summary>
|
||||
private static void CheckPathExistence()
|
||||
{
|
||||
foreach(var path in Locations)
|
||||
|
@ -119,8 +137,14 @@ namespace ShiftOS.Engine
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a <see cref="Dictionary{string, string}"/> representing all paths in the system.
|
||||
/// </summary>
|
||||
private static Dictionary<string, string> Locations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Mounts the ShiftOS shared directory to 1:/, creating the directory if it does not exist.
|
||||
/// </summary>
|
||||
public static void CreateAndMountSharedFolder()
|
||||
{
|
||||
if (!System.IO.Directory.Exists(SharedFolder))
|
||||
|
@ -201,9 +225,7 @@ namespace ShiftOS.Engine
|
|||
t.Start();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void ScanForDirectories(string folder, int mount)
|
||||
private static void ScanForDirectories(string folder, int mount)
|
||||
{
|
||||
foreach (var file in System.IO.Directory.GetFiles(folder))
|
||||
{
|
||||
|
@ -220,10 +242,27 @@ namespace ShiftOS.Engine
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ShiftOS shared folder.
|
||||
/// </summary>
|
||||
public static string SharedFolder { get { return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\ShiftOS_Shared"; } }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the location of the ShiftOS.mfs file.
|
||||
/// </summary>
|
||||
public static string SaveFile { get { return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\ShiftOS.mfs"; } }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the path of the inner save file.
|
||||
/// </summary>
|
||||
[Obsolete("Not used.")]
|
||||
public static string SaveFileInner { get { return Locations["save.json"]; } }
|
||||
|
||||
/// <summary>
|
||||
/// Add a path to the system.
|
||||
/// </summary>
|
||||
/// <param name="parent">The path's parent directory.</param>
|
||||
/// <param name="path">The filename for the path.</param>
|
||||
public static void AddPath(string parent, string path)
|
||||
{
|
||||
Locations.Add(path, Locations[parent] + "/" + path);
|
||||
|
|
Loading…
Add table
Reference in a new issue