Move solution and projects to src
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.HLE.HOS.Services.Account.Acc;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Olsc
|
||||
{
|
||||
[Service("olsc:u")] // 10.0.0+
|
||||
class IOlscServiceForApplication : IpcService
|
||||
{
|
||||
private bool _initialized;
|
||||
private Dictionary<UserId, bool> _saveDataBackupSettingDatabase;
|
||||
|
||||
public IOlscServiceForApplication(ServiceCtx context) { }
|
||||
|
||||
[CommandCmif(0)]
|
||||
// Initialize(pid)
|
||||
public ResultCode Initialize(ServiceCtx context)
|
||||
{
|
||||
// NOTE: Service call arp:r GetApplicationInstanceUnregistrationNotifier with the pid and initialize some internal struct.
|
||||
// Since we will not support online savedata backup, it's fine to stub it for now.
|
||||
|
||||
_saveDataBackupSettingDatabase = new Dictionary<UserId, bool>();
|
||||
|
||||
_initialized = true;
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceOlsc);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandCmif(13)]
|
||||
// GetSaveDataBackupSetting(nn::account::Uid) -> u8
|
||||
public ResultCode GetSaveDataBackupSetting(ServiceCtx context)
|
||||
{
|
||||
UserId userId = context.RequestData.ReadStruct<UserId>();
|
||||
|
||||
if (!_initialized)
|
||||
{
|
||||
return ResultCode.NotInitialized;
|
||||
}
|
||||
|
||||
if (userId.IsNull)
|
||||
{
|
||||
return ResultCode.NullArgument;
|
||||
}
|
||||
|
||||
if (_saveDataBackupSettingDatabase.TryGetValue(userId, out bool enabled) && enabled)
|
||||
{
|
||||
context.ResponseData.Write((byte)1); // TODO: Determine value.
|
||||
}
|
||||
else
|
||||
{
|
||||
context.ResponseData.Write((byte)2); // TODO: Determine value.
|
||||
}
|
||||
|
||||
// NOTE: Since we will not support online savedata backup, it's fine to stub it for now.
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceOlsc, new { userId });
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandCmif(14)]
|
||||
// SetSaveDataBackupSettingEnabled(nn::account::Uid, bool)
|
||||
public ResultCode SetSaveDataBackupSettingEnabled(ServiceCtx context)
|
||||
{
|
||||
bool saveDataBackupSettingEnabled = context.RequestData.ReadUInt64() != 0;
|
||||
UserId userId = context.RequestData.ReadStruct<UserId>();
|
||||
|
||||
if (!_initialized)
|
||||
{
|
||||
return ResultCode.NotInitialized;
|
||||
}
|
||||
|
||||
if (userId.IsNull)
|
||||
{
|
||||
return ResultCode.NullArgument;
|
||||
}
|
||||
|
||||
_saveDataBackupSettingDatabase[userId] = saveDataBackupSettingEnabled;
|
||||
|
||||
// NOTE: Since we will not support online savedata backup, it's fine to stub it for now.
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceOlsc, new { userId, saveDataBackupSettingEnabled });
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Ryujinx.HLE.HOS.Services.Olsc
|
||||
{
|
||||
[Service("olsc:s")] // 4.0.0+
|
||||
class IOlscServiceForSystemService : IpcService
|
||||
{
|
||||
public IOlscServiceForSystemService(ServiceCtx context) { }
|
||||
}
|
||||
}
|
||||
13
src/Ryujinx.HLE/HOS/Services/Olsc/ResultCode.cs
Normal file
13
src/Ryujinx.HLE/HOS/Services/Olsc/ResultCode.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace Ryujinx.HLE.HOS.Services.Olsc
|
||||
{
|
||||
enum ResultCode
|
||||
{
|
||||
ModuleId = 179,
|
||||
ErrorCodeShift = 9,
|
||||
|
||||
Success = 0,
|
||||
|
||||
NullArgument = (100 << ErrorCodeShift) | ModuleId,
|
||||
NotInitialized = (101 << ErrorCodeShift) | ModuleId
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user