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

An implementation provided by a distribution-specific package manager instead of Zero Install. More...

Inheritance diagram for ZeroInstall.Model.PackageImplementation:
ZeroInstall.Model.Element ZeroInstall.Model.TargetBase ZeroInstall.Model.IBindingContainer ZeroInstall.Model.IDependencyContainer NanoByte.Common.ICloneable< Element > ZeroInstall.Model.FeedElement ZeroInstall.Model.XmlUnknown

Public Member Functions

override string ToString ()
 Returns the implementation in the form "Package (Distributions)". Not safe for parsing!
 
PackageImplementation CloneImplementation ()
 Creates a deep copy of this PackageImplementation instance. More...
 
override Element Clone ()
 Creates a deep copy of this PackageImplementation instance. More...
 
bool Equals (PackageImplementation? other)
 
override bool Equals (object? obj)
 
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...
 
virtual void Normalize (FeedUri? feedUri=null)
 Flattens inheritance structures, Converts legacy elements, sets default values, etc.. 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 ()
 

Static Public Attributes

static readonly string[] DistributionNames = {"Arch", "Cygwin", "Darwin", "Debian", "Gentoo", "MacPorts", "Ports", "RPM", "Slack", "Windows"}
 Well-known values for Distributions.
 
- 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

override void EnsureAttributes ()
 Ensures that required values deserialized from XML attributes are set (not null). More...
 
- Protected Member Functions inherited from ZeroInstall.Model.Element
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)
 

Properties

override IEnumerable< ImplementationImplementations [get]
 
string? Package [getset]
 The name of the package in the distribution-specific package manager.
 
List< string > Distributions = new() [get]
 A list of distribution names (e.g. Debian, RPM) where Package applies. Applies everywhere if empty.
 
new? VersionRange Version [getset]
 The range of versions to accept for the specified Package.
 
string DistributionsString [getset]
 Used for XML serialization. More...
 
override? string?? VersionString [getset]
 Used for XML serialization. More...
 
override? string VersionModifier [getset]
 Not used.
 
override DateTime Released [getset]
 Not used.
 
override? string ReleasedString [getset]
 Not used.
 
override Stability Stability [getset]
 Not used.
 
override int RolloutPercentage [getset]
 Not used.
 
- 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 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 provided by a distribution-specific package manager instead of Zero Install.

Any Bindings inside Dependencys for the Feed will be ignored; it is assumed that the requiring component knows how to use the packaged version without further help.

Member Function Documentation

◆ Clone()

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

Creates a deep copy of this PackageImplementation instance.

Returns
The new copy of the PackageImplementation.

Implements ZeroInstall.Model.Element.

◆ CloneImplementation()

PackageImplementation ZeroInstall.Model.PackageImplementation.CloneImplementation ( )
inline

Creates a deep copy of this PackageImplementation instance.

Returns
The new copy of the PackageImplementation.

◆ EnsureAttributes()

override void ZeroInstall.Model.PackageImplementation.EnsureAttributes ( )
inlineprotectedvirtual

Ensures that required values deserialized from XML attributes are set (not null).

Reimplemented from ZeroInstall.Model.Element.

Property Documentation

◆ DistributionsString

string ZeroInstall.Model.PackageImplementation.DistributionsString
getset

Used for XML serialization.

See also
Distributions

◆ VersionString

override? string?? ZeroInstall.Model.PackageImplementation.VersionString
getset

Used for XML serialization.

See also
Version

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