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] [Serializable]
internal class ServiceNotImplementedException : Exception internal class ServiceNotImplementedException : Exception
{ {
public IIpcService Service { get; } public IpcService Service { get; }
public ServiceCtx Context { get; } public ServiceCtx Context { get; }
public IpcMessage Request { 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.") : 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) : base(message)
{ {
Service = service; Service = service;
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.Exceptions
Request = context.Request; 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) : base(message, inner)
{ {
Service = service; Service = service;
@ -158,7 +158,7 @@ namespace Ryujinx.HLE.Exceptions
var method = frame.GetMethod(); var method = frame.GetMethod();
var declType = method.DeclaringType; var declType = method.DeclaringType;
if (typeof(IIpcService).IsAssignableFrom(declType)) if (typeof(IpcService).IsAssignableFrom(declType))
{ {
return (declType, method); 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 namespace Ryujinx.HLE.HOS.Services
{ {
abstract class IpcService : IIpcService abstract class IpcService
{ {
public IReadOnlyDictionary<int, MethodInfo> Commands { get; } public IReadOnlyDictionary<int, MethodInfo> Commands { get; }
@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services
public void CallMethod(ServiceCtx context) public void CallMethod(ServiceCtx context)
{ {
IIpcService service = this; IpcService service = this;
if (_isDomain) if (_isDomain)
{ {
@ -173,7 +173,7 @@ namespace Ryujinx.HLE.HOS.Services
{ {
int objId = context.Request.ObjectIds[index]; int objId = context.Request.ObjectIds[index];
IIpcService obj = _parent.GetObject(objId); IpcService obj = _parent.GetObject(objId);
return obj is T t ? t : null; return obj is T t ? t : null;
} }
@ -190,7 +190,7 @@ namespace Ryujinx.HLE.HOS.Services
return false; return false;
} }
private int Add(IIpcService obj) private int Add(IpcService obj)
{ {
return _domainObjects.Add(obj); return _domainObjects.Add(obj);
} }
@ -207,9 +207,9 @@ namespace Ryujinx.HLE.HOS.Services
return obj != null; 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) public void SetParent(IpcService parent)