using System;
namespace Framework.Storage.Containers {
/// Serializer for a persistent state
/// Type of state the serializer will persist
public interface IPersistentStateSerializer where TState : class {
/// Default filename that will be used for the serialized state
string DefaultFilename { get; }
/// Reads the persistent state from a file
/// State into which the file will be saved
/// Path fo the file containing the saved state
/// True if the state is genuine, false if it was modified
bool Load(TState state, string path);
/// Saves the persistent state into a file
/// State that will be saved into a file
/// Path of a file the state will be saved into
void Save(TState state, string path);
}
} // namespace Framework.Storage.Containers