using System.Collections.Generic;
namespace BizHawk.Client.Common
{
///
/// Specifies a class that can take an input source and generate a movie input log entry
///
public interface ILogEntryGenerator
{
///
/// Generates an input log entry for the current state of Source
///
string GenerateLogEntry();
///
/// Generates a human readable key that will specify the names of the
/// buttons and the order they are in. This is intended to simply be
/// documentation of the meaning of the mnemonics and not to be used to
/// enforce the mnemonic values
///
string GenerateLogKey();
///
/// Generates a dictionary of button names to their corresponding mnemonic values
///
Dictionary Map();
///
/// Generates a display friendly version of the input log entry
///
string GenerateInputDisplay();
///
/// Gets a value indicating whether or not the current controller state is "empty"
///
bool IsEmpty { get; }
///
/// Gets an input log entry that is considered empty. (booleans will be false, floats will be 0)
///
string EmptyEntry { get; }
}
}