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
ISolverselectionsManager
ISelectionsManagerfetcher
IFetcherexecutor
IExecutorfeedManager
IFeedManagerhandler
ITaskHandlersolverRequirements
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
RequirementsThe 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
.