using System.IO;
namespace BizHawk.Emulation.Common
{
///
/// Savestate handling methods
///
public interface IStatable : IEmulatorService, IEmulator
{
///
/// true if the core would rather give a binary savestate than a text one. both must function regardless
///
bool BinarySaveStatesPreferred { get; }
void SaveStateText(TextWriter writer);
void LoadStateText(TextReader reader);
void SaveStateBinary(BinaryWriter writer);
void LoadStateBinary(BinaryReader reader);
///
/// save state binary to a byte buffer
///
/// you may NOT modify this. if you call SaveStateBinary() again with the same core, the old data MAY be overwritten.
byte[] SaveStateBinary();
}
}