38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using Ryujinx.HLE.HOS.Services.Account.Acc.AsyncContext;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Account.Acc
|
|
{
|
|
class IAsyncNetworkServiceLicenseKindContext : IAsyncContext
|
|
{
|
|
private NetworkServiceLicenseKind? _serviceLicenseKind;
|
|
|
|
public IAsyncNetworkServiceLicenseKindContext(AsyncExecution asyncExecution, NetworkServiceLicenseKind? serviceLicenseKind) : base(asyncExecution)
|
|
{
|
|
_serviceLicenseKind = serviceLicenseKind;
|
|
}
|
|
|
|
[CommandHipc(100)]
|
|
// GetNetworkServiceLicenseKind() -> nn::account::NetworkServiceLicenseKind
|
|
public ResultCode GetNetworkServiceLicenseKind(ServiceCtx context)
|
|
{
|
|
if (!AsyncExecution.IsInitialized)
|
|
{
|
|
return ResultCode.AsyncExecutionNotInitialized;
|
|
}
|
|
|
|
if (!AsyncExecution.SystemEvent.ReadableEvent.IsSignaled())
|
|
{
|
|
return ResultCode.Unknown41;
|
|
}
|
|
|
|
if (!_serviceLicenseKind.HasValue)
|
|
{
|
|
return ResultCode.MissingNetworkServiceLicenseKind;
|
|
}
|
|
|
|
context.ResponseData.Write((uint)_serviceLicenseKind.Value);
|
|
|
|
return ResultCode.Success;
|
|
}
|
|
}
|
|
}
|