using System.IO; namespace BizHawk.Emulation.Common { public interface ICoreFileProvider { /// /// Opens a firmware according to the specified firmware ID key /// Stream OpenFirmware(string sysId, string key); /// /// Returns the path to a firmware according to the specified firmware ID key. Use OpenFirmware instead /// string PathFirmware(string sysId, string key); /// /// Produces a path to the requested file, expected to be parallel to the running rom. for example: cue+bin files or sfc+pcm (MSU-1 games) /// string PathSubfile(string fname); /// /// produces a path that contains emulation related dll and exe files /// /// string DllPath(); #region EmuLoadHelper api /// /// get path to a firmware /// /// /// /// if true, result is guaranteed to be valid; else null is possible if not foun /// message to show if fail to get /// string GetFirmwarePath(string sysID, string firmwareID, bool required, string msg = null); /// /// get a firmware as a byte array /// /// /// /// if true, result is guaranteed to be valid; else null is possible if not found /// message to show if fail to get /// byte[] GetFirmware(string sysID, string firmwareID, bool required, string msg = null); byte[] GetFirmwareWithGameInfo(string sysID, string firmwareID, bool required, out GameInfo gi, string msg = null); #endregion } }