From 8442a5917f39b9d1e338234d4f300671ce295141 Mon Sep 17 00:00:00 2001 From: Starlet Date: Tue, 12 Jun 2018 14:28:45 -0400 Subject: [PATCH] [PCTL] Add CreateServiceWithoutInitialize and Initialize --- .../Services/Pctl/IParentalControlService.cs | 15 ++++++++++++++- .../Pctl/IParentalControlServiceFactory.cs | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs index eb363ade1..c88545c65 100644 --- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs +++ b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs @@ -1,3 +1,4 @@ +using Ryujinx.HLE.Logging; using Ryujinx.HLE.OsHle.Ipc; using System.Collections.Generic; @@ -9,12 +10,24 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl public override IReadOnlyDictionary Commands => m_Commands; + public bool Initialized = false; + public IParentalControlService() { m_Commands = new Dictionary() { - //... + { 1, Initialize } }; } + + public long Initialize(ServiceCtx Context) + { + if (!Initialized) + Initialized = true; + else + Context.Ns.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!"); + + return 0; + } } } \ No newline at end of file diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs index 094245f6b..5a7b2c29f 100644 --- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs +++ b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs @@ -13,15 +13,27 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl { m_Commands = new Dictionary() { - { 0, CreateService } + { 0, CreateService }, + { 1, CreateServiceWithoutInitialize } }; } - public static long CreateService(ServiceCtx Context) + public long CreateService(ServiceCtx Context) { MakeObject(Context, new IParentalControlService()); return 0; } + + public long CreateServiceWithoutInitialize(ServiceCtx Context) + { + IParentalControlService Service = new IParentalControlService(); + + Service.Initialized = true; + + MakeObject(Context, Service); + + return 0; + } } } \ No newline at end of file