ryujinx_ryubing/src/Ryujinx.Horizon/ServiceEntry.cs
LotP 3ad4d4a692
Some checks failed
Canary CI / Release for linux-arm64 (push) Has been cancelled
Canary CI / Release for linux-x64 (push) Has been cancelled
Canary CI / Release for win-x64 (push) Has been cancelled
Canary CI / Release MacOS universal (push) Has been cancelled
Canary CI / Create GitLab Release (push) Has been cancelled
Accurate Service Names (ryubing/ryujinx!296)
See merge request ryubing/ryujinx!296
2026-04-01 11:08:10 -05:00

29 lines
926 B
C#

using Ryujinx.Horizon.Common;
using Ryujinx.Memory;
using System;
namespace Ryujinx.Horizon
{
public readonly struct ServiceEntry
{
private readonly Action<ServiceTable> _entrypoint;
private readonly ServiceTable _serviceTable;
private readonly HorizonOptions _options;
public readonly string Name;
internal ServiceEntry(Action<ServiceTable> entrypoint, ServiceTable serviceTable, HorizonOptions options, string name)
{
_entrypoint = entrypoint;
_serviceTable = serviceTable;
_options = options;
Name = name;
}
public void Start(ISyscallApi syscallApi, IVirtualMemoryManager addressSpace, IThreadContext threadContext)
{
HorizonStatic.Register(_options, syscallApi, addressSpace, threadContext, (int)threadContext.GetX(1));
_entrypoint(_serviceTable);
}
}
}