mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-22 15:27:10 +02:00
Move solution and projects to src
This commit is contained in:
parent
cd124bda58
commit
cee7121058
3466 changed files with 55 additions and 55 deletions
41
src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IBinder.cs
Normal file
41
src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IBinder.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.HLE.HOS.Kernel.Threading;
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
|
||||
{
|
||||
interface IBinder
|
||||
{
|
||||
ResultCode AdjustRefcount(int addVal, int type);
|
||||
|
||||
void GetNativeHandle(uint typeId, out KReadableEvent readableEvent);
|
||||
|
||||
ResultCode OnTransact(uint code, uint flags, ReadOnlySpan<byte> inputParcel, Span<byte> outputParcel)
|
||||
{
|
||||
Parcel inputParcelReader = new Parcel(inputParcel.ToArray());
|
||||
|
||||
// TODO: support objects?
|
||||
Parcel outputParcelWriter = new Parcel((uint)(outputParcel.Length - Unsafe.SizeOf<ParcelHeader>()), 0);
|
||||
|
||||
string inputInterfaceToken = inputParcelReader.ReadInterfaceToken();
|
||||
|
||||
if (!InterfaceToken.Equals(inputInterfaceToken))
|
||||
{
|
||||
Logger.Error?.Print(LogClass.SurfaceFlinger, $"Invalid interface token {inputInterfaceToken} (expected: {InterfaceToken}");
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
OnTransact(code, flags, inputParcelReader, outputParcelWriter);
|
||||
|
||||
outputParcelWriter.Finish().CopyTo(outputParcel);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
void OnTransact(uint code, uint flags, Parcel inputParcel, Parcel outputParcel);
|
||||
|
||||
string InterfaceToken { get; }
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue