Table of Contents

Class CompositePackageManager

Namespace
ZeroInstall.Services.Native
Assembly
ZeroInstall.Services.dll

Combines multiple IPackageManagers as a composite.

public class CompositePackageManager : IPackageManager
Inheritance
CompositePackageManager
Implements
Inherited Members

Remarks

This class is immutable and thread-safe.

Constructors

CompositePackageManager(IEnumerable<IPackageManager>)

Combines multiple IPackageManagers as a composite.

public CompositePackageManager(IEnumerable<IPackageManager> packageManagers)

Parameters

packageManagers IEnumerable<IPackageManager>

A priority-sorted list of IPackageManagers. Queried first-to-last.

Remarks

This class is immutable and thread-safe.

Methods

Lookup(ImplementationSelection)

Looks up the specific ExternalImplementation an ImplementationSelection was based on.

public ExternalImplementation? Lookup(ImplementationSelection selection)

Parameters

selection ImplementationSelection

The implementation selection to look up.

Returns

ExternalImplementation

The ExternalImplementation; null if selection does not refer to a package known to this package manager.

Query(PackageImplementation, params string[])

Queries the package manager for all ExternalImplementations that match a specific PackageImplementation definition.

public IEnumerable<ExternalImplementation> Query(PackageImplementation package, params string[] distributions)

Parameters

package PackageImplementation

The definition of the package to look for.

distributions string[]

Specifies the distributions to check for matching packages. Leave empty to check in all available distributions.

Returns

IEnumerable<ExternalImplementation>