using System; using System.Collections.Generic; namespace Ryujinx.Core.OsHle.Handles { class HSharedMem { private List Positions; public EventHandler MemoryMapped; public EventHandler MemoryUnmapped; public HSharedMem() { Positions = new List(); } public void AddVirtualPosition(long Position) { lock (Positions) { Positions.Add(Position); MemoryMapped?.Invoke(this, EventArgs.Empty); } } public void RemoveVirtualPosition(long Position) { lock (Positions) { Positions.Remove(Position); MemoryUnmapped?.Invoke(this, EventArgs.Empty); } } public long[] GetVirtualPositions() { return Positions.ToArray(); } } }