using System.Collections.Generic;
using System;
namespace UnityEditor.Rendering.Converter
{
///
/// Represents a converter that processes render pipeline conversion items.
///
interface IRenderPipelineConverter
{
///
/// Gets a value indicating whether the converter is enabled and can be used.
///
bool isEnabled { get; }
///
/// Gets or sets the reason message shown when the converter item is disabled.
///
string isDisabledMessage { get; }
///
/// Scans for available render pipeline converter items.
///
///
/// A callback invoked when the scan is complete, providing the list of converter items.
///
void Scan(Action> onScanFinish);
///
/// Called before the conversion process begins.
///
void BeforeConvert() { }
///
/// Performs the conversion on a given converter item.
///
/// The converter item to be processed.
///
/// An output message providing additional details about the conversion result.
///
///
/// A value representing the outcome of the conversion.
///
Status Convert(IRenderPipelineConverterItem item, out string message);
///
/// Called after the conversion process is completed.
///
void AfterConvert() { }
}
}