Table of Contents

Namespace ZeroInstall.Services.Solvers

Solves requirements by selecting a specific combination of implementations from feeds.

Classes

BacktrackingSolver

Uses limited backtracking to solve Requirements. Does not find all possible solutions!

ExternalSolver

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

FallbackSolver

Wraps two solvers always passing requests to the primary one initially and falling back to secondary one should the primary one fail.

SelectionCandidateComparer

Ranks SelectionCandidates.

SelectionCandidateProvider

Generates SelectionCandidates for ISolvers to choose among.

SolverDemand

A demand used by ISolvers internally. Wrapper for Requirements that holds SelectionCandidates.

SolverException

Indicates the ISolver was unable to provide Selections that fulfill the Requirements.

SolverExtensions

Provides extension methods for ISolver.

SolverRunBase

Common base class for representing a single run of a solver.

SolverUtils

Helper functions for ISolver implementations.

Interfaces

ISelectionCandidateProvider

Generates SelectionCandidates for ISolvers to choose among.

ISolver

Chooses a set of Implementations to satisfy the requirements of a program and its user.