using PixiEditor.Extensions.CommonApi.Async; using PixiEditor.Extensions.CommonApi.Palettes.Parsers; namespace PixiEditor.Extensions.CommonApi.Palettes; public abstract class PaletteListDataSource { public string Name { get; set; } public PaletteListDataSource(string name) { Name = name; AvailableParsers = new List(); } public virtual void Initialize() { } /// /// Fetches palettes from the provider. /// /// Starting fetch index. Palettes before said index won't be fetched. /// Max amount of palettes to fetch. /// Filtering settings for fetching. /// A List of palettes. Null if fetch wasn't successful. public abstract AsyncCall> FetchPaletteList(int startIndex, int items, FilteringSettings filtering); public List AvailableParsers { get; set; } }