Zero Install .NET API 2.20.0
ZeroInstall.Services.Solvers Namespace Reference

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

Classes

class  BacktrackingSolver
 Uses limited backtracking to solve Requirements. Does not find all possible solutions! More...
 
class  ExternalSolver
 Uses an external process to solve Requirements. The executable for external process is itself provided by another ISolver. More...
 
class  ExternalSolverSession
 An external solver process controlled via a JSON API (https://docs.0install.net/developers/json-api/). More...
 
class  FallbackSolver
 Wraps two solvers always passing requests to the primary one initially and falling back to secondary one should the primary one fail. More...
 
interface  ISelectionCandidateProvider
 Generates SelectionCandidates for ISolvers to choose among. More...
 
interface  ISolver
 Chooses a set of Implementations to satisfy the requirements of a program and its user. More...
 
class  SelectionCandidateComparer
 Ranks SelectionCandidates. More...
 
class  SelectionCandidateProvider
 Generates SelectionCandidates for ISolvers to choose among. More...
 
class  SolverException
 Indicates the ISolver was unable to provide Selections that fulfill the Requirements. More...
 
class  SolverExtensions
 Provides extension methods for ISolver. More...
 
class  SolverRunBase
 Common base class for representing a single run of a solver. More...
 
class  SolverUtils
 Helper functions for ISolver implementations. More...
 

Functions

sealed record SolverDemand (Requirements Requirements, ISelectionCandidateProvider CandidateProvider, Importance Importance=Importance.Essential)
 A demand used by ISolvers internally. Wrapper for Requirements that holds SelectionCandidates. More...
 

Detailed Description

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

Function Documentation

◆ SolverDemand()

sealed record ZeroInstall.Services.Solvers.SolverDemand ( Requirements  Requirements,
ISelectionCandidateProvider  CandidateProvider,
Importance  Importance = Importance.Essential 
)

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

Parameters
RequirementsThe requirements.
CandidateProviderGenerates SelectionCandidates for the Requirements .
ImportanceDescribes how important the demand is (i.e. whether ignoring it is an option).

All candidates for the Requirements, including those that are not suitable.