From 5b8ccb717f225234ae97a2ef1673ca42833bd836 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Sun, 7 Oct 2018 00:16:42 +0200 Subject: [PATCH] Implement ISslContext (#440) This PR implement an empty `ISslContext` and update `CreateContext` and `SetInterfaceVersion` inside `ISslService` --- Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs | 20 ++++++++++++++++++++ Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs | 17 ++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs diff --git a/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs new file mode 100644 index 00000000..8f3a0649 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs @@ -0,0 +1,20 @@ +using Ryujinx.HLE.HOS.Ipc; +using System.Collections.Generic; + +namespace Ryujinx.HLE.HOS.Services.Ssl +{ + class ISslContext : IpcService + { + private Dictionary m_Commands; + + public override IReadOnlyDictionary Commands => m_Commands; + + public ISslContext() + { + m_Commands = new Dictionary() + { + //... + }; + } + } +} \ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs index b59527f7..5affc636 100644 --- a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs +++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs @@ -14,15 +14,30 @@ namespace Ryujinx.HLE.HOS.Services.Ssl { m_Commands = new Dictionary() { + { 0, CreateContext }, { 5, SetInterfaceVersion } }; } + // CreateContext(nn::ssl::sf::SslVersion, u64, pid) -> object + public long CreateContext(ServiceCtx Context) + { + int SslVersion = Context.RequestData.ReadInt32(); + long Unknown = Context.RequestData.ReadInt64(); + + Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. SslVersion: {SslVersion} - Unknown: {Unknown}"); + + MakeObject(Context, new ISslContext()); + + return 0; + } + + // SetInterfaceVersion(u32) public long SetInterfaceVersion(ServiceCtx Context) { int Version = Context.RequestData.ReadInt32(); - Context.Device.Log.PrintStub(LogClass.ServiceSsl, "Stubbed."); + Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. Version: {Version}"); return 0; }