mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2026-03-18 19:30:50 +00:00
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using Ryujinx.Common.Logging;
|
|
using Ryujinx.HLE.HOS.Ipc;
|
|
using Ryujinx.HLE.HOS.Kernel.Threading;
|
|
using Ryujinx.Horizon.Common;
|
|
using System;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Notification
|
|
{
|
|
class INotificationSystemEventAccessor : IpcService
|
|
{
|
|
|
|
private readonly KEvent _getNotificationSendingNotifierEvent;
|
|
private int _getNotificationSendingNotifierEventHandle;
|
|
public INotificationSystemEventAccessor(ServiceCtx context) { }
|
|
|
|
[CommandCmif(0)] // 9.0.0+
|
|
// GetNotificationSendingNotifier() -> nn::notification::server::INotificationSystemEventAccessor
|
|
public ResultCode GetSystemEvent(ServiceCtx context)
|
|
{
|
|
if (_getNotificationSendingNotifierEventHandle == 0)
|
|
{
|
|
if (context.Process.HandleTable.GenerateHandle(_getNotificationSendingNotifierEvent.ReadableEvent, out _getNotificationSendingNotifierEventHandle) != Result.Success)
|
|
{
|
|
throw new InvalidOperationException("Out of handles!");
|
|
}
|
|
}
|
|
|
|
context.Response.HandleDesc = IpcHandleDesc.MakeCopy(_getNotificationSendingNotifierEventHandle);
|
|
return ResultCode.Success;
|
|
}
|
|
}
|
|
}
|