Table of Contents

Class ArchiveListingRouter

Namespace
Archiver.Core.Services
Assembly
Archiver.Core.dll

Routes a single archive's ListEntriesAsync call to IArchiveService (ZIP) or ITarService (tar-family), based on ArchiveFormatDetector — same dispatch IExtractionRouter uses for extraction. A separate interface from IExtractionRouter because listing and extracting return different result shapes; one archive path in, one ArchiveListResult out (not a batch, unlike ExtractAsync — the archive browser always lists exactly one archive at a time). T-F250: Group Policy applies exactly as for extraction (ArchiveFormatPolicy) — a blocked format, or a tar-family format under DisableTarExtraction, is a failed result and no engine is called.

public sealed class ArchiveListingRouter : IArchiveListingRouter
Inheritance
ArchiveListingRouter
Implements
Inherited Members

Constructors

ArchiveListingRouter(IArchiveService, ITarService, TarCapabilities, GroupPolicyOptions)

Creates the router over both engines, with the capabilities of tar.exe already known.

public ArchiveListingRouter(IArchiveService archiveService, ITarService tarService, TarCapabilities tarCapabilities, GroupPolicyOptions groupPolicyOptions)

Parameters

archiveService IArchiveService
tarService ITarService
tarCapabilities TarCapabilities
groupPolicyOptions GroupPolicyOptions

Methods

ListEntriesAsync(string, CancellationToken)

Lists a single archive's entries without extracting.

public Task<ArchiveListResult> ListEntriesAsync(string archivePath, CancellationToken cancellationToken = default)

Parameters

archivePath string
cancellationToken CancellationToken

Returns

Task<ArchiveListResult>