using System.IO;
namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
{
///
/// This interface describes the behavior of an object that
/// provides TZX tape content
///
public interface ITapeProvider
{
///
/// Tha tape set to load the content from
///
string TapeSetName { get; set; }
///
/// Gets a binary reader that provider TZX content
///
/// BinaryReader instance to obtain the content from
BinaryReader GetTapeContent();
///
/// Creates a tape file with the specified name
///
///
void CreateTapeFile();
///
/// This method sets the name of the file according to the
/// Spectrum SAVE HEADER information
///
///
void SetName(string name);
///
/// Appends the TZX block to the tape file
///
///
void SaveTapeBlock(ITapeDataSerialization block);
///
/// The tape provider can finalize the tape when all
/// TZX blocks are written.
///
void FinalizeTapeFile();
///
/// Provider can reset itself
///
void Reset();
}
}