using OwlCore.Events; using StrixMusic.Sdk.MediaPlayback; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using StrixMusic.Sdk.CoreModels; namespace StrixMusic.Cores.OwlCoreRpc.Tests.Mock.Items { public class MockCorePlaylist : ICorePlaylist { public MockCorePlaylist(ICore sourceCore, string id, string name) { SourceCore = sourceCore; Id = id; Name = name; } public ICore SourceCore { get; set; } public string Id { get; set; } public string Name { get; set; } public ICoreUserProfile? Owner { get; set; } public ICorePlayableCollectionGroup? RelatedItems { get; set; } public int TotalTrackCount { get; set; } public bool IsPlayTrackCollectionAsyncAvailable { get; set; } public bool IsPauseTrackCollectionAsyncAvailable { get; set; } public DateTime? AddedAt { get; set; } public string? Description { get; set; } public DateTime? LastPlayed { get; set; } public PlaybackState PlaybackState { get; set; } public TimeSpan Duration { get; set; } public bool IsChangeNameAsyncAvailable { get; set; } public bool IsChangeDescriptionAsyncAvailable { get; set; } public bool IsChangeDurationAsyncAvailable { get; set; } public int TotalImageCount { get; set; } public int TotalUrlCount { get; set; } public event CollectionChangedEventHandler? TracksChanged; public event EventHandler? IsPlayTrackCollectionAsyncAvailableChanged; public event EventHandler? IsPauseTrackCollectionAsyncAvailableChanged; public event EventHandler? TracksCountChanged; public event CollectionChangedEventHandler? ImagesChanged; public event CollectionChangedEventHandler? UrlsChanged; public event EventHandler? PlaybackStateChanged; public event EventHandler? NameChanged; public event EventHandler? DescriptionChanged; public event EventHandler? DurationChanged; public event EventHandler? LastPlayedChanged; public event EventHandler? IsChangeNameAsyncAvailableChanged; public event EventHandler? IsChangeDescriptionAsyncAvailableChanged; public event EventHandler? IsChangeDurationAsyncAvailableChanged; public event EventHandler? ImagesCountChanged; public event EventHandler? UrlsCountChanged; public Task AddImageAsync(ICoreImage image, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task AddTrackAsync(ICoreTrack track, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task AddUrlAsync(ICoreUrl url, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeDescriptionAsync(string? description, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeDurationAsync(TimeSpan duration, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeNameAsync(string name, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public ValueTask DisposeAsync() { throw new NotImplementedException(); } public IAsyncEnumerable GetImagesAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public IAsyncEnumerable GetTracksAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public IAsyncEnumerable GetUrlsAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddImageAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddTrackAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddUrlAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveImageAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveTrackAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveUrlAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PauseTrackCollectionAsync(CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PlayTrackCollectionAsync(ICoreTrack track, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PlayTrackCollectionAsync(CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveImageAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveTrackAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveUrlAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } } }