Namespace ZeroInstall.Model
Data model for the Zero Install feed format.
NuGet package: ZeroInstall.Model
Classes
Architecture
Describes a combination of an operating system and a CPU architecture.
ArchitectureExtensions
Contains extension methods for Architecture, OS and Cpu.
Archive
Retrieves an implementation by downloading and extracting an archive.
Arg
A single command-line arguments to be passed to an executable.
ArgBase
Common base class for Arg and ForEachArgs.
Binding
Bindings specify how the chosen implementation is made known to the running program.
Catalog
Contains a list of Feeds, reduced to only contain information relevant for overview lists.
Category
An application category (e.g. Game or Office). Used for organizing application menus.
Command
A command says how to run an Implementation as a program.
Constraint
Restricts the set of versions from which the injector may choose an Implementation.
CopyFromStep
Copies files or directories from another implementation specified elsewhere in the same feed.
Cpu
Describes a CPU architecture.
Dependency
A reference to an interface that is required as dependency.
DependencyContainerExtensions
Provides extension methods for IDependencyContainer.
DownloadRetrievalMethod
Represents a retrieval method that downloads data from the net.
Element
Abstract base class for ImplementationBase and Group. Contains those parameters that can be transferred from a Group to an Implementation.
ElementCollectionExtensions
Provides extension methods for Element collections.
EntryPoint
Associates a Command with a user-friendly name and description.
EnvironmentBinding
Make a chosen Implementation available by setting environment variables.
EnvironmentMode
ExecutableInBinding
Make a chosen Implementation available as an executable at runtime.
ExecutableInPath
Make a chosen Implementation available as an executable in the search PATH.
ExecutableInVar
Make a chosen Implementation available as an executable path in an environment variable.
Feed
A feed contains all the information required to download and execute an application.
FeedElement
Abstract base class for XML serializable classes that are part of the Zero Install feed model.
FeedReference
A linked feed that contains more implementations of this interface. Is treated by the solver as if it were part of the main feed.
FeedTarget
Associates a FeedUri with the Feed data acquired from there.
FeedUri
Represents a feed or interface URI or local path. Unlike Uri this class only accepts HTTP(S) URLs and absolute local paths.
ForEachArgs
Expands an environment variable to multiple arguments. The variable specified in ItemFrom is split using Separator and the Arguments are added once for each item.
GenericBinding
Zero Install will not know how to run a program using generic bindings itself, but it will include them in any selections documents it creates, which can then be executed by your custom code.
Group
All attributes of a group are inherited by any child Groups and Implementations as defaults, but can be overridden there. All Dependencys and Bindings are inherited (sub-groups may add more Dependencys and Bindings to the list, but cannot remove any).
Icon
An icon representing the application. Used in the Catalog GUI as well as for desktop icons, menu entries, etc..
IconExtensions
Provides extensions methods related to Icons.
Implementation
An implementation is a specific version of an application that can be downloaded and executed (e.g. Firefox 3.6 for Windows).
ImplementationBase
Information for identifying an implementation of a Feed. Common base for Implementation and ImplementationSelection.
ImplementationVersion
Represents a version number consisting of dot-separated decimals and optional modifier strings.
Importance
Describes how important a dependency is (i.e. whether ignoring it is an option).
InterfaceReference
A reference to an interface URI, e.g. for specifying which interface this feed implements or by which interface it is replaced.
ManifestDigest
A manifest digest is a means of uniquely identifying an Implementation and verifying its contents.
ManifestDigestPartialEqualityComparer
Uses PartialEquals(ManifestDigest) to compare ManifestDigests.
ManifestDigestPartialEqualityComparer<T>
Uses PartialEquals(ManifestDigest) to compare ImplementationBases.
ModelUtils
Provides utility methods for interface and feed URIs.
OS
Describes an operating system family.
OverlayBinding
Make a chosen Implementation available by overlaying it onto another part of the file-system.
PackageImplementation
An implementation provided by a distribution-specific package manager instead of Zero Install.
Recipe
Retrieves an implementation by applying a list of IRecipeSteps, such as downloading and combining multiple archives.
RemoveStep
Removes or moves a file or directory. It is an error if the path is outside the implementation.
RenameStep
Renames or moves a file or directory. It is an error if the source or destination are outside the implementation.
Requirements
A set of requirements/restrictions imposed by the user on the Implementation selection process. Used as input for the solver.
Restriction
Restricts the versions of an Implementation that are allowed without creating a dependency on the implementation if its was not already chosen.
RetrievalMethod
A retrieval method is a way of getting a copy of an Implementation.
Runner
A special kind of dependency: the program that is used to run this one. For example, a Python program might specify Python as its runner.
SingleFile
Retrieves an implementation by downloading a single file.
Stability
A stability rating for an Implementation.
TargetBase
Abstract base class for Element and FeedReference. Contains language and architecture parameters.
VersionDottedList
Represents a dotted-list part of a ImplementationVersion.
VersionModifier
VersionPart
Represents a part of a ImplementationVersion containing nothing, a VersionModifier, a DottedList or both.
VersionRange
Represents a (possibly disjoint) set of ranges of ImplementationVersions.
VersionRangePart
Represents an individual non-disjoint part of a VersionRange.
VersionRangePartExact
An exact version number like 2.0
as a part of a VersionRange.
VersionRangePartExclude
An exclusion like !2.0
as a part of a VersionRange.
VersionRangePartRange
A version range like 1.0..!2.0
as a part of a VersionRange.
WorkingDir
Switches the working directory of a process on startup to a location within an implementation. Useful for supporting legacy Windows applications which do not properly locate their installation directory.
XmlUnknown
Abstract base class for XML serializable classes that are intended to retain any unknown XML elements or attributes loaded from an XML file.
ZeroInstallEnvironment
Provides access to Zero Install-related environment variables.
Interfaces
IArgBaseContainer
An object that contains ArgBases.
IBindingContainer
An object that contains Bindings.
IDependencyContainer
An object that contains Dependencys and Restrictions.
IDescriptionContainer
An object that has localizable descriptions.
IElementContainer
An object that contains Groups and Implementations. Supports a composite pattern.
IIconContainer
An object that contains Iconss.
IInterfaceUri
An object that contains an interface URI.
IInterfaceUriBindingContainer
An object that contains an interface URI string.
IRecipeStep
A retrieval step is a part of a Recipe.
ISummaryContainer
An object that has localizable summaries and descriptions.