This commit is contained in:
Zontreck 2023-01-01 12:46:17 -07:00
parent eeadcb1959
commit 246579f9d2
3 changed files with 78 additions and 0 deletions

View file

@ -17,6 +17,18 @@ namespace LibZNI.Serialization.ZNIFile
return LongVal; return LongVal;
} }
} }
public static UUIDTag Random(string sName)
{
UUIDTag rnd = new UUIDTag(sName, Guid.Random());
return rnd;
}
public static UUIDTag Empty(string sName)
{
UUIDTag z = new UUIDTag(sName, Guid.Empty());
return rnd;
}
public UUIDTag(string _Name, Guid val) public UUIDTag(string _Name, Guid val)
{ {

View file

@ -10,6 +10,36 @@ using Newtonsoft.Json;
namespace LibZNI namespace LibZNI
{ {
public static class ConfigLocation
{
private static string LINUX_CONFIG_PATH = Tools.userProfileFolder;
private static string MAC_CONFIG_PATH = LINUX_CONFIG_PATH;
private static string WINDOWS_CONFIG_PATH = Tools.userProfileFolder;
public static string GetPath()
{
switch(Tools.GetOSShortID())
{
case "windows":
{
return Path.GetFullPath( WINDOWS_CONFIG_PATH );
}
case "linux":
{
return Path.GetFullPath(LINUX_CONFIG_PATH);
}
case "osx":
{
return Path.GetFullPath(MAC_CONFIG_PATH);
}
default:
{
return Path.GetFullPath(LINUX_CONFIG_PATH);
}
}
}
}
public class Tools public class Tools
{ {
/// <summary> /// <summary>

36
VolatileMemoryWorker.cs Normal file
View file

@ -0,0 +1,36 @@
using LibZNI.Serialization;
using LibZNI.Serialization.ZNIFile;
using System.IO;
/// <summary>
/// RAM-like memory
/// Memory is regularly saved to a temporary file called VM.RAM
/// The memory in this class should only be used for temporary persistance between tasks. It should be assumed that this data will purge every restart.
/// </summary>
namespace LibZNI
{
public class VolatileMemory : Serializable
{
public static Folder Memory = new Folder("MEM");
public override void save(Folder f)
{
f.Add(VolatileMemory.Memory);
}
public override void load(Folder f)
{
VolatileMemory.Memory = f["MEM"] as Folder;
}
public void FullSave()
{
Folder f = new Folder("root");
save(f);
TagIO.SaveToFile(ConfigLocation.GetPath()+".volatile", f);
}
}
}