Ryujinx-uplift/Ryujinx.Horizon/Sdk/Sf/Cmif/HandlesToClose.cs
gdkchan 08831eecf7
IPC refactor part 3+4: New server HIPC message processor (#4188)
* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization

* Make types match on calls to AlignUp/AlignDown

* Formatting

* Address some PR feedback

* Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations

* Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory

* Implement EventType

* Address more PR feedback

* Log request processing errors since they are not normal

* Rename waitable to multiwait and add missing lock

* PR feedback

* Ac_K PR feedback
2023-01-04 23:15:45 +01:00

53 lines
1.4 KiB
C#

using System;
namespace Ryujinx.Horizon.Sdk.Sf.Cmif
{
struct HandlesToClose
{
private int _handle0;
private int _handle1;
private int _handle2;
private int _handle3;
private int _handle4;
private int _handle5;
private int _handle6;
private int _handle7;
public int Count;
public int this[int index]
{
get
{
return index switch
{
0 => _handle0,
1 => _handle1,
2 => _handle2,
3 => _handle3,
4 => _handle4,
5 => _handle5,
6 => _handle6,
7 => _handle7,
_ => throw new IndexOutOfRangeException()
};
}
set
{
switch (index)
{
case 0: _handle0 = value; break;
case 1: _handle1 = value; break;
case 2: _handle2 = value; break;
case 3: _handle3 = value; break;
case 4: _handle4 = value; break;
case 5: _handle5 = value; break;
case 6: _handle6 = value; break;
case 7: _handle7 = value; break;
default: throw new IndexOutOfRangeException();
}
}
}
}
}