diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs index eb363ade..c88545c6 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 094245f6..5a7b2c29 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