IPC: Remove IIpcService interface (#2121)

This PR remove the IIpcService.cs interface usage which isn't needed anymore since the interface is only used by IpcService class. We can use it directly.
This commit is contained in:
Ac_K 2021-03-19 00:31:08 +01:00 committed by GitHub
parent a8c945f35f
commit 39899c0407
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 21 deletions

View File

@ -14,15 +14,15 @@ namespace Ryujinx.HLE.Exceptions
[Serializable]
internal class ServiceNotImplementedException : Exception
{
public IIpcService Service { get; }
public IpcService Service { get; }
public ServiceCtx Context { get; }
public IpcMessage Request { get; }
public ServiceNotImplementedException(IIpcService service, ServiceCtx context)
public ServiceNotImplementedException(IpcService service, ServiceCtx context)
: this(service, context, "The service call is not implemented.")
{ }
public ServiceNotImplementedException(IIpcService service, ServiceCtx context, string message)
public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message)
: base(message)
{
Service = service;
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.Exceptions
Request = context.Request;
}
public ServiceNotImplementedException(IIpcService service, ServiceCtx context, string message, Exception inner)
public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message, Exception inner)
: base(message, inner)
{
Service = service;
@ -158,7 +158,7 @@ namespace Ryujinx.HLE.Exceptions
var method = frame.GetMethod();
var declType = method.DeclaringType;
if (typeof(IIpcService).IsAssignableFrom(declType))
if (typeof(IpcService).IsAssignableFrom(declType))
{
return (declType, method);
}

View File

@ -1,10 +0,0 @@
using System.Collections.Generic;
using System.Reflection;
namespace Ryujinx.HLE.HOS.Services
{
interface IIpcService
{
IReadOnlyDictionary<int, MethodInfo> Commands { get; }
}
}

View File

@ -9,7 +9,7 @@ using System.Linq;
namespace Ryujinx.HLE.HOS.Services
{
abstract class IpcService : IIpcService
abstract class IpcService
{
public IReadOnlyDictionary<int, MethodInfo> Commands { get; }
@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services
public void CallMethod(ServiceCtx context)
{
IIpcService service = this;
IpcService service = this;
if (_isDomain)
{
@ -173,7 +173,7 @@ namespace Ryujinx.HLE.HOS.Services
{
int objId = context.Request.ObjectIds[index];
IIpcService obj = _parent.GetObject(objId);
IpcService obj = _parent.GetObject(objId);
return obj is T t ? t : null;
}
@ -190,7 +190,7 @@ namespace Ryujinx.HLE.HOS.Services
return false;
}
private int Add(IIpcService obj)
private int Add(IpcService obj)
{
return _domainObjects.Add(obj);
}
@ -207,9 +207,9 @@ namespace Ryujinx.HLE.HOS.Services
return obj != null;
}
private IIpcService GetObject(int id)
private IpcService GetObject(int id)
{
return _domainObjects.GetData<IIpcService>(id);
return _domainObjects.GetData<IpcService>(id);
}
public void SetParent(IpcService parent)