using System.Collections.ObjectModel;
using PolyTraderSharp.Models;

namespace PolyTraderSharp.Services
{
    /// <summary>
    /// Registrierung der Hintergrund-Jobs für die Jobs-Ansicht.
    ///
    /// <para><see cref="ObservableCollection{T}"/> statt des früheren <c>BindingList</c>: Avalonia-
    /// Steuerelemente werten <c>INotifyCollectionChanged</c> aus, das <c>BindingList</c> nicht
    /// implementiert – neu registrierte Jobs wären in der Oberfläche sonst unsichtbar geblieben.
    /// Die Zeilen selbst melden Änderungen weiterhin über <c>INotifyPropertyChanged</c>
    /// (<see cref="JobStatusRow"/>).</para>
    /// </summary>
    public class JobManager
    {
        public ObservableCollection<JobStatusRow> Jobs { get; } = new();

        public void RegisterJob(JobStatusRow job)
        {
            Jobs.Add(job);
        }
    }
}
