aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs')
-rw-r--r--src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs b/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs
new file mode 100644
index 00000000..0ed8bfc5
--- /dev/null
+++ b/src/Ryujinx.Cpu/Tracking/CpuMultiRegionHandle.cs
@@ -0,0 +1,28 @@
+using Ryujinx.Memory.Tracking;
+using System;
+using System.Collections.Generic;
+
+namespace Ryujinx.Cpu.Tracking
+{
+ public class CpuMultiRegionHandle : IMultiRegionHandle
+ {
+ private readonly MultiRegionHandle _impl;
+
+ public bool Dirty => _impl.Dirty;
+
+ internal CpuMultiRegionHandle(MultiRegionHandle impl)
+ {
+ _impl = impl;
+ }
+
+ public void Dispose() => _impl.Dispose();
+ public void ForceDirty(ulong address, ulong size) => _impl.ForceDirty(address, size);
+ public IEnumerable<IRegionHandle> GetHandles() => _impl.GetHandles();
+ public void QueryModified(Action<ulong, ulong> modifiedAction) => _impl.QueryModified(modifiedAction);
+ public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction) => _impl.QueryModified(address, size, modifiedAction);
+ public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction, int sequenceNumber) => _impl.QueryModified(address, size, modifiedAction, sequenceNumber);
+ public void RegisterAction(ulong address, ulong size, RegionSignal action) => _impl.RegisterAction(address, size, action);
+ public void RegisterPreciseAction(ulong address, ulong size, PreciseRegionSignal action) => _impl.RegisterPreciseAction(address, size, action);
+ public void SignalWrite() => _impl.SignalWrite();
+ }
+}