Files
FileTime2/src/Providers/FileTime.Providers.Remote/RemoteContentProvider.cs

36 lines
1.7 KiB
C#

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<Task<IRemoteConnection>> _remoteConnectionProvider;
public RemoteContentProvider(
ITimelessContentProvider timelessContentProvider,
Func<Task<IRemoteConnection>> remoteConnectionProvider,
string remoteName,
string name = "remote")
: base(name, timelessContentProvider)
{
_remoteConnectionProvider = remoteConnectionProvider;
}
public async Task<IRemoteConnection> GetRemoteConnectionAsync()
=> await _remoteConnectionProvider();
//TODO implement
public override Task<IItem> 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<byte[]?> 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();
}