Class ServiceProvider
Instantiates requested services transparently on first use. Handles dependency injection internally. Use exactly one instance of the service provider per user request to ensure consistent state during execution.
Namespace: ZeroInstall.Services
Assembly: ZeroInstall.Services.dll
Syntax
public class ServiceProvider : Object
Remarks
This class is thread-safe.
Constructors
ServiceProvider(ITaskHandler)
Creates a new service provider.
Declaration
public ServiceProvider(ITaskHandler handler)
Parameters
Type | Name | Description |
---|---|---|
ITaskHandler | handler | A callback object used when the the user needs to be asked questions or informed about download and IO tasks. |
Properties
CatalogManager
Provides access to remote and local Catalogs. Handles downloading, signature verification and caching.
Declaration
public virtual ICatalogManager CatalogManager { get; }
Property Value
Type | Description |
---|---|
ICatalogManager |
Config
User settings controlling network behaviour, solving, etc.
Declaration
public virtual Config Config { get; }
Property Value
Type | Description |
---|---|
Config |
Executor
Executes a Selections document as a program using dependency injection.
Declaration
public virtual IExecutor Executor { get; }
Property Value
Type | Description |
---|---|
IExecutor |
FeedCache
Provides access to a cache of Feeds that were downloaded via HTTP(S).
Declaration
public virtual IFeedCache FeedCache { get; }
Property Value
Type | Description |
---|---|
IFeedCache |
FeedManager
Allows configuration of the source used to request Feeds.
Declaration
public virtual IFeedManager FeedManager { get; }
Property Value
Type | Description |
---|---|
IFeedManager |
Fetcher
Used to download missing Implementations.
Declaration
public virtual IFetcher Fetcher { get; }
Property Value
Type | Description |
---|---|
IFetcher |
Handler
A callback object used when the the user needs to be asked questions or informed about download and IO tasks.
Declaration
public ITaskHandler Handler { get; }
Property Value
Type | Description |
---|---|
ITaskHandler |
ImplementationStore
Describes an object that allows the storage and retrieval of Implementation directories.
Declaration
public virtual IImplementationStore ImplementationStore { get; set; }
Property Value
Type | Description |
---|---|
IImplementationStore |
OpenPgp
Provides access to an encryption/signature system compatible with the OpenPGP standard.
Declaration
public virtual IOpenPgp OpenPgp { get; set; }
Property Value
Type | Description |
---|---|
IOpenPgp |
PackageManager
An external package manager that can install PackageImplementations.
Declaration
public virtual IPackageManager PackageManager { get; }
Property Value
Type | Description |
---|---|
IPackageManager |
SelectionCandidateProvider
Generates SelectionCandidates for the Solver to choose among.
Declaration
public virtual ISelectionCandidateProvider SelectionCandidateProvider { get; }
Property Value
Type | Description |
---|---|
ISelectionCandidateProvider |
SelectionsManager
Provides methods for filtering Selections.
Declaration
public virtual ISelectionsManager SelectionsManager { get; }
Property Value
Type | Description |
---|---|
ISelectionsManager |
Solver
Chooses a set of Implementations to satisfy the requirements of a program and its user.
Declaration
public virtual ISolver Solver { get; }
Property Value
Type | Description |
---|---|
ISolver |
TrustManager
Methods for verifying signatures and user trust.
Declaration
public virtual ITrustManager TrustManager { get; }
Property Value
Type | Description |
---|---|
ITrustManager |