Namespace ZeroInstall.Model
Data model for the Zero Install feed format.
Note
NuGet package: ZeroInstall.Model
The ZeroInstall.Model namespace contains the data model for the feed format with the Feed class as the entry point. The ZeroInstall.Model.Capabilities namespace contains the data model for the capabilities extension.
Namespaces
- ZeroInstall.Model.Capabilities
Extends the feed format with structures for describing application capabilities. This forms the basis for desktop integration.
- ZeroInstall.Model.Design
TypeConverters used for serialization and to provide a better runtime experience when using PropertyGrids.
- ZeroInstall.Model.Preferences
Structures for user-specified preferences and overrides for interfaces, feeds and implementations.
- ZeroInstall.Model.Selection
Structures for representing Solver results.
Classes
- 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.
- 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.
- 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.
- 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.
- 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.
- InterfaceReference
A reference to an interface URI, e.g. for specifying which interface this feed implements or by which interface it is replaced.
- KnownDistributions
Well-known OS distributions.
- ManifestDigestPartialEqualityComparer
Uses PartialEquals(ManifestDigest) to compare ManifestDigests.
- ManifestDigestPartialEqualityComparer<T>
Uses PartialEquals(ManifestDigest) to compare ImplementationBases.
- ModelUtils
Provides utility methods for interface and feed URIs.
- 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.
- TargetBase
Abstract base class for Element and FeedReference. Contains language and architecture parameters.
- 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.0as a part of a VersionRange.
- VersionRangePartExclude
An exclusion like
!2.0as a part of a VersionRange.
- VersionRangePartRange
A version range like
1.0..!2.0as 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.
- ZeroInstallDeployment
Registers and discovers Zero Install deployments on this system.
- ZeroInstallEnvironment
Provides access to Zero Install-related environment variables.
Structs
- Architecture
Describes a combination of an operating system and a CPU architecture.
- FeedTarget
Associates a FeedUri with the Feed data acquired from there.
- ManifestDigest
A manifest digest is a means of uniquely identifying an Implementation and verifying its contents.
- VersionDottedList
Represents a dotted-list part of a ImplementationVersion.
- VersionPart
Represents a part of a ImplementationVersion containing nothing, a VersionModifier, a DottedList or both.
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.
Enums
- Cpu
Describes a CPU architecture.
- CpuGroup
Describes a group of CPU architectures that can be combined within a single process.
- Importance
Describes how important a dependency is (i.e. whether ignoring it is an option).
- OS
Describes an operating system family.
- Stability
A stability rating for an Implementation.