ContentProvider more async
This commit is contained in:
@@ -82,8 +82,8 @@ public class ContainerSizeSizeScanProvider : ContentProviderBase, IContainerSize
|
||||
itemInitializationSettings
|
||||
);
|
||||
|
||||
public override NativePath GetNativePath(FullName fullName)
|
||||
=> new(fullName.Path);
|
||||
public override ValueTask<NativePath> GetNativePathAsync(FullName fullName)
|
||||
=> ValueTask.FromResult(new NativePath(fullName.Path));
|
||||
|
||||
public override FullName GetFullName(NativePath nativePath)
|
||||
=> new(nativePath.Path);
|
||||
@@ -95,8 +95,8 @@ public class ContainerSizeSizeScanProvider : ContentProviderBase, IContainerSize
|
||||
//TODO read from original source
|
||||
=> Task.FromResult((byte[]?) null);
|
||||
|
||||
public override bool CanHandlePath(NativePath path)
|
||||
=> path.Path.StartsWith(ContentProviderName);
|
||||
public override Task<bool> CanHandlePathAsync(NativePath path)
|
||||
=> Task.FromResult(path.Path.StartsWith(ContentProviderName));
|
||||
|
||||
public override VolumeSizeInfo? GetVolumeSizeInfo(FullName path) => null;
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ using FileTime.Core.Timeline;
|
||||
using FileTime.Providers.Remote;
|
||||
using FileTime.Server.Common;
|
||||
using FileTime.Server.Common.Connections.SignalR;
|
||||
using InitableService;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace FileTime.App.Core.Services.UserCommandHandler;
|
||||
@@ -28,7 +27,7 @@ public class ToolUserCommandHandlerService : UserCommandHandlerServiceBase
|
||||
private readonly IContentAccessorFactory _contentAccessorFactory;
|
||||
private readonly IContainerSizeScanProvider _containerSizeScanProvider;
|
||||
private readonly IProgramsService _programsService;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
private readonly IContentProviderRegistry _contentProviderRegistry;
|
||||
private readonly ILogger<ToolUserCommandHandlerService> _logger;
|
||||
private IDeclarativeProperty<IContainer?>? _currentLocation;
|
||||
private IDeclarativeProperty<IItemViewModel?>? _currentSelectedItem;
|
||||
@@ -45,7 +44,7 @@ public class ToolUserCommandHandlerService : UserCommandHandlerServiceBase
|
||||
IContentAccessorFactory contentAccessorFactory,
|
||||
IContainerSizeScanProvider containerSizeScanProvider,
|
||||
IProgramsService programsService,
|
||||
IServiceProvider serviceProvider,
|
||||
IContentProviderRegistry contentProviderRegistry,
|
||||
ILogger<ToolUserCommandHandlerService> logger) : base(appState)
|
||||
{
|
||||
_systemClipboardService = systemClipboardService;
|
||||
@@ -57,7 +56,7 @@ public class ToolUserCommandHandlerService : UserCommandHandlerServiceBase
|
||||
_contentAccessorFactory = contentAccessorFactory;
|
||||
_containerSizeScanProvider = containerSizeScanProvider;
|
||||
_programsService = programsService;
|
||||
_serviceProvider = serviceProvider;
|
||||
_contentProviderRegistry = contentProviderRegistry;
|
||||
_logger = logger;
|
||||
SaveCurrentLocation(l => _currentLocation = l);
|
||||
SaveCurrentSelectedItem(i => _currentSelectedItem = i);
|
||||
@@ -81,7 +80,7 @@ public class ToolUserCommandHandlerService : UserCommandHandlerServiceBase
|
||||
var containerNameInput = new TextInputElement("Path");
|
||||
var providerName = new TextInputElement("Provider name")
|
||||
{
|
||||
Value = "remote_" + Guid.NewGuid().ToString("N")
|
||||
Value = "remote_" + Guid.NewGuid().ToString("N")[..8]
|
||||
};
|
||||
var inputs = new IInputElement[] {containerNameInput, providerName};
|
||||
var result = await _userCommunicationService.ReadInputs(inputs);
|
||||
@@ -113,6 +112,12 @@ public class ToolUserCommandHandlerService : UserCommandHandlerServiceBase
|
||||
connection,
|
||||
"local",
|
||||
providerName.Value);
|
||||
|
||||
_contentProviderRegistry.AddContentProvider(remoteContentProvider);
|
||||
|
||||
|
||||
await _userCommandHandlerService.HandleCommandAsync(
|
||||
new OpenContainerCommand(new AbsolutePath(_timelessContentProvider, remoteContentProvider)));
|
||||
}
|
||||
|
||||
private Task Edit()
|
||||
|
||||
@@ -66,7 +66,9 @@ public class SearchContentProvider : ContentProviderBase, ISearchContentProvider
|
||||
.First(searchTask => searchTask.SearchContainer.NativePath == nativePath).SearchContainer);
|
||||
}
|
||||
|
||||
public override NativePath GetNativePath(FullName fullName) => new(fullName.Path);
|
||||
public override ValueTask<NativePath> GetNativePathAsync(FullName fullName)
|
||||
=> ValueTask.FromResult(new NativePath(fullName.Path));
|
||||
|
||||
public override FullName GetFullName(NativePath nativePath) => new(nativePath.Path);
|
||||
|
||||
public override Task<byte[]?> GetContentAsync(
|
||||
@@ -76,7 +78,7 @@ public class SearchContentProvider : ContentProviderBase, ISearchContentProvider
|
||||
)
|
||||
=> Task.FromResult(null as byte[]);
|
||||
|
||||
public override bool CanHandlePath(NativePath path) => path.Path.StartsWith(ContentProviderName);
|
||||
public override Task<bool> CanHandlePathAsync(NativePath path) => Task.FromResult(path.Path.StartsWith(ContentProviderName));
|
||||
public override VolumeSizeInfo? GetVolumeSizeInfo(FullName path) => null;
|
||||
|
||||
public async Task<ISearchTask> StartSearchAsync(ISearchMatcher matcher, IContainer searchIn)
|
||||
|
||||
Reference in New Issue
Block a user