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
ImplementationSelectionThe implementation selection to look up.
Returns
- ExternalImplementation
The ExternalImplementation;
null
ifselection
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
PackageImplementationThe 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.