mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-06-28 13:16:24 +02:00
37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using Ryujinx.Memory.Tracking;
|
|
using System;
|
|
|
|
namespace Ryujinx.Cpu.Tracking
|
|
{
|
|
public class CpuRegionHandle : IRegionHandle
|
|
{
|
|
private readonly RegionHandle _impl;
|
|
|
|
public bool Dirty => _impl.Dirty;
|
|
public bool Unmapped => _impl.Unmapped;
|
|
public ulong Address => _impl.Address;
|
|
public ulong Size => _impl.Size;
|
|
public ulong EndAddress => _impl.EndAddress;
|
|
|
|
internal CpuRegionHandle(RegionHandle impl)
|
|
{
|
|
_impl = impl;
|
|
}
|
|
|
|
public void Dispose() => _impl.Dispose();
|
|
public bool DirtyOrVolatile() => _impl.DirtyOrVolatile();
|
|
public void ForceDirty() => _impl.ForceDirty();
|
|
public IRegionHandle GetHandle() => _impl;
|
|
public void RegisterAction(RegionSignal action) => _impl.RegisterAction(action);
|
|
public void RegisterPreciseAction(PreciseRegionSignal action) => _impl.RegisterPreciseAction(action);
|
|
public void RegisterDirtyEvent(Action action) => _impl.RegisterDirtyEvent(action);
|
|
public void Reprotect(bool asDirty = false) => _impl.Reprotect(asDirty);
|
|
|
|
public bool OverlapsWith(ulong address, ulong size) => _impl.OverlapsWith(address, size);
|
|
|
|
public bool RangeEquals(CpuRegionHandle other)
|
|
{
|
|
return _impl.RealAddress == other._impl.RealAddress && _impl.RealSize == other._impl.RealSize;
|
|
}
|
|
}
|
|
}
|