Open by path

This commit is contained in:
2022-05-30 17:09:10 +02:00
parent e9ed2c01e6
commit 1a32e97973
12 changed files with 82 additions and 18 deletions

View File

@@ -2,7 +2,6 @@ using System.Reactive.Subjects;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums;
using FileTime.Core.Models;
using FileTime.Core.Services;
using Microsoft.Extensions.DependencyInjection;
namespace FileTime.Core.Timeline;
@@ -11,8 +10,7 @@ public class TimelessContentProvider : ITimelessContentProvider
{
private readonly Lazy<List<IContentProvider>> _contentProviders;
public BehaviorSubject<PointInTime> CurrentPointInTime { get; } =
new BehaviorSubject<PointInTime>(PointInTime.Present);
public BehaviorSubject<PointInTime> CurrentPointInTime { get; } = new(PointInTime.Present);
public TimelessContentProvider(IServiceProvider serviceProvider)
{
@@ -36,4 +34,16 @@ public class TimelessContentProvider : ITimelessContentProvider
forceResolve, forceResolvePathType,
itemInitializationSettings);
}
public async Task<IItem?> GetItemByNativePathAsync(NativePath nativePath, PointInTime? pointInTime = null)
{
foreach (var contentProvider in _contentProviders.Value)
{
if(!contentProvider.CanHandlePath(nativePath)) continue;
return await contentProvider.GetItemByNativePathAsync(nativePath, pointInTime ?? PointInTime.Present);
}
return null;
}
}