Table of Contents

Class PakkoServices

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

The one place a frontend without a DI container (Archiver.Shell, Archiver.CLI) gets its Core services from (T-F261), so every service is built with the same Group Policy — a hand-built composition root per command is how the CLI once shipped a policy-less listing. The tar.exe capability probe runs at most once per instance (T-F85), only when an operation meets a tar-family archive that policy allows (T-F350), and not at all when Group Policy disables tar.exe.

public sealed class PakkoServices
Inheritance
PakkoServices
Inherited Members

Properties

ArchiveService

The ZIP engine.

public IArchiveService ArchiveService { get; }

Property Value

IArchiveService

CreationRouter

Archive creation; needs no tar.exe probe.

public IArchiveCreationRouter CreationRouter { get; }

Property Value

IArchiveCreationRouter

Policy

The Group Policy every service here was built with.

public GroupPolicyOptions Policy { get; }

Property Value

GroupPolicyOptions

RecoveryService

Repair from PAR2 recovery data (T-F275 step 4); needs no tar.exe probe.

public IRecoveryService RecoveryService { get; }

Property Value

IRecoveryService

TarService

The tar.exe engine.

public ITarService TarService { get; }

Property Value

ITarService

Methods

Create(GroupPolicyOptions)

Builds the real engines under policy.

public static PakkoServices Create(GroupPolicyOptions policy)

Parameters

policy GroupPolicyOptions

Returns

PakkoServices

CreateExtractionRouterAsync()

Extraction and testing.

public Task<IExtractionRouter> CreateExtractionRouterAsync()

Returns

Task<IExtractionRouter>

CreateListingRouterAsync()

Listing one archive at a time.

public Task<IArchiveListingRouter> CreateListingRouterAsync()

Returns

Task<IArchiveListingRouter>

CreateScanServiceAsync()

AMSI scanning, wired to the real AMSI provider.

public Task<IAntivirusScanService> CreateScanServiceAsync()

Returns

Task<IAntivirusScanService>

GetTarCapabilitiesAsync()

What tar.exe can read — probed on first use, then cached.

public Task<TarCapabilities> GetTarCapabilitiesAsync()

Returns

Task<TarCapabilities>