// Copyright (C) 2026 SharpEmu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later using SharpEmu.Core; using SharpEmu.Core.Memory; using SharpEmu.HLE; namespace SharpEmu.Core.Loader; public interface ISelfLoader { SelfImage Load(ReadOnlySpan imageData, IVirtualMemory virtualMemory); SelfImage Load(ReadOnlySpan imageData, IVirtualMemory virtualMemory, IFileSystem? fs, string? mountRoot); SelfImage Load(ReadOnlySpan imageData, IVirtualMemory virtualMemory, IModuleManager moduleManager); SelfImage Load(ReadOnlySpan imageData, IVirtualMemory virtualMemory, IModuleManager moduleManager, IFileSystem? fs, string? mountRoot); SelfImage LoadAdditional(ReadOnlySpan imageData, IVirtualMemory virtualMemory, IModuleManager moduleManager, IFileSystem? fs, string? mountRoot); }