Zero Install .NET API 2.20.0
ZeroInstall.Model.Implementation Class Reference

An implementation is a specific version of an application that can be downloaded and executed (e.g. Firefox 3.6 for Windows). More...

Inheritance diagram for ZeroInstall.Model.Implementation:
ZeroInstall.Model.ImplementationBase ZeroInstall.Model.Element ZeroInstall.Model.TargetBase ZeroInstall.Model.IBindingContainer ZeroInstall.Model.IDependencyContainer NanoByte.Common.ICloneable< Element > ZeroInstall.Model.FeedElement ZeroInstall.Model.XmlUnknown ZeroInstall.Services.Native.ExternalImplementation

Public Member Functions

override void Normalize (FeedUri? feedUri=null)
 Flattens inheritance structures, Converts legacy elements, sets default values, etc.. More...
 
Implementation CloneImplementation ()
 Creates a deep copy of this Implementation instance. More...
 
override Element Clone ()
 Creates a deep copy of this Implementation instance. More...
 
bool Equals (Implementation? other)
 
override bool Equals (object? obj)
 
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.ImplementationBase
override void Normalize (FeedUri? feedUri=null)
 Flattens inheritance structures, Converts legacy elements, sets default values, etc.. More...
 
override string ToString ()
 Returns the implementation in the form "Comma-separated list of set values". Not safe for parsing!
 
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.Element
bool ContainsCommand (string name)
 Determines whether Commands contains a Command with a specific name. More...
 
CommandGetCommand (string name)
 Returns the Command with a specific name. Safe for missing elements. More...
 
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.TargetBase
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.FeedElement
override int GetHashCode ()
 
- Public Member Functions inherited from ZeroInstall.Model.XmlUnknown
string ToShortXml ()
 Returns a shortened XML representation (with attributes but without child elements). More...
 
override int GetHashCode ()
 
- Public Member Functions inherited from NanoByte.Common.ICloneable< Element >
Element Clone ()
 

Properties

override IEnumerable< ImplementationImplementations [get]
 
List< RetrievalMethodRetrievalMethods = new() [get]
 A list of RetrievalMethods for downloading the implementation.
 
- Properties inherited from ZeroInstall.Model.ImplementationBase
string ID = default! [getset]
 A unique identifier for this implementation. Used when storing implementation-specific user preferences.
 
string? LocalPath [getset]
 If the feed file is a local file (the interface 'uri' starts with /) then the local-path attribute may contain the pathname of a local directory (either an absolute path or a path relative to the directory containing the feed file).
 
override ImplementationVersion Version = default! [getset]
 
ManifestDigest ManifestDigest [getset]
 A manifest digest is a means of uniquely identifying an Implementation and verifying its contents.
 
- Properties inherited from ZeroInstall.Model.Element
abstract IEnumerable< ImplementationImplementations [get]
 A flat list of all Implementations contained in this element. May be the element itself or its children.
 
virtual ? ImplementationVersion Version [getset]
 The version number of the implementation.
 
virtual ? string?? VersionString [getset]
 Used for XML serialization. More...
 
virtual ? string VersionModifier [getset]
 A string to be appended to the version. The purpose of this is to allow complex version numbers (such as "1.0-rc2") in older versions of the injector.
 
virtual DateTime Released [getset]
 The date this implementation was made available. For development versions checked out from version control this attribute should not be present.
 
virtual ? string? ReleasedString [getset]
 The string form of Released. Only use this if the string ModelUtils.ContainsTemplateVariables. More...
 
virtual Stability Stability = Stability.Unset [getset]
 The default stability rating for this implementation.
 
virtual int RolloutPercentage [getset]
 The percentage (0-100) of users that should treat this as Model.Stability.Stable. May only be set if Stability is Model.Stability.Unset or Model.Stability.Testing. This can be used to perform staged rollouts.
 
string? License [getset]
 License terms (typically a Trove category, as used on freshmeat.net).
 
string? Main [getset]
 The relative path of an executable inside the implementation that should be executed by default when the interface is run. If an implementation has no main setting, then it cannot be executed without specifying one manually. This typically means that the interface is for a library. More...
 
string? SelfTest [getset]
 The relative path of an executable inside the implementation that can be executed to test the program. The program must be non-interactive (e.g. it can't open any windows or prompt for input). It should return with an exit status of 0 if the tests pass. Any other status indicates failure. More...
 
string? DocDir [getset]
 The relative path of a directory inside the implementation that contains the package's documentation. This is the directory that would end up inside /usr/share/doc on a traditional Linux system.
 
List< DependencyDependencies = new() [get]
 A list of interfaces this implementation depends upon.
 
List< RestrictionRestrictions = new() [get]
 A list of interfaces that are restricted to specific versions when used.
 
List< BindingBindings = new() [get]
 A list of Bindings for Implementations to locate Dependencys.
 
List< CommandCommands = new() [get]
 A list of commands that can be used to launch this implementation. More...
 
Commandthis[string name] [get]
 Returns the Command with a specific name. More...
 
- Properties inherited from ZeroInstall.Model.TargetBase
LanguageSet?? Languages [getset]
 The natural language(s) which an Implementation supports. More...
 
Architecture Architecture [getset]
 For platform-specific binaries, the platform for which an Implementation was compiled. More...
 
string LanguagesString [getset]
 Used for XML serialization. More...
 
string ArchitectureString [getset]
 Used for XML serialization. More...
 
- Properties inherited from ZeroInstall.Model.FeedElement
VersionRangeIfZeroInstallVersion [getset]
 Only process this element if the current Zero Install version matches the range.
 
string??? IfZeroInstallVersionString [getset]
 Used for XML serialization. More...
 
- Properties inherited from ZeroInstall.Model.IBindingContainer
List< BindingBindings [get]
 A list of Bindings for Implementations to locate Dependencys.
 
- Properties inherited from ZeroInstall.Model.IDependencyContainer
List< DependencyDependencies [get]
 A list of interfaces this implementation depends upon.
 
List< RestrictionRestrictions [get]
 A list of interfaces that are restricted to specific versions when used.
 

Additional Inherited Members

- Public Attributes inherited from ZeroInstall.Model.XmlUnknown
XmlAttribute?[] UnknownAttributes
 Contains any unknown additional XML attributes.
 
XmlElement?[] UnknownElements
 Contains any unknown additional XML elements.
 
- Static Public Attributes inherited from ZeroInstall.Model.Element
const string ReleaseDateFormat = "yyyy-MM-dd"
 The string.Format(string,object[]) format used by ReleasedString
 
- Protected Member Functions inherited from ZeroInstall.Model.ImplementationBase
bool Equals (ImplementationBase? other)
 
- Protected Member Functions inherited from ZeroInstall.Model.Element
virtual void EnsureAttributes ()
 Ensures that required values deserialized from XML attributes are set (not null). More...
 
bool Equals (Element? other)
 
- Protected Member Functions inherited from ZeroInstall.Model.TargetBase
bool Equals (TargetBase? other)
 
- Protected Member Functions inherited from ZeroInstall.Model.FeedElement
bool Equals (FeedElement? other)
 
- Protected Member Functions inherited from ZeroInstall.Model.XmlUnknown
void EnsureAttribute (object? value, string attributeName)
 Ensures that a value deserialized from an XML attribute is set (not null). More...
 
void EnsureAttributeSafeID (string? value, string attributeName)
 Ensures that a value deserialized from an XML attribute is set (not null) and only contains alphanumeric characters, spaces ( ), dots (.), underscores (_), hyphens (-) and plus signs (+). More...
 
bool Equals (XmlUnknown? other)
 
- Static Protected Member Functions inherited from ZeroInstall.Model.ImplementationBase
static void CloneFromTo (ImplementationBase from, ImplementationBase to)
 Copies all known values from one instance to another. Helper method for instance cloning.
 
- Static Protected Member Functions inherited from ZeroInstall.Model.Element
static void CloneFromTo (Element from, Element to)
 Copies all known values from one instance to another. Helper method for instance cloning.
 
- Static Protected Member Functions inherited from ZeroInstall.Model.TargetBase
static void CloneFromTo (TargetBase from, TargetBase to)
 Copies all known values from one instance to another. Helper method for instance cloning.
 
- Static Protected Member Functions inherited from ZeroInstall.Model.FeedElement
static bool FilterMismatch (IRecipeStep step)
 Checks whether an element passes the specified IfZeroInstallVersion restriction, if any.
 
- Protected Attributes inherited from ZeroInstall.Model.Element
string? ReleasedVerbatim
 Used to store the unparsed release date string (instead of Released) if it ModelUtils.ContainsTemplateVariables.
 
- Package Functions inherited from ZeroInstall.Model.Element
void InheritFrom (Element parent)
 Transfers attributes from another Element object to this one. Existing values are not replaced. Provides an inheritance-like relation. More...
 
- Static Package Functions inherited from ZeroInstall.Model.FeedElement
static bool FilterMismatch< T > (T element)
 Checks whether an element passes the specified IfZeroInstallVersion restriction, if any. More...
 

Detailed Description

An implementation is a specific version of an application that can be downloaded and executed (e.g. Firefox 3.6 for Windows).

See also
Feed.Elements

Member Function Documentation

◆ Clone()

override Element ZeroInstall.Model.Implementation.Clone ( )
virtual

Creates a deep copy of this Implementation instance.

Returns
The new copy of the Implementation.

Implements ZeroInstall.Model.Element.

◆ CloneImplementation()

Implementation ZeroInstall.Model.Implementation.CloneImplementation ( )
inline

Creates a deep copy of this Implementation instance.

Returns
The new copy of the Implementation.

◆ Normalize()

override void ZeroInstall.Model.Implementation.Normalize ( FeedUri feedUri = null)
inlinevirtual

Flattens inheritance structures, Converts legacy elements, sets default values, etc..

Reimplemented from ZeroInstall.Model.Element.


The documentation for this class was generated from the following file: