Show / Hide Table of Contents

Class ExternalSolver

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

Inheritance
Object
ExternalSolver
Implements
ISolver
Namespace: ZeroInstall.Services.Solvers
Assembly: ZeroInstall.Services.dll
Syntax
public class ExternalSolver : Object, ISolver
Remarks

This class is immutable and thread-safe.

Constructors

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

Declaration
public ExternalSolver(ISolver backingSolver, ISelectionsManager selectionsManager, IFetcher fetcher, IExecutor executor, IFeedManager feedManager, ITaskHandler handler, Requirements solverRequirements)
Parameters
Type Name Description
ISolver backingSolver
ISelectionsManager selectionsManager
IFetcher fetcher
IExecutor executor
IFeedManager feedManager
ITaskHandler handler
Requirements solverRequirements

Methods

Solve(Requirements)

Provides Selections that satisfy a set of Requirements.

Declaration
public Selections Solve(Requirements requirements)
Parameters
Type Name Description
Requirements requirements

The requirements to satisfy.

Returns
Type Description
Selections

The selected ImplementationSelections.

Remarks

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

Exceptions
Type Condition
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.

Implements

ISolver
In This Article
Back to top Copyright Bastian Eicher et al