Class ExternalSolver
Uses an external process to solve Requirements. The executable for external process is itself provided by another ISolver.
Implements
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 |
|
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 |