IVisualizationProcessorFactory.cs 1.14 KB
namespace Rcs.Infrastructure.Mqtt.ProcessorFactory;

/// <summary>
/// 可视化数据处理器工厂接口 - 按制造商分发处理器
/// 通过反射自动发现并注册带有 [ProtocolInfo] 标记的处理器实现
/// @author zzy
/// </summary>
public interface IVisualizationProcessorFactory
{
    /// <summary>
    /// 获取指定制造商的可视化数据处理器
    /// 未找到专用处理器时返回默认处理器(不返回null)
    /// </summary>
    /// <param name="manufacturer">制造商名称</param>
    /// <returns>对应的处理器实例</returns>
    IVisualizationDataProcessor GetProcessor(string manufacturer);

    /// <summary>
    /// 获取所有已注册的制造商列表
    /// </summary>
    /// <returns>制造商名称集合</returns>
    IEnumerable<string> GetSupportedManufacturers();

    /// <summary>
    /// 手动刷新并重新注册处理器
    /// </summary>
    void RefreshProcessors();

    /// <summary>
    /// 获取已注册处理器的详细信息
    /// </summary>
    /// <returns>制造商与处理器类型信息映射</returns>
    Dictionary<string, string> GetRegisteredProcessorsInfo();
}