using AsyncEvent; using FileTime.Core.Models; using FileTime.Core.Providers; namespace FileTime.Core.Search { public class ChildSearchContainer : AbstractContainer { public ChildSearchContainer(SearchContainer searchContainer, IContentProvider provider, IContainer baseContainer, string name, string displayName, List searchDisplayName) : base(provider, baseContainer.GetParent()!, name) { DisplayName = displayName; SearchContainer = searchContainer; SearchDisplayName = searchDisplayName; BaseContainer = baseContainer; } public override bool IsExists => true; public SearchContainer SearchContainer { get; } public List SearchDisplayName { get; } public IContainer BaseContainer { get; } public override async Task RefreshAsync(CancellationToken token = default) { if (Refreshed != null) await Refreshed.InvokeAsync(this, AsyncEventArgs.Empty, token); } public override Task CloneAsync() => throw new NotImplementedException(); public override Task CreateContainerAsync(string name) => throw new NotSupportedException(); public override Task CreateElementAsync(string name) => throw new NotSupportedException(); public override Task Delete(bool hardDelete = false) => throw new NotSupportedException(); public override Task> RefreshItems(CancellationToken token = default) => throw new NotImplementedException(); public override Task Rename(string newName) => throw new NotSupportedException(); } }