Table of Contents

Class ExternalSolver

Namespace
ZeroInstall.Services.Solvers
Assembly
ZeroInstall.Services.dll

Uses an external process to solve Requirements. The executable for external process is itself provided by another ISolver.

public class ExternalSolver : ISolver
Inheritance
ExternalSolver
Implements
Inherited Members
Extension Methods

Remarks

This class is immutable and thread-safe.

Constructors

ExternalSolver(ISolver, ISelectionsManager, IFetcher, IExecutor, IFeedManager, ITaskHandler, Requirements)

Uses an external process to solve Requirements. The executable for external process is itself provided by another ISolver.

public ExternalSolver(ISolver backingSolver, ISelectionsManager selectionsManager, IFetcher fetcher, IExecutor executor, IFeedManager feedManager, ITaskHandler handler, Requirements solverRequirements)

Parameters

backingSolver ISolver
selectionsManager ISelectionsManager
fetcher IFetcher
executor IExecutor
feedManager IFeedManager
handler ITaskHandler
solverRequirements Requirements

Remarks

This class is immutable and thread-safe.

Methods

Solve(Requirements)

Provides Selections that satisfy a set of Requirements.

public Selections Solve(Requirements requirements)

Parameters

requirements Requirements

The requirements to satisfy.

Returns

Selections

The selected ImplementationSelections.

Remarks

Feed files may be downloaded, signature validation is performed, implementations are not downloaded.

Exceptions

OperationCanceledException

The user canceled the task.

ArgumentException

requirements is incomplete.

IOException

A problem occurred while reading the feed file.

WebException

A problem occurred while fetching the feed file.

UnauthorizedAccessException

Access to the cache is not permitted.

SignatureException

The signature data of a remote feed file could not be verified.

SolverException

The solver was unable to provide Selections that fulfill the requirements.