C# Class ZeroInstall.Services.Solvers.ExternalSolver

Uses an external process controlled via a IPC to solve requirements. The external process is itself provided by another ISolver.
This class is immutable and thread-safe.
Inheritance: ISolver
显示文件 Open project: 0install/0install-win

Public Methods

Method Description
ExternalSolver ( [ backingSolver, [ selectionsManager, [ fetcher, [ executor, [ config, [ feedManager, [ handler ) : System

Creates a new external JSON solver.

Solve ( Requirements requirements ) : Selections

Private Methods

Method Description
DoConfirm ( string message ) : string
DoConfirmKeys ( FeedUri feedUri, string[][]>.Dictionary keys ) : string
GetEffectiveRequirements ( Requirements requirements ) : Requirements
GetStartInfo ( ) : ProcessStartInfo

Method Details

ExternalSolver() public method

Creates a new external JSON solver.
public ExternalSolver ( [ backingSolver, [ selectionsManager, [ fetcher, [ executor, [ config, [ feedManager, [ handler ) : System
backingSolver [ An internal solver used to find an implementation of the external solver.
selectionsManager [ Used to check whether the external solver is already in the cache.
fetcher [ Used to download implementations of the external solver.
executor [ Used to launch the external solver.
config [ User settings controlling network behaviour, solving, etc.
feedManager [ Provides access to remote and local s. Handles downloading, signature verification and caching.
handler [ A callback object used when the the user needs to be asked questions or informed about download and IO tasks.
return System

Solve() public method

public Solve ( Requirements requirements ) : Selections
requirements Requirements
return Selections