feat: first pass at ReliableFileStorage service

This commit is contained in:
goat 2023-09-27 22:10:21 +02:00
parent f96ab7aa90
commit 125034155b
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
6 changed files with 379 additions and 13 deletions

View file

@ -10,6 +10,7 @@ using Dalamud.Configuration.Internal;
using Dalamud.Logging.Internal;
using Dalamud.Logging.Retention;
using Dalamud.Plugin.Internal;
using Dalamud.Storage;
using Dalamud.Support;
using Dalamud.Utility;
using Newtonsoft.Json;
@ -137,7 +138,8 @@ public sealed class EntryPoint
SerilogEventSink.Instance.LogLine += SerilogOnLogLine;
// Load configuration first to get some early persistent state, like log level
var configuration = DalamudConfiguration.Load(info.ConfigurationPath!);
var fs = new ReliableFileStorage(Path.GetDirectoryName(info.ConfigurationPath)!);
var configuration = DalamudConfiguration.Load(info.ConfigurationPath!, fs);
// Set the appropriate logging level from the configuration
if (!configuration.LogSynchronously)
@ -169,7 +171,7 @@ public sealed class EntryPoint
if (!Util.IsWine())
InitSymbolHandler(info);
var dalamud = new Dalamud(info, configuration, mainThreadContinueEvent);
var dalamud = new Dalamud(info, fs, configuration, mainThreadContinueEvent);
Log.Information("This is Dalamud - Core: {GitHash}, CS: {CsGitHash} [{CsVersion}]", Util.GetGitHash(), Util.GetGitHashClientStructs(), FFXIVClientStructs.Interop.Resolver.Version);
dalamud.WaitForUnload();