Show / Hide Table of Contents

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.

Inheritance
Object
ServiceProvider
ScopedOperation
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
In This Article
Back to top Copyright Bastian Eicher et al