1
0
Files
Toak/Core/StateTracker.cs

38 lines
845 B
C#

namespace Toak.Core;
public static class StateTracker
{
private static readonly string StateFilePath = Path.Combine(Path.GetTempPath(), "toak_state.pid");
public static bool IsRecording()
{
return File.Exists(StateFilePath);
}
public static void SetRecording(int ffmpegPid)
{
File.WriteAllText(StateFilePath, ffmpegPid.ToString());
}
public static int? GetRecordingPid()
{
if (File.Exists(StateFilePath))
{
var content = File.ReadAllText(StateFilePath).Trim();
if (int.TryParse(content, out var pid))
{
return pid;
}
}
return null;
}
public static void ClearRecording()
{
if (File.Exists(StateFilePath))
{
File.Delete(StateFilePath);
}
}
}