namespace Ryujinx.Ava.Systems.PlayReport
{
///
/// The delegate type that powers single value formatters.
/// Takes in the result value from the Play Report, and outputs:
///
/// a formatted string,
///
/// a signal that nothing was available to handle it,
///
/// OR a signal to reset the value that the caller is using the for.
///
public delegate FormattedValue SingleValueFormatter(SingleValue value);
///
/// The delegate type that powers multiple value formatters.
/// Takes in the result values from the Play Report, and outputs:
///
/// a formatted string,
///
/// a signal that nothing was available to handle it,
///
/// OR a signal to reset the value that the caller is using the for.
///
public delegate FormattedValue MultiValueFormatter(MultiValue value);
///
/// The delegate type that powers multiple value formatters.
/// The dictionary passed to this delegate is sparsely populated;
/// that is, not every key specified in the Play Report needs to match for this to be used.
/// Takes in the result values from the Play Report, and outputs:
///
/// a formatted string,
///
/// a signal that nothing was available to handle it,
///
/// OR a signal to reset the value that the caller is using the for.
///
public delegate FormattedValue SparseMultiValueFormatter(SparseMultiValue value);
}