ContentReader for Compressed (+read content for provider)
This commit is contained in:
22
src/Core/FileTime.Core.ContentAccess/Helper.cs
Normal file
22
src/Core/FileTime.Core.ContentAccess/Helper.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using FileTime.Core.Models;
|
||||
|
||||
namespace FileTime.Core.ContentAccess;
|
||||
|
||||
internal static class Helper
|
||||
{
|
||||
internal static async Task<ParentElementReaderContext> GetParentElementReaderAsync(
|
||||
IContentAccessorFactory contentAccessorFactory,
|
||||
IElement element,
|
||||
IContentProvider parentContentProvider)
|
||||
{
|
||||
var elementNativePath = element.NativePath!;
|
||||
var supportedPath = (await parentContentProvider.GetSupportedPathPart(elementNativePath))!;
|
||||
var parentElement = (IElement) await parentContentProvider.GetItemByNativePathAsync(supportedPath, element.PointInTime);
|
||||
|
||||
var contentReaderFactory = contentAccessorFactory.GetContentReaderFactory(parentElement.Provider);
|
||||
var reader = await contentReaderFactory.CreateContentReaderAsync(parentElement);
|
||||
var subPath = new NativePath(elementNativePath.Path.Substring(supportedPath.Path.Length + 2 + Constants.SubContentProviderRootContainer.Length));
|
||||
|
||||
return new ParentElementReaderContext(reader, subPath);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user