aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs
index 19b22157..431c2cad 100644
--- a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs
+++ b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs
@@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
{
private readonly byte[] _rawData;
- private Span<byte> Raw => new Span<byte>(_rawData);
+ private Span<byte> Raw => new(_rawData);
private ref ParcelHeader Header => ref MemoryMarshal.Cast<byte, ParcelHeader>(_rawData)[0];
@@ -26,10 +26,10 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
public Parcel(byte[] rawData)
{
- _rawData = rawData;
+ _rawData = rawData;
_payloadPosition = 0;
- _objectPosition = 0;
+ _objectPosition = 0;
}
public Parcel(uint payloadSize, uint objectsSize)
@@ -38,16 +38,18 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
_rawData = new byte[BitUtils.AlignUp<uint>(headerSize + payloadSize + objectsSize, 4)];
- Header.PayloadSize = payloadSize;
- Header.ObjectsSize = objectsSize;
+ Header.PayloadSize = payloadSize;
+ Header.ObjectsSize = objectsSize;
Header.PayloadOffset = headerSize;
- Header.ObjectOffset = Header.PayloadOffset + Header.ObjectsSize;
+ Header.ObjectOffset = Header.PayloadOffset + Header.ObjectsSize;
}
public string ReadInterfaceToken()
{
// Ignore the policy flags
+#pragma warning disable IDE0059 // Remove unnecessary value assignment
int strictPolicy = ReadInt32();
+#pragma warning restore IDE0059
return ReadString16();
}
@@ -64,7 +66,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
ReadOnlySpan<byte> data = ReadInPlace((size + 1) * 2);
// Return the unicode string without the last character (null terminator)
- return Encoding.Unicode.GetString(data.Slice(0, size * 2));
+ return Encoding.Unicode.GetString(data[..(size * 2)]);
}
public int ReadInt32() => ReadUnmanagedType<int>();
@@ -77,7 +79,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
{
long flattenableSize = ReadInt64();
- T result = new T();
+ T result = new();
Debug.Assert(flattenableSize == result.GetFlattenedSize());
@@ -86,7 +88,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
return result;
}
- public T ReadUnmanagedType<T>() where T: unmanaged
+ public T ReadUnmanagedType<T>() where T : unmanaged
{
ReadOnlySpan<byte> data = ReadInPlace(Unsafe.SizeOf<T>());
@@ -105,8 +107,8 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
[StructLayout(LayoutKind.Sequential, Size = 0x28)]
private struct FlatBinderObject
{
- public int Type;
- public int Flags;
+ public int Type;
+ public int Flags;
public long BinderId;
public long Cookie;
@@ -115,12 +117,12 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
public Span<byte> ServiceName => MemoryMarshal.CreateSpan(ref _serviceNameStart, 0x8);
}
- public void WriteObject<T>(T obj, string serviceName) where T: IBinder
+ public void WriteObject<T>(T obj, string serviceName) where T : IBinder
{
- FlatBinderObject flatBinderObject = new FlatBinderObject
+ FlatBinderObject flatBinderObject = new()
{
- Type = 2,
- Flags = 0,
+ Type = 2,
+ Flags = 0,
BinderId = HOSBinderDriverServer.GetBinderId(obj),
};
@@ -149,7 +151,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
}
}
- public void WriteStrongPointer<T>(ref AndroidStrongPointer<T> value) where T: unmanaged, IFlattenable
+ public void WriteStrongPointer<T>(ref AndroidStrongPointer<T> value) where T : unmanaged, IFlattenable
{
WriteBoolean(!value.IsNull);
@@ -205,17 +207,17 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
{
uint headerSize = (uint)Unsafe.SizeOf<ParcelHeader>();
- Header.PayloadSize = (uint)_payloadPosition;
- Header.ObjectsSize = (uint)_objectPosition;
+ Header.PayloadSize = (uint)_payloadPosition;
+ Header.ObjectsSize = (uint)_objectPosition;
Header.PayloadOffset = headerSize;
- Header.ObjectOffset = Header.PayloadOffset + Header.PayloadSize;
+ Header.ObjectOffset = Header.PayloadOffset + Header.PayloadSize;
}
public ReadOnlySpan<byte> Finish()
{
UpdateHeader();
- return Raw.Slice(0, (int)(Header.PayloadSize + Header.ObjectsSize + Unsafe.SizeOf<ParcelHeader>()));
+ return Raw[..(int)(Header.PayloadSize + Header.ObjectsSize + Unsafe.SizeOf<ParcelHeader>())];
}
}
}