Table of Contents

Class AppEntry

Namespace
ZeroInstall.DesktopIntegration
Assembly
ZeroInstall.DesktopIntegration.dll

Represents an application in the AppList identified by its interface URI.

[Equatable]
public sealed class AppEntry : XmlUnknown, IEquatable<XmlUnknown>, IMergeable<AppEntry>, ICloneable<AppEntry>, IEquatable<AppEntry>
Inheritance
AppEntry
Implements
Inherited Members

Properties

AccessPoints

A set of AccessPointss to be registered in the desktop environment. Is null if no desktop integration has been performed yet.

public AccessPointList? AccessPoints { get; set; }

Property Value

AccessPointList

AutoUpdate

Set to true to automatically download the newest available version of the application as a regular background task. Update checks will still be performed when the application is launched when set to false.

public bool AutoUpdate { get; set; }

Property Value

bool

CapabilityLists

A set of Capability lists to be registered in the desktop environment. Only compatible architectures are handled.

[Browsable(false)]
[OrderedEquality]
public List<CapabilityList> CapabilityLists { get; }

Property Value

List<CapabilityList>

EffectiveRequirements

The Requirements if it is set, otherwise a basic reference to InterfaceUri.

[Browsable(false)]
[IgnoreEquality]
public Requirements EffectiveRequirements { get; }

Property Value

Requirements

Hostname

A regular expression a computer's hostname must match for this entry to be applied. Enables machine-specific entry filtering.

public string? Hostname { get; set; }

Property Value

string

InterfaceUri

The URI or local path of the interface defining the application or the pet-name if Requirements is set.

public required FeedUri InterfaceUri { get; set; }

Property Value

FeedUri

Name

The name of the application. Usually equal to Name.

public required string Name { get; set; }

Property Value

string

Requirements

A set of requirements/restrictions imposed by the user on the implementation selection process.

[Browsable(false)]
public Requirements? Requirements { get; set; }

Property Value

Requirements

Timestamp

The time this element was last modified. This is used to determine precedence with sync conflicts.

[Browsable(false)]
[IgnoreEquality]
public DateTime Timestamp { get; set; }

Property Value

DateTime

Remarks

This value should be ignored by clone and equality methods.

TimestampUnix

The time this entry was last modified encoded as Unix time (number of seconds since the epoch).

[Browsable(false)]
[IgnoreEquality]
public long TimestampUnix { get; set; }

Property Value

long

Remarks

This value is ignored by clone and equality methods.

Methods

Clone()

Creates a deep copy of this AppEntry instance.

public AppEntry Clone()

Returns

AppEntry

The new copy of the AppEntry.

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

LookupCapability<T>(string)

Retrieves the first Capability that matches a specific type and ID and is compatible with CurrentSystem.

public T LookupCapability<T>(string id) where T : Capability

Parameters

id string

The ID to match.

Returns

T

The first matching Capability.

Type Parameters

T

The capability type to match.

Exceptions

KeyNotFoundException

No capability matching id and T was found.

ToString()

Creates string representation suitable for console output.

public override string ToString()

Returns

string

Operators

operator ==(AppEntry?, AppEntry?)

Indicates whether the object on the left is equal to the object on the right.

public static bool operator ==(AppEntry? left, AppEntry? right)

Parameters

left AppEntry

The left object

right AppEntry

The right object

Returns

bool

true if the objects are equal; otherwise, false.

operator !=(AppEntry?, AppEntry?)

Indicates whether the object on the left is not equal to the object on the right.

public static bool operator !=(AppEntry? left, AppEntry? right)

Parameters

left AppEntry

The left object

right AppEntry

The right object

Returns

bool

true if the objects are not equal; otherwise, false.