break IStateable down because I need just binary for some internal stuff...

This commit is contained in:
nattthebear 2017-05-20 12:09:50 -04:00
parent 5c8efb51ba
commit 9e4462008c
1 changed files with 10 additions and 4 deletions

View File

@ -2,13 +2,22 @@
namespace BizHawk.Emulation.Common
{
/// <summary>
/// Binary save and load state only without any trappings. At the moment, an emulator core should not implement this directly
/// </summary>
public interface IBinaryStateable
{
void SaveStateBinary(BinaryWriter writer);
void LoadStateBinary(BinaryReader reader);
}
/// <summary>
/// This service manages the logic of sending and receiving savestates from the core
/// If this service is available, client apps will expose features for making savestates and that utilize savestates (such as rewind))
/// If unavailable these options will not be exposed
/// Additionally many tools depend on savestates such as TAStudio, these will only be available if this service is implemented
/// </summary>
public interface IStatable : IEmulatorService
public interface IStatable : IBinaryStateable, IEmulatorService
{
/// <summary>
/// Gets a value indicating whether the core would rather give a binary savestate than a text one. Both must function regardless
@ -18,9 +27,6 @@ namespace BizHawk.Emulation.Common
void SaveStateText(TextWriter writer);
void LoadStateText(TextReader reader);
void SaveStateBinary(BinaryWriter writer);
void LoadStateBinary(BinaryReader reader);
/// <summary>
/// save state binary to a byte buffer
/// </summary>