mirror of
https://github.com/Thealexbarney/LibHac.git
synced 2024-11-14 10:49:41 +01:00
Add properties to FileSystemServerImpl and StorageService
This commit is contained in:
parent
e50078d939
commit
270e61a501
8 changed files with 19 additions and 14 deletions
|
@ -10,7 +10,7 @@ namespace LibHac.FsSrv
|
||||||
private Configuration _config;
|
private Configuration _config;
|
||||||
private AccessFailureDetectionEventManager _eventManager;
|
private AccessFailureDetectionEventManager _eventManager;
|
||||||
|
|
||||||
internal HorizonClient HorizonClient => _config.FsServer.Globals.Hos;
|
internal HorizonClient HorizonClient => _config.FsServer.Hos;
|
||||||
|
|
||||||
public AccessFailureManagementServiceImpl(in Configuration configuration)
|
public AccessFailureManagementServiceImpl(in Configuration configuration)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,6 +9,7 @@ namespace LibHac.FsSrv
|
||||||
|
|
||||||
public FileSystemServerImpl Impl => new FileSystemServerImpl(this);
|
public FileSystemServerImpl Impl => new FileSystemServerImpl(this);
|
||||||
public StorageService Storage => new StorageService(this);
|
public StorageService Storage => new StorageService(this);
|
||||||
|
internal HorizonClient Hos => Globals.Hos;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a new <see cref="FileSystemServer"/> and registers its services using the provided HOS client.
|
/// Creates a new <see cref="FileSystemServer"/> and registers its services using the provided HOS client.
|
||||||
|
@ -36,6 +37,8 @@ namespace LibHac.FsSrv
|
||||||
public readonly struct StorageService
|
public readonly struct StorageService
|
||||||
{
|
{
|
||||||
internal readonly FileSystemServer FsSrv;
|
internal readonly FileSystemServer FsSrv;
|
||||||
|
internal HorizonClient Hos => FsSrv.Hos;
|
||||||
|
internal ref FileSystemServerGlobals Globals => ref FsSrv.Globals;
|
||||||
|
|
||||||
internal StorageService(FileSystemServer parentServer) => FsSrv = parentServer;
|
internal StorageService(FileSystemServer parentServer) => FsSrv = parentServer;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +47,9 @@ namespace LibHac.FsSrv
|
||||||
public readonly struct FileSystemServerImpl
|
public readonly struct FileSystemServerImpl
|
||||||
{
|
{
|
||||||
internal readonly FileSystemServer FsSrv;
|
internal readonly FileSystemServer FsSrv;
|
||||||
|
internal HorizonClient Hos => FsSrv.Hos;
|
||||||
|
internal ref FileSystemServerGlobals Globals => ref FsSrv.Globals;
|
||||||
|
|
||||||
public FileSystemServerImpl(FileSystemServer parentServer) => FsSrv = parentServer;
|
internal FileSystemServerImpl(FileSystemServer parentServer) => FsSrv = parentServer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ namespace LibHac.FsSrv
|
||||||
private static FileSystemProxyConfiguration InitializeFileSystemProxy(FileSystemServer server,
|
private static FileSystemProxyConfiguration InitializeFileSystemProxy(FileSystemServer server,
|
||||||
FileSystemServerConfig config)
|
FileSystemServerConfig config)
|
||||||
{
|
{
|
||||||
var saveDataIndexerManager = new SaveDataIndexerManager(server.Globals.Hos.Fs, Fs.SaveData.SaveIndexerId,
|
var saveDataIndexerManager = new SaveDataIndexerManager(server.Hos.Fs, Fs.SaveData.SaveIndexerId,
|
||||||
new ArrayPoolMemoryResource(), new SdHandleManager(), false);
|
new ArrayPoolMemoryResource(), new SdHandleManager(), false);
|
||||||
|
|
||||||
var programRegistryService = new ProgramRegistryServiceImpl(server);
|
var programRegistryService = new ProgramRegistryServiceImpl(server);
|
||||||
|
|
|
@ -16,25 +16,25 @@ namespace LibHac.FsSrv.Impl
|
||||||
{
|
{
|
||||||
public static SdCardEventSimulator GetSdCardEventSimulator(this FileSystemServerImpl fs)
|
public static SdCardEventSimulator GetSdCardEventSimulator(this FileSystemServerImpl fs)
|
||||||
{
|
{
|
||||||
ref DeviceEventSimulatorGlobals g = ref fs.FsSrv.Globals.DeviceEventSimulator;
|
ref DeviceEventSimulatorGlobals g = ref fs.Globals.DeviceEventSimulator;
|
||||||
using var guard = new InitializationGuard(ref g.SdCardEventSimulatorInit, fs.FsSrv.Globals.InitMutex);
|
using var guard = new InitializationGuard(ref g.SdCardEventSimulatorInit, fs.Globals.InitMutex);
|
||||||
|
|
||||||
if (guard.IsInitialized)
|
if (guard.IsInitialized)
|
||||||
return g.SdCardEventSimulator;
|
return g.SdCardEventSimulator;
|
||||||
|
|
||||||
g.SdCardEventSimulator = new SdCardEventSimulator(fs.FsSrv.Globals.Hos.Os);
|
g.SdCardEventSimulator = new SdCardEventSimulator(fs.Hos.Os);
|
||||||
return g.SdCardEventSimulator;
|
return g.SdCardEventSimulator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GameCardEventSimulator GetGameCardEventSimulator(this FileSystemServerImpl fs)
|
public static GameCardEventSimulator GetGameCardEventSimulator(this FileSystemServerImpl fs)
|
||||||
{
|
{
|
||||||
ref DeviceEventSimulatorGlobals g = ref fs.FsSrv.Globals.DeviceEventSimulator;
|
ref DeviceEventSimulatorGlobals g = ref fs.Globals.DeviceEventSimulator;
|
||||||
using var guard = new InitializationGuard(ref g.GameCardEventSimulatorInit, fs.FsSrv.Globals.InitMutex);
|
using var guard = new InitializationGuard(ref g.GameCardEventSimulatorInit, fs.Globals.InitMutex);
|
||||||
|
|
||||||
if (guard.IsInitialized)
|
if (guard.IsInitialized)
|
||||||
return g.GameCardEventSimulator;
|
return g.GameCardEventSimulator;
|
||||||
|
|
||||||
g.GameCardEventSimulator = new GameCardEventSimulator(fs.FsSrv.Globals.Hos.Os);
|
g.GameCardEventSimulator = new GameCardEventSimulator(fs.Hos.Os);
|
||||||
return g.GameCardEventSimulator;
|
return g.GameCardEventSimulator;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace LibHac.FsSrv.Impl
|
||||||
private SdkMutexType _mutex;
|
private SdkMutexType _mutex;
|
||||||
|
|
||||||
private FileSystemServer _fsServer;
|
private FileSystemServer _fsServer;
|
||||||
private HorizonClient Hos => _fsServer.Globals.Hos;
|
private HorizonClient Hos => _fsServer.Hos;
|
||||||
|
|
||||||
public LocationResolverSet(FileSystemServer fsServer)
|
public LocationResolverSet(FileSystemServer fsServer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace LibHac.FsSrv
|
||||||
private bool _isSdCardAccessible;
|
private bool _isSdCardAccessible;
|
||||||
// Timestamp getter
|
// Timestamp getter
|
||||||
|
|
||||||
internal HorizonClient Hos => _config.FsServer.Globals.Hos;
|
internal HorizonClient Hos => _config.FsServer.Hos;
|
||||||
|
|
||||||
public SaveDataFileSystemServiceImpl(in Configuration configuration)
|
public SaveDataFileSystemServiceImpl(in Configuration configuration)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,8 +39,8 @@ namespace LibHac.FsSrv.Storage
|
||||||
public static IStorageDeviceManagerFactory GetStorageDeviceManagerFactory(this StorageService storage,
|
public static IStorageDeviceManagerFactory GetStorageDeviceManagerFactory(this StorageService storage,
|
||||||
IStorageDeviceManagerFactory factory)
|
IStorageDeviceManagerFactory factory)
|
||||||
{
|
{
|
||||||
ref StorageDeviceManagerFactoryGlobals g = ref storage.FsSrv.Globals.StorageDeviceManagerFactory;
|
ref StorageDeviceManagerFactoryGlobals g = ref storage.Globals.StorageDeviceManagerFactory;
|
||||||
using var initGuard = new InitializationGuard(ref g.FactoryGuard, storage.FsSrv.Globals.InitMutex);
|
using var initGuard = new InitializationGuard(ref g.FactoryGuard, storage.Globals.InitMutex);
|
||||||
|
|
||||||
if (initGuard.IsInitialized)
|
if (initGuard.IsInitialized)
|
||||||
return g.Factory;
|
return g.Factory;
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace LibHac.FsSrv
|
||||||
|
|
||||||
private long GetSystemSeconds()
|
private long GetSystemSeconds()
|
||||||
{
|
{
|
||||||
OsState os = _fsServer.Globals.Hos.Os;
|
OsState os = _fsServer.Hos.Os;
|
||||||
|
|
||||||
Tick tick = os.GetSystemTick();
|
Tick tick = os.GetSystemTick();
|
||||||
TimeSpan timeSpan = os.ConvertToTimeSpan(tick);
|
TimeSpan timeSpan = os.ConvertToTimeSpan(tick);
|
||||||
|
|
Loading…
Reference in a new issue