Table of Contents

Class MenuEntry

Namespace
ZeroInstall.DesktopIntegration.AccessPoints
Assembly
ZeroInstall.DesktopIntegration.dll

Creates an entry for an application in the user's application menu (i.e. Windows start menu, GNOME application menu, etc.).

[Equatable]
public class MenuEntry : IconAccessPoint, IEquatable<XmlUnknown>, ICloneable<AccessPoint>, IEquatable<CommandAccessPoint>, IEquatable<MenuEntry>
Inheritance
MenuEntry
Implements
Inherited Members

Fields

AltName

public const string AltName = "menu"

Field Value

string

TagName

public const string TagName = "menu-entry"

Field Value

string

Properties

Category

The category or folder in the menu to add the entry to. Leave empty for top-level entry.

public string? Category { get; set; }

Property Value

string

Methods

Apply(AppEntry, Feed, IIconStore, bool)

Applies this access point to the current machine.

public override void Apply(AppEntry appEntry, Feed feed, IIconStore iconStore, bool machineWide)

Parameters

appEntry AppEntry

The application being integrated.

feed Feed

The feed providing additional metadata, icons, etc. for the application.

iconStore IIconStore

Stores icon files downloaded from the web as local files.

machineWide bool

Apply the configuration machine-wide instead of just for the current user.

Exceptions

KeyNotFoundException

An AccessPoint reference to a Capability is invalid.

OperationCanceledException

The user canceled the task.

IOException

A problem occurred while writing to the filesystem or registry.

WebException

A problem occurred while downloading additional data (such as icons).

UnauthorizedAccessException

Write access to the filesystem or registry is not permitted.

Clone()

Creates a deep copy of this AccessPoint instance.

public override AccessPoint Clone()

Returns

AccessPoint

The new copy of the AccessPoint.

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.

Equals(MenuEntry?)

protected bool Equals(MenuEntry? other)

Parameters

other MenuEntry

Returns

bool

GetConflictIDs(AppEntry)

Retrieves identifiers from a namespace global to all AccessPoints. Collisions in this namespace indicate that the respective AccessPoints are in conflict cannot be applied on a system at the same time.

public override IEnumerable<string> GetConflictIDs(AppEntry appEntry)

Parameters

appEntry AppEntry

The application entry containing this access point.

Returns

IEnumerable<string>

Remarks

These identifiers are not guaranteed to stay the same between versions. They should not be stored in files but instead always generated on demand.

Exceptions

KeyNotFoundException

An AccessPoint reference to a Capability is invalid.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

Unapply(AppEntry, bool)

Unapply this access point on the current machine.

public override void Unapply(AppEntry appEntry, bool machineWide)

Parameters

appEntry AppEntry

The application entry containing this access point.

machineWide bool

Apply the configuration machine-wide instead of just for the current user.

Exceptions

KeyNotFoundException

An AccessPoint reference to a Capability is invalid.

IOException

A problem occurred while writing to the filesystem or registry.

UnauthorizedAccessException

Write access to the filesystem or registry is not permitted.

Operators

operator ==(MenuEntry?, MenuEntry?)

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

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

Parameters

left MenuEntry

The left object

right MenuEntry

The right object

Returns

bool

true if the objects are equal; otherwise, false.

operator !=(MenuEntry?, MenuEntry?)

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

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

Parameters

left MenuEntry

The left object

right MenuEntry

The right object

Returns

bool

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