#nullable enable
using System.Collections.Generic;
using System.Linq;
namespace T3.Core.Resource;
///
/// Runtime components — often native libraries loaded by operator packages in a separate load context —
/// register a short version/license line here so the editor can surface it (e.g. the About dialog, for
/// license transparency). Lives in Core because Core is the assembly shared across the editor and the
/// operator load contexts, so a registration from an operator package is visible to the editor.
///
public static class ThirdPartyRuntimeInfo
{
/// Registers or replaces the line for (e.g. "FFmpeg" → "7.0 (LGPL)").
public static void Register(string name, string details)
{
lock (_lock)
_entries[name] = details;
}
public static IReadOnlyList> GetAll()
{
lock (_lock)
return _entries.ToList();
}
private static readonly object _lock = new();
private static readonly Dictionary _entries = new();
}