CpuMultiRegionHandle.cs 1.4 KB

12345678910111213141516171819202122232425262728
  1. using Ryujinx.Memory.Tracking;
  2. using System;
  3. using System.Collections.Generic;
  4. namespace Ryujinx.Cpu.Tracking
  5. {
  6. public class CpuMultiRegionHandle : IMultiRegionHandle
  7. {
  8. private readonly MultiRegionHandle _impl;
  9. public bool Dirty => _impl.Dirty;
  10. internal CpuMultiRegionHandle(MultiRegionHandle impl)
  11. {
  12. _impl = impl;
  13. }
  14. public void Dispose() => _impl.Dispose();
  15. public void ForceDirty(ulong address, ulong size) => _impl.ForceDirty(address, size);
  16. public IEnumerable<IRegionHandle> GetHandles() => _impl.GetHandles();
  17. public void QueryModified(Action<ulong, ulong> modifiedAction) => _impl.QueryModified(modifiedAction);
  18. public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction) => _impl.QueryModified(address, size, modifiedAction);
  19. public void QueryModified(ulong address, ulong size, Action<ulong, ulong> modifiedAction, int sequenceNumber) => _impl.QueryModified(address, size, modifiedAction, sequenceNumber);
  20. public void RegisterAction(ulong address, ulong size, RegionSignal action) => _impl.RegisterAction(address, size, action);
  21. public void RegisterPreciseAction(ulong address, ulong size, PreciseRegionSignal action) => _impl.RegisterPreciseAction(address, size, action);
  22. public void SignalWrite() => _impl.SignalWrite();
  23. }
  24. }