using FileTime.Core.ContentAccess; using FileTime.Core.Enums; using FileTime.Core.Models; using FileTime.Core.Timeline; using FileTime.Server.Common; namespace FileTime.Providers.Remote; public sealed class RemoteContentProvider : ContentProviderBase, IRemoteContentProvider { private readonly Func> _remoteConnectionProvider; public RemoteContentProvider( ITimelessContentProvider timelessContentProvider, Func> remoteConnectionProvider, string remoteName, string name = "remote") : base(name, timelessContentProvider) { _remoteConnectionProvider = remoteConnectionProvider; } public async Task GetRemoteConnectionAsync() => await _remoteConnectionProvider(); //TODO implement public override Task GetItemByNativePathAsync(NativePath nativePath, PointInTime pointInTime, bool forceResolve = false, AbsolutePathType forceResolvePathType = AbsolutePathType.Unknown, ItemInitializationSettings itemInitializationSettings = default) => throw new NotImplementedException(); public override NativePath GetNativePath(FullName fullName) => throw new NotImplementedException(); public override FullName GetFullName(NativePath nativePath) => throw new NotImplementedException(); public override Task GetContentAsync(IElement element, int? maxLength = null, CancellationToken cancellationToken = default) => throw new NotImplementedException(); public override bool CanHandlePath(NativePath path) => throw new NotImplementedException(); public override VolumeSizeInfo? GetVolumeSizeInfo(FullName path) => throw new NotImplementedException(); }