Merge pull request #157 from Cyuubi/pctl-initialize-and-without-initialize
[PCTL] Add CreateServiceWithoutInitialize and Initialize
This commit is contained in:
commit
f1e866e248
2 changed files with 33 additions and 4 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
using Ryujinx.HLE.Logging;
|
||||||
using Ryujinx.HLE.OsHle.Ipc;
|
using Ryujinx.HLE.OsHle.Ipc;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
@ -9,12 +10,32 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl
|
||||||
|
|
||||||
public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands;
|
public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands;
|
||||||
|
|
||||||
public IParentalControlService()
|
private bool Initialized = false;
|
||||||
|
|
||||||
|
private bool NeedInitialize;
|
||||||
|
|
||||||
|
public IParentalControlService(bool NeedInitialize = true)
|
||||||
{
|
{
|
||||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||||
{
|
{
|
||||||
//...
|
{ 1, Initialize }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.NeedInitialize = NeedInitialize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long Initialize(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
if (NeedInitialize && !Initialized)
|
||||||
|
{
|
||||||
|
Initialized = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Context.Ns.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -13,15 +13,23 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl
|
||||||
{
|
{
|
||||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||||
{
|
{
|
||||||
{ 0, CreateService }
|
{ 0, CreateService },
|
||||||
|
{ 1, CreateServiceWithoutInitialize }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static long CreateService(ServiceCtx Context)
|
public long CreateService(ServiceCtx Context)
|
||||||
{
|
{
|
||||||
MakeObject(Context, new IParentalControlService());
|
MakeObject(Context, new IParentalControlService());
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long CreateServiceWithoutInitialize(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
MakeObject(Context, new IParentalControlService(false));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in a new issue